sbuild (Debian sbuild) 0.86.3~bpo12+1 (03 November 2024) on debusine-worker-arm64-demeter-10.freexian.com
+==============================================================================+
| datalad 1.1.3-2 (arm64) Sat, 16 Nov 2024 00:08:19 +0000 |
+==============================================================================+
Package: datalad
Version: 1.1.3-2
Source Version: 1.1.3-2
Distribution: sid
Machine Architecture: arm64
Host Architecture: arm64
Build Architecture: arm64
Build Type: binary
I: No tarballs found in /var/lib/debusine/worker/.cache/sbuild
Unpacking /var/lib/debusine/worker/system-images/957781/system.tar.xz to /tmp/tmp.sbuild.hUmWILat4T...
I: NOTICE: Log filtering will replace 'sbuild-unshare-dummy-location' with '<<CHROOT>>'
+------------------------------------------------------------------------------+
| Chroot Setup Commands |
+------------------------------------------------------------------------------+
rm -f /etc/resolv.conf
----------------------
I: Finished running 'rm -f /etc/resolv.conf'.
Finished processing commands.
--------------------------------------------------------------------------------
Copying /tmp/debusine-fetch-exec-upload-b59sk6do/dpkg-dbgsym_1.22.12~1.gbp82cafd_arm64.deb to /<<CHROOT>>...
Copying /tmp/debusine-fetch-exec-upload-b59sk6do/dpkg_1.22.12~1.gbp82cafd_arm64.deb to /<<CHROOT>>...
Copying /tmp/debusine-fetch-exec-upload-b59sk6do/dselect-dbgsym_1.22.12~1.gbp82cafd_arm64.deb to /<<CHROOT>>...
Copying /tmp/debusine-fetch-exec-upload-b59sk6do/dselect_1.22.12~1.gbp82cafd_arm64.deb to /<<CHROOT>>...
Copying /tmp/debusine-fetch-exec-upload-b59sk6do/libdpkg-dev_1.22.12~1.gbp82cafd_arm64.deb to /<<CHROOT>>...
Copying /tmp/debusine-fetch-exec-upload-b59sk6do/dpkg-dev_1.22.12~1.gbp82cafd_all.deb to /<<CHROOT>>...
Copying /tmp/debusine-fetch-exec-upload-b59sk6do/libdpkg-perl_1.22.12~1.gbp82cafd_all.deb to /<<CHROOT>>...
I: NOTICE: Log filtering will replace 'build/datalad-fCpM1x/resolver-g8eBD4' with '<<RESOLVERDIR>>'
+------------------------------------------------------------------------------+
| Update chroot |
+------------------------------------------------------------------------------+
Get:1 file:/build/datalad-fCpM1x/resolver-0JpFyi/apt_archive ./ InRelease
Ign:1 file:/build/datalad-fCpM1x/resolver-0JpFyi/apt_archive ./ InRelease
Get:2 file:/build/datalad-fCpM1x/resolver-0JpFyi/apt_archive ./ Release [606 B]
Get:2 file:/build/datalad-fCpM1x/resolver-0JpFyi/apt_archive ./ Release [606 B]
Get:3 file:/build/datalad-fCpM1x/resolver-0JpFyi/apt_archive ./ Release.gpg
Ign:3 file:/build/datalad-fCpM1x/resolver-0JpFyi/apt_archive ./ Release.gpg
Get:4 file:/build/datalad-fCpM1x/resolver-0JpFyi/apt_archive ./ Packages [9246 B]
Get:5 http://deb.debian.org/debian sid InRelease [202 kB]
Get:6 http://deb.debian.org/debian sid/main arm64 Packages [9951 kB]
Get:7 http://deb.debian.org/debian sid/main arm64 Components [4908 kB]
Fetched 15.1 MB in 2s (6390 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following packages will be upgraded:
apt bsdextrautils bsdutils debianutils dpkg dpkg-dev libapt-pkg6.0t64
libaudit-common libaudit1 libblkid1 libbrotli1 libcap-ng0 libdpkg-perl
libglib2.0-0t64 libmarkdown2 libmount1 libpcre2-8-0 libseccomp2 libselinux1
libsemanage2 libsmartcols1 libuuid1 libxml2 login mount util-linux
26 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 7324 kB/10.8 MB of archives.
After this operation, 604 kB disk space will be freed.
Get:1 http://deb.debian.org/debian sid/main arm64 bsdutils arm64 1:2.40.2-11 [104 kB]
Get:2 file:/build/datalad-fCpM1x/resolver-0JpFyi/apt_archive ./ dpkg 1.22.12~1.gbp82cafd [1513 kB]
Get:3 file:/build/datalad-fCpM1x/resolver-0JpFyi/apt_archive ./ dpkg-dev 1.22.12~1.gbp82cafd [1337 kB]
Get:4 http://deb.debian.org/debian sid/main arm64 debianutils arm64 5.21 [92.1 kB]
Get:5 http://deb.debian.org/debian sid/main arm64 libapt-pkg6.0t64 arm64 2.9.11 [921 kB]
Get:6 file:/build/datalad-fCpM1x/resolver-0JpFyi/apt_archive ./ libdpkg-perl 1.22.12~1.gbp82cafd [647 kB]
Get:7 http://deb.debian.org/debian sid/main arm64 bsdextrautils arm64 2.40.2-11 [91.2 kB]
Get:8 http://deb.debian.org/debian sid/main arm64 libblkid1 arm64 2.40.2-11 [162 kB]
Get:9 http://deb.debian.org/debian sid/main arm64 libmount1 arm64 2.40.2-11 [190 kB]
Get:10 http://deb.debian.org/debian sid/main arm64 libsmartcols1 arm64 2.40.2-11 [135 kB]
Get:11 http://deb.debian.org/debian sid/main arm64 mount arm64 2.40.2-11 [153 kB]
Get:12 http://deb.debian.org/debian sid/main arm64 libuuid1 arm64 2.40.2-11 [35.7 kB]
Get:13 http://deb.debian.org/debian sid/main arm64 util-linux arm64 2.40.2-11 [1170 kB]
Get:14 http://deb.debian.org/debian sid/main arm64 libpcre2-8-0 arm64 10.44-4 [243 kB]
Get:15 http://deb.debian.org/debian sid/main arm64 libselinux1 arm64 3.7-3+b1 [72.1 kB]
Get:16 http://deb.debian.org/debian sid/main arm64 libseccomp2 arm64 2.5.5-1+b3 [46.8 kB]
Get:17 http://deb.debian.org/debian sid/main arm64 apt arm64 2.9.11 [1287 kB]
Get:18 http://deb.debian.org/debian sid/main arm64 libaudit-common all 1:4.0.2-2 [12.7 kB]
Get:19 http://deb.debian.org/debian sid/main arm64 libcap-ng0 arm64 0.8.5-3+b1 [17.0 kB]
Get:20 http://deb.debian.org/debian sid/main arm64 libaudit1 arm64 1:4.0.2-2 [54.2 kB]
Get:21 http://deb.debian.org/debian sid/main arm64 login arm64 1:4.16.0-2+really2.40.2-11 [80.0 kB]
Get:22 http://deb.debian.org/debian sid/main arm64 libbrotli1 arm64 1.1.0-2+b6 [297 kB]
Get:23 http://deb.debian.org/debian sid/main arm64 libglib2.0-0t64 arm64 2.82.2-3 [1411 kB]
Get:24 http://deb.debian.org/debian sid/main arm64 libmarkdown2 arm64 2.2.7-2.1 [33.1 kB]
Get:25 http://deb.debian.org/debian sid/main arm64 libsemanage2 arm64 3.7-2+b1 [84.5 kB]
Get:26 http://deb.debian.org/debian sid/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 7324 kB in 0s (52.9 MB/s)
(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 ... 17129 files and directories currently installed.)
Preparing to unpack .../bsdutils_1%3a2.40.2-11_arm64.deb ...
Unpacking bsdutils (1:2.40.2-11) over (1:2.40.2-10) ...
Setting up bsdutils (1:2.40.2-11) ...
(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 ... 17129 files and directories currently installed.)
Preparing to unpack .../debianutils_5.21_arm64.deb ...
Unpacking debianutils (5.21) over (5.20+b1) ...
Setting up debianutils (5.21) ...
(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 ... 17128 files and directories currently installed.)
Preparing to unpack .../libapt-pkg6.0t64_2.9.11_arm64.deb ...
Unpacking libapt-pkg6.0t64:arm64 (2.9.11) over (2.9.10) ...
Setting up libapt-pkg6.0t64:arm64 (2.9.11) ...
(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 ... 17128 files and directories currently installed.)
Preparing to unpack .../dpkg_1.22.12~1.gbp82cafd_arm64.deb ...
Unpacking dpkg (1.22.12~1.gbp82cafd) over (1.22.11) ...
Setting up dpkg (1.22.12~1.gbp82cafd) ...
(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 ... 17127 files and directories currently installed.)
Preparing to unpack .../bsdextrautils_2.40.2-11_arm64.deb ...
Unpacking bsdextrautils (2.40.2-11) over (2.40.2-10) ...
Preparing to unpack .../libblkid1_2.40.2-11_arm64.deb ...
Unpacking libblkid1:arm64 (2.40.2-11) over (2.40.2-10) ...
Setting up libblkid1:arm64 (2.40.2-11) ...
(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 ... 17123 files and directories currently installed.)
Preparing to unpack .../libmount1_2.40.2-11_arm64.deb ...
Unpacking libmount1:arm64 (2.40.2-11) over (2.40.2-10) ...
Setting up libmount1:arm64 (2.40.2-11) ...
(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 ... 17123 files and directories currently installed.)
Preparing to unpack .../libsmartcols1_2.40.2-11_arm64.deb ...
Unpacking libsmartcols1:arm64 (2.40.2-11) over (2.40.2-10) ...
Setting up libsmartcols1:arm64 (2.40.2-11) ...
(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 ... 17123 files and directories currently installed.)
Preparing to unpack .../mount_2.40.2-11_arm64.deb ...
Unpacking mount (2.40.2-11) over (2.40.2-10) ...
Preparing to unpack .../libuuid1_2.40.2-11_arm64.deb ...
Unpacking libuuid1:arm64 (2.40.2-11) over (2.40.2-10) ...
Setting up libuuid1:arm64 (2.40.2-11) ...
(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 ... 17123 files and directories currently installed.)
Preparing to unpack .../util-linux_2.40.2-11_arm64.deb ...
Unpacking util-linux (2.40.2-11) over (2.40.2-10) ...
Setting up util-linux (2.40.2-11) ...
(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 ... 17120 files and directories currently installed.)
Preparing to unpack .../libpcre2-8-0_10.44-4_arm64.deb ...
Unpacking libpcre2-8-0:arm64 (10.44-4) over (10.42-4+b2) ...
Setting up libpcre2-8-0:arm64 (10.44-4) ...
(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 ... 17119 files and directories currently installed.)
Preparing to unpack .../libselinux1_3.7-3+b1_arm64.deb ...
Unpacking libselinux1:arm64 (3.7-3+b1) over (3.7-3) ...
Setting up libselinux1:arm64 (3.7-3+b1) ...
(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 ... 17120 files and directories currently installed.)
Preparing to unpack .../libseccomp2_2.5.5-1+b3_arm64.deb ...
Unpacking libseccomp2:arm64 (2.5.5-1+b3) over (2.5.5-1+b2) ...
Setting up libseccomp2:arm64 (2.5.5-1+b3) ...
(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 ... 17120 files and directories currently installed.)
Preparing to unpack .../archives/apt_2.9.11_arm64.deb ...
Unpacking apt (2.9.11) over (2.9.10) ...
Setting up apt (2.9.11) ...
(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 ... 17117 files and directories currently installed.)
Preparing to unpack .../libaudit-common_1%3a4.0.2-2_all.deb ...
Unpacking libaudit-common (1:4.0.2-2) over (1:4.0.1-3) ...
Setting up libaudit-common (1:4.0.2-2) ...
(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 ... 17117 files and directories currently installed.)
Preparing to unpack .../libcap-ng0_0.8.5-3+b1_arm64.deb ...
Unpacking libcap-ng0:arm64 (0.8.5-3+b1) over (0.8.5-3) ...
Setting up libcap-ng0:arm64 (0.8.5-3+b1) ...
(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 ... 17118 files and directories currently installed.)
Preparing to unpack .../libaudit1_1%3a4.0.2-2_arm64.deb ...
Unpacking libaudit1:arm64 (1:4.0.2-2) over (1:4.0.1-3) ...
Setting up libaudit1:arm64 (1:4.0.2-2) ...
(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 ... 17118 files and directories currently installed.)
Preparing to unpack .../0-login_1%3a4.16.0-2+really2.40.2-11_arm64.deb ...
Unpacking login (1:4.16.0-2+really2.40.2-11) over (1:4.16.0-2+really2.40.2-10) ...
Preparing to unpack .../1-dpkg-dev_1.22.12~1.gbp82cafd_all.deb ...
Unpacking dpkg-dev (1.22.12~1.gbp82cafd) over (1.22.11) ...
Preparing to unpack .../2-libdpkg-perl_1.22.12~1.gbp82cafd_all.deb ...
Unpacking libdpkg-perl (1.22.12~1.gbp82cafd) over (1.22.11) ...
Preparing to unpack .../3-libbrotli1_1.1.0-2+b6_arm64.deb ...
Unpacking libbrotli1:arm64 (1.1.0-2+b6) over (1.1.0-2+b5) ...
Preparing to unpack .../4-libglib2.0-0t64_2.82.2-3_arm64.deb ...
Unpacking libglib2.0-0t64:arm64 (2.82.2-3) over (2.82.2-2) ...
Preparing to unpack .../5-libmarkdown2_2.2.7-2.1_arm64.deb ...
Unpacking libmarkdown2:arm64 (2.2.7-2.1) over (2.2.7-2+b1) ...
Preparing to unpack .../6-libsemanage2_3.7-2+b1_arm64.deb ...
Unpacking libsemanage2:arm64 (3.7-2+b1) over (3.7-2) ...
Preparing to unpack .../7-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ...
Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) over (2.12.7+dfsg+really2.9.14-0.1) ...
Setting up bsdextrautils (2.40.2-11) ...
Setting up libbrotli1:arm64 (1.1.0-2+b6) ...
Setting up libglib2.0-0t64:arm64 (2.82.2-3) ...
No schema files found: doing nothing.
Setting up libdpkg-perl (1.22.12~1.gbp82cafd) ...
Setting up mount (2.40.2-11) ...
Setting up libsemanage2:arm64 (3.7-2+b1) ...
Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ...
Setting up libmarkdown2:arm64 (2.2.7-2.1) ...
Setting up login (1:4.16.0-2+really2.40.2-11) ...
Setting up dpkg-dev (1.22.12~1.gbp82cafd) ...
Processing triggers for man-db (2.13.0-1) ...
Processing triggers for libc-bin (2.40-3) ...
+------------------------------------------------------------------------------+
| Fetch source files |
+------------------------------------------------------------------------------+
Local sources
-------------
/tmp/debusine-fetch-exec-upload-b59sk6do/datalad_1.1.3-2.dsc exists in /tmp/debusine-fetch-exec-upload-b59sk6do; copying to chroot
I: NOTICE: Log filtering will replace 'build/datalad-fCpM1x/datalad-1.1.3' with '<<PKGBUILDDIR>>'
I: NOTICE: Log filtering will replace 'build/datalad-fCpM1x' with '<<BUILDDIR>>'
+------------------------------------------------------------------------------+
| Install package build dependencies |
+------------------------------------------------------------------------------+
Setup apt archive
-----------------
Merged Build-Depends: debhelper (>= 11), dh-python, git-annex (>= 8.20200309~) | git-annex-standalone (>= 8.20200309~), help2man, patool, 7zip (>= 23.01+dfsg-4~) | p7zip-full, python3 (>= 3.7), python3-all, python3-annexremote, python3-argcomplete (>= 1.12.3), python3-boto3, python3-dateutil, python3-distro, python3-fasteners (>= 0.14~), python3-gitlab, python3-html5lib, python3-httpretty, python3-humanize, python3 (>= 3.10) | python3-importlib-metadata (>= 3.6~), python3 (>= 3.9) | python3-importlib-resources (>= 3.0~), python3-iso8601, python3-keyring, python3-keyrings.alt | python3-keyring (<= 8), python3-msgpack, python3-pytest (>= 7.0), python3-packaging, python3-platformdirs, python3-pyperclip, python3-requests, python3-secretstorage, python3-setuptools, python3-tqdm (>= 4.32.0), python3-typing-extensions (>= 3.10.0.2~), python3-vcr, build-essential, fakeroot
Merged Build-Conflicts: git-annex (= 8.20200226-1)
Filtered Build-Depends: debhelper (>= 11), dh-python, git-annex (>= 8.20200309~), help2man, patool, 7zip (>= 23.01+dfsg-4~), python3 (>= 3.7), python3-all, python3-annexremote, python3-argcomplete (>= 1.12.3), python3-boto3, python3-dateutil, python3-distro, python3-fasteners (>= 0.14~), python3-gitlab, python3-html5lib, python3-httpretty, python3-humanize, python3 (>= 3.10), python3 (>= 3.9), python3-iso8601, python3-keyring, python3-keyrings.alt, python3-msgpack, python3-pytest (>= 7.0), python3-packaging, python3-platformdirs, python3-pyperclip, python3-requests, python3-secretstorage, python3-setuptools, python3-tqdm (>= 4.32.0), python3-typing-extensions (>= 3.10.0.2~), python3-vcr, build-essential, fakeroot
Filtered Build-Conflicts: git-annex (= 8.20200226-1)
dpkg-deb: warning: root directory has unusual owner or group 998:999.
Hint: either pass --root-owner-group, see dpkg-build-api(7) or add an explicit 'Rules-Requires-Root: no' in debian/control.
dpkg-deb: warning: ignoring 1 warning about the control file(s)
dpkg-deb: building package 'sbuild-build-depends-main-dummy' in '/<<RESOLVERDIR>>/apt_archive/sbuild-build-depends-main-dummy.deb'.
Ign:1 copy:/<<RESOLVERDIR>>/apt_archive ./ InRelease
Get:2 copy:/<<RESOLVERDIR>>/apt_archive ./ Release [615 B]
Ign:3 copy:/<<RESOLVERDIR>>/apt_archive ./ Release.gpg
Get:4 copy:/<<RESOLVERDIR>>/apt_archive ./ Sources [1469 B]
Get:5 copy:/<<RESOLVERDIR>>/apt_archive ./ Packages [1336 B]
Fetched 3420 B in 0s (300 kB/s)
Reading package lists...
Get:1 file:/<<BUILDDIR>>/resolver-0JpFyi/apt_archive ./ InRelease
Ign:1 file:/<<BUILDDIR>>/resolver-0JpFyi/apt_archive ./ InRelease
Get:2 file:/<<BUILDDIR>>/resolver-0JpFyi/apt_archive ./ Release [606 B]
Get:2 file:/<<BUILDDIR>>/resolver-0JpFyi/apt_archive ./ Release [606 B]
Get:3 file:/<<BUILDDIR>>/resolver-0JpFyi/apt_archive ./ Release.gpg
Ign:3 file:/<<BUILDDIR>>/resolver-0JpFyi/apt_archive ./ Release.gpg
Reading package lists...
Reading package lists...
Install main build dependencies (apt-based resolver)
----------------------------------------------------
Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
7zip adduser autoconf automake autopoint autotools-dev build-essential cpp
cpp-14 cpp-14-aarch64-linux-gnu cpp-aarch64-linux-gnu curl debhelper
dh-autoreconf dh-python dh-strip-nondeterminism dwz fakeroot g++ g++-14
g++-14-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-14
gcc-14-aarch64-linux-gnu gcc-aarch64-linux-gnu git git-annex git-man
help2man libasan8 libc-dev-bin libc6-dev libcbor0.10 libcc1-0 libcrypt-dev
libdebhelper-perl libedit2 libelf1t64 liberror-perl libexpat1 libfakeroot
libfido2-1 libfile-stripnondeterminism-perl libgcc-14-dev libhwasan0 libice6
libisl23 libitm1 liblocale-gettext-perl liblsan0 libmpc3 libmpfr6
libncursesw6 libnsl2 libnuma1 libpopt0 libpython3-stdlib
libpython3.12-minimal libpython3.12-stdlib libpython3.13-minimal
libpython3.13-stdlib libsm6 libstdc++-14-dev libtirpc-common libtirpc3t64
libtool libtsan2 libubsan1 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6
libxext6 libxmu6 libxt6t64 linux-libc-dev lsb-release m4 media-types
openssh-client patool po-debconf python3 python3-all python3-annexremote
python3-argcomplete python3-autocommand python3-bcrypt python3-boto3
python3-botocore python3-certifi python3-cffi-backend python3-chardet
python3-charset-normalizer python3-cryptography python3-dateutil
python3-distro python3-fasteners python3-gitlab python3-html5lib
python3-httpretty python3-humanize python3-idna python3-importlib-metadata
python3-inflect python3-iniconfig python3-iso8601 python3-jaraco.classes
python3-jaraco.context python3-jaraco.functools python3-jaraco.text
python3-jeepney python3-jmespath python3-keyring python3-keyrings.alt
python3-minimal python3-monotonic python3-more-itertools python3-msgpack
python3-multidict python3-packaging python3-pkg-resources
python3-platformdirs python3-pluggy python3-pycryptodome python3-pyperclip
python3-pytest python3-requests python3-requests-toolbelt python3-s3transfer
python3-secretstorage python3-setuptools python3-six python3-tqdm
python3-typeguard python3-typing-extensions python3-urllib3 python3-vcr
python3-webencodings python3-wrapt python3-yaml python3-yarl python3-zipp
python3.12 python3.12-minimal python3.13 python3.13-minimal rpcsvc-proto
rsync x11-common xclip
Suggested packages:
7zip-standalone 7zip-rar cron quota autoconf-archive gnu-standards
autoconf-doc cpp-doc gcc-14-locales cpp-14-doc dh-make flit python3-build
python3-installer python3-wheel gcc-14-doc gcc-multilib manpages-dev flex
bison gdb gcc-doc gdb-aarch64-linux-gnu git-daemon-run | git-daemon-sysvinit
git-doc git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn xdot bup
adb tor magic-wormhole tahoe-lafs libnss-mdns uftp yt-dlp libc-devtools
glibc-doc libstdc++-14-doc libtool-doc gfortran | fortran95-compiler gcj-jdk
m4-doc keychain libpam-ssh monkeysphere ssh-askpass arj cabextract | lcab
ncompress cpio rpm2cpio unace | unace-nonfree | nomarch unalz lrzip lhasa
xdms sharutils flac libarchive-tools archmage genisoimage libmail-box-perl
python3-doc python3-tk python3-venv python-charset-normalizer-doc
python-cryptography-doc python3-cryptography-vectors python-gitlab-doc
python3-genshi python3-lxml gir1.2-secret-1 gnome-keyring libkf5wallet-bin
python3-dbus python3-gi python3-shtab python3-openssl python3-socks
python-requests-doc default-dbus-session-bus | dbus-session-bus
gnome-keyring | libkf5wallet-bin | keepassxc python-secretstorage-doc
python-setuptools-doc python3-brotli python3.12-venv python3.12-doc
binfmt-support python3.13-venv python3.13-doc openssh-server
python3-braceexpand
Recommended packages:
less lsof gnupg bind9-host git-remote-gcrypt nocache aria2 manpages
manpages-dev libarchive-cpio-perl libgpm2 libltdl-dev xauth
libmail-sendmail-perl python3-pygments
The following NEW packages will be installed:
7zip adduser autoconf automake autopoint autotools-dev build-essential cpp
cpp-14 cpp-14-aarch64-linux-gnu cpp-aarch64-linux-gnu curl debhelper
dh-autoreconf dh-python dh-strip-nondeterminism dwz fakeroot g++ g++-14
g++-14-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-14
gcc-14-aarch64-linux-gnu gcc-aarch64-linux-gnu git git-annex git-man
help2man libasan8 libc-dev-bin libc6-dev libcbor0.10 libcc1-0 libcrypt-dev
libdebhelper-perl libedit2 libelf1t64 liberror-perl libexpat1 libfakeroot
libfido2-1 libfile-stripnondeterminism-perl libgcc-14-dev libhwasan0 libice6
libisl23 libitm1 liblocale-gettext-perl liblsan0 libmpc3 libmpfr6
libncursesw6 libnsl2 libnuma1 libpopt0 libpython3-stdlib
libpython3.12-minimal libpython3.12-stdlib libpython3.13-minimal
libpython3.13-stdlib libsm6 libstdc++-14-dev libtirpc-common libtirpc3t64
libtool libtsan2 libubsan1 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6
libxext6 libxmu6 libxt6t64 linux-libc-dev lsb-release m4 media-types
openssh-client patool po-debconf python3 python3-all python3-annexremote
python3-argcomplete python3-autocommand python3-bcrypt python3-boto3
python3-botocore python3-certifi python3-cffi-backend python3-chardet
python3-charset-normalizer python3-cryptography python3-dateutil
python3-distro python3-fasteners python3-gitlab python3-html5lib
python3-httpretty python3-humanize python3-idna python3-importlib-metadata
python3-inflect python3-iniconfig python3-iso8601 python3-jaraco.classes
python3-jaraco.context python3-jaraco.functools python3-jaraco.text
python3-jeepney python3-jmespath python3-keyring python3-keyrings.alt
python3-minimal python3-monotonic python3-more-itertools python3-msgpack
python3-multidict python3-packaging python3-pkg-resources
python3-platformdirs python3-pluggy python3-pycryptodome python3-pyperclip
python3-pytest python3-requests python3-requests-toolbelt python3-s3transfer
python3-secretstorage python3-setuptools python3-six python3-tqdm
python3-typeguard python3-typing-extensions python3-urllib3 python3-vcr
python3-webencodings python3-wrapt python3-yaml python3-yarl python3-zipp
python3.12 python3.12-minimal python3.13 python3.13-minimal rpcsvc-proto
rsync sbuild-build-depends-main-dummy x11-common xclip
0 upgraded, 154 newly installed, 0 to remove and 0 not upgraded.
Need to get 117 MB of archives.
After this operation, 598 MB of additional disk space will be used.
Get:1 copy:/<<RESOLVERDIR>>/apt_archive ./ sbuild-build-depends-main-dummy 0.invalid.0 [1168 B]
Get:2 http://deb.debian.org/debian sid/main arm64 liblocale-gettext-perl arm64 1.07-7+b1 [15.2 kB]
Get:3 http://deb.debian.org/debian sid/main arm64 libpython3.12-minimal arm64 3.12.7-3 [808 kB]
Get:4 http://deb.debian.org/debian sid/main arm64 libexpat1 arm64 2.6.4-1 [90.7 kB]
Get:5 http://deb.debian.org/debian sid/main arm64 python3.12-minimal arm64 3.12.7-3 [1940 kB]
Get:6 http://deb.debian.org/debian sid/main arm64 python3-minimal arm64 3.12.7-1 [26.8 kB]
Get:7 http://deb.debian.org/debian sid/main arm64 media-types all 10.1.0 [26.9 kB]
Get:8 http://deb.debian.org/debian sid/main arm64 libncursesw6 arm64 6.5-2+b1 [125 kB]
Get:9 http://deb.debian.org/debian sid/main arm64 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB]
Get:10 http://deb.debian.org/debian sid/main arm64 libtirpc3t64 arm64 1.3.4+ds-1.3+b1 [78.7 kB]
Get:11 http://deb.debian.org/debian sid/main arm64 libnsl2 arm64 1.3.0-3+b3 [37.9 kB]
Get:12 http://deb.debian.org/debian sid/main arm64 libpython3.12-stdlib arm64 3.12.7-3 [1902 kB]
Get:13 http://deb.debian.org/debian sid/main arm64 python3.12 arm64 3.12.7-3 [671 kB]
Get:14 http://deb.debian.org/debian sid/main arm64 libpython3-stdlib arm64 3.12.7-1 [9708 B]
Get:15 http://deb.debian.org/debian sid/main arm64 python3 arm64 3.12.7-1 [27.8 kB]
Get:16 http://deb.debian.org/debian sid/main arm64 libpython3.13-minimal arm64 3.13.0-2 [850 kB]
Get:17 http://deb.debian.org/debian sid/main arm64 python3.13-minimal arm64 3.13.0-2 [1838 kB]
Get:18 http://deb.debian.org/debian sid/main arm64 libpopt0 arm64 1.19+dfsg-2 [42.8 kB]
Get:19 http://deb.debian.org/debian sid/main arm64 rsync arm64 3.3.0-1+b1 [403 kB]
Get:20 http://deb.debian.org/debian sid/main arm64 adduser all 3.137 [140 kB]
Get:21 http://deb.debian.org/debian sid/main arm64 libedit2 arm64 3.1-20240808-1 [89.2 kB]
Get:22 http://deb.debian.org/debian sid/main arm64 libcbor0.10 arm64 0.10.2-2 [27.4 kB]
Get:23 http://deb.debian.org/debian sid/main arm64 libfido2-1 arm64 1.15.0-1+b1 [74.3 kB]
Get:24 http://deb.debian.org/debian sid/main arm64 openssh-client arm64 1:9.9p1-3 [928 kB]
Get:25 http://deb.debian.org/debian sid/main arm64 7zip arm64 24.08+dfsg-1 [1412 kB]
Get:26 http://deb.debian.org/debian sid/main arm64 m4 arm64 1.4.19-4 [277 kB]
Get:27 http://deb.debian.org/debian sid/main arm64 autoconf all 2.72-3 [493 kB]
Get:28 http://deb.debian.org/debian sid/main arm64 autotools-dev all 20220109.1 [51.6 kB]
Get:29 http://deb.debian.org/debian sid/main arm64 automake all 1:1.16.5-1.3 [823 kB]
Get:30 http://deb.debian.org/debian sid/main arm64 autopoint all 0.22.5-2 [723 kB]
Get:31 http://deb.debian.org/debian sid/main arm64 libc-dev-bin arm64 2.40-3 [50.9 kB]
Get:32 http://deb.debian.org/debian sid/main arm64 linux-libc-dev all 6.11.7-1 [2454 kB]
Get:33 http://deb.debian.org/debian sid/main arm64 libcrypt-dev arm64 1:4.4.36-5 [122 kB]
Get:34 http://deb.debian.org/debian sid/main arm64 rpcsvc-proto arm64 1.4.3-1+b1 [60.5 kB]
Get:35 http://deb.debian.org/debian sid/main arm64 libc6-dev arm64 2.40-3 [1591 kB]
Get:36 http://deb.debian.org/debian sid/main arm64 libisl23 arm64 0.27-1 [601 kB]
Get:37 http://deb.debian.org/debian sid/main arm64 libmpfr6 arm64 4.2.1-1+b2 [680 kB]
Get:38 http://deb.debian.org/debian sid/main arm64 libmpc3 arm64 1.3.1-1+b3 [50.5 kB]
Get:39 http://deb.debian.org/debian sid/main arm64 cpp-14-aarch64-linux-gnu arm64 14.2.0-8 [9166 kB]
Get:40 http://deb.debian.org/debian sid/main arm64 cpp-14 arm64 14.2.0-8 [1284 B]
Get:41 http://deb.debian.org/debian sid/main arm64 cpp-aarch64-linux-gnu arm64 4:14.2.0-1 [4832 B]
Get:42 http://deb.debian.org/debian sid/main arm64 cpp arm64 4:14.2.0-1 [1568 B]
Get:43 http://deb.debian.org/debian sid/main arm64 libcc1-0 arm64 14.2.0-8 [42.2 kB]
Get:44 http://deb.debian.org/debian sid/main arm64 libitm1 arm64 14.2.0-8 [24.2 kB]
Get:45 http://deb.debian.org/debian sid/main arm64 libasan8 arm64 14.2.0-8 [2579 kB]
Get:46 http://deb.debian.org/debian sid/main arm64 liblsan0 arm64 14.2.0-8 [1161 kB]
Get:47 http://deb.debian.org/debian sid/main arm64 libtsan2 arm64 14.2.0-8 [2386 kB]
Get:48 http://deb.debian.org/debian sid/main arm64 libubsan1 arm64 14.2.0-8 [1039 kB]
Get:49 http://deb.debian.org/debian sid/main arm64 libhwasan0 arm64 14.2.0-8 [1442 kB]
Get:50 http://deb.debian.org/debian sid/main arm64 libgcc-14-dev arm64 14.2.0-8 [2365 kB]
Get:51 http://deb.debian.org/debian sid/main arm64 gcc-14-aarch64-linux-gnu arm64 14.2.0-8 [17.7 MB]
Get:52 http://deb.debian.org/debian sid/main arm64 gcc-14 arm64 14.2.0-8 [519 kB]
Get:53 http://deb.debian.org/debian sid/main arm64 gcc-aarch64-linux-gnu arm64 4:14.2.0-1 [1440 B]
Get:54 http://deb.debian.org/debian sid/main arm64 gcc arm64 4:14.2.0-1 [5136 B]
Get:55 http://deb.debian.org/debian sid/main arm64 libstdc++-14-dev arm64 14.2.0-8 [2267 kB]
Get:56 http://deb.debian.org/debian sid/main arm64 g++-14-aarch64-linux-gnu arm64 14.2.0-8 [10.1 MB]
Get:57 http://deb.debian.org/debian sid/main arm64 g++-14 arm64 14.2.0-8 [20.2 kB]
Get:58 http://deb.debian.org/debian sid/main arm64 g++-aarch64-linux-gnu arm64 4:14.2.0-1 [1200 B]
Get:59 http://deb.debian.org/debian sid/main arm64 g++ arm64 4:14.2.0-1 [1332 B]
Get:60 http://deb.debian.org/debian sid/main arm64 build-essential arm64 12.12 [4624 B]
Get:61 http://deb.debian.org/debian sid/main arm64 curl arm64 8.11.0-1 [248 kB]
Get:62 http://deb.debian.org/debian sid/main arm64 libdebhelper-perl all 13.20 [89.7 kB]
Get:63 http://deb.debian.org/debian sid/main arm64 libtool all 2.4.7-8 [517 kB]
Get:64 http://deb.debian.org/debian sid/main arm64 dh-autoreconf all 20 [17.1 kB]
Get:65 http://deb.debian.org/debian sid/main arm64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB]
Get:66 http://deb.debian.org/debian sid/main arm64 dh-strip-nondeterminism all 1.14.0-1 [8448 B]
Get:67 http://deb.debian.org/debian sid/main arm64 libelf1t64 arm64 0.192-4 [189 kB]
Get:68 http://deb.debian.org/debian sid/main arm64 dwz arm64 0.15-1+b1 [102 kB]
Get:69 http://deb.debian.org/debian sid/main arm64 po-debconf all 1.0.21+nmu1 [248 kB]
Get:70 http://deb.debian.org/debian sid/main arm64 debhelper all 13.20 [915 kB]
Get:71 http://deb.debian.org/debian sid/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB]
Get:72 http://deb.debian.org/debian sid/main arm64 python3-more-itertools all 10.5.0-1 [63.8 kB]
Get:73 http://deb.debian.org/debian sid/main arm64 python3-typing-extensions all 4.12.2-2 [73.0 kB]
Get:74 http://deb.debian.org/debian sid/main arm64 python3-zipp all 3.21.0-1 [10.6 kB]
Get:75 http://deb.debian.org/debian sid/main arm64 python3-importlib-metadata all 8.5.0-1 [21.0 kB]
Get:76 http://deb.debian.org/debian sid/main arm64 python3-typeguard all 4.4.1-1 [37.0 kB]
Get:77 http://deb.debian.org/debian sid/main arm64 python3-inflect all 7.3.1-2 [32.4 kB]
Get:78 http://deb.debian.org/debian sid/main arm64 python3-jaraco.context all 6.0.0-1 [7984 B]
Get:79 http://deb.debian.org/debian sid/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB]
Get:80 http://deb.debian.org/debian sid/main arm64 python3-pkg-resources all 75.2.0-1 [213 kB]
Get:81 http://deb.debian.org/debian sid/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB]
Get:82 http://deb.debian.org/debian sid/main arm64 python3-setuptools all 75.2.0-1 [731 kB]
Get:83 http://deb.debian.org/debian sid/main arm64 dh-python all 6.20241024 [109 kB]
Get:84 http://deb.debian.org/debian sid/main arm64 libfakeroot arm64 1.36-1 [29.1 kB]
Get:85 http://deb.debian.org/debian sid/main arm64 fakeroot arm64 1.36-1 [74.4 kB]
Get:86 http://deb.debian.org/debian sid/main arm64 liberror-perl all 0.17029-2 [29.0 kB]
Get:87 http://deb.debian.org/debian sid/main arm64 git-man all 1:2.45.2-1.2 [2159 kB]
Get:88 http://deb.debian.org/debian sid/main arm64 git arm64 1:2.45.2-1.2 [8555 kB]
Get:89 http://deb.debian.org/debian sid/main arm64 libnuma1 arm64 2.0.18-1+b1 [21.8 kB]
Get:90 http://deb.debian.org/debian sid/main arm64 git-annex arm64 10.20241031-1 [16.6 MB]
Get:91 http://deb.debian.org/debian sid/main arm64 help2man arm64 1.49.3+b1 [198 kB]
Get:92 http://deb.debian.org/debian sid/main arm64 x11-common all 1:7.7+23.1 [216 kB]
Get:93 http://deb.debian.org/debian sid/main arm64 libice6 arm64 2:1.1.1-1 [62.1 kB]
Get:94 http://deb.debian.org/debian sid/main arm64 libpython3.13-stdlib arm64 3.13.0-2 [1922 kB]
Get:95 http://deb.debian.org/debian sid/main arm64 libsm6 arm64 2:1.2.4-1 [34.2 kB]
Get:96 http://deb.debian.org/debian sid/main arm64 libxau6 arm64 1:1.0.11-1 [20.6 kB]
Get:97 http://deb.debian.org/debian sid/main arm64 libxdmcp6 arm64 1:1.1.2-3+b2 [24.4 kB]
Get:98 http://deb.debian.org/debian sid/main arm64 libxcb1 arm64 1.17.0-2+b1 [143 kB]
Get:99 http://deb.debian.org/debian sid/main arm64 libx11-data all 2:1.8.10-2 [337 kB]
Get:100 http://deb.debian.org/debian sid/main arm64 libx11-6 arm64 2:1.8.10-2 [789 kB]
Get:101 http://deb.debian.org/debian sid/main arm64 libxext6 arm64 2:1.3.4-1+b2 [49.3 kB]
Get:102 http://deb.debian.org/debian sid/main arm64 libxt6t64 arm64 1:1.2.1-1.2+b1 [173 kB]
Get:103 http://deb.debian.org/debian sid/main arm64 libxmu6 arm64 2:1.1.3-3+b3 [55.6 kB]
Get:104 http://deb.debian.org/debian sid/main arm64 lsb-release all 12.1-1 [5912 B]
Get:105 http://deb.debian.org/debian sid/main arm64 patool all 2.0.0-2 [39.3 kB]
Get:106 http://deb.debian.org/debian sid/main arm64 python3.13 arm64 3.13.0-2 [730 kB]
Get:107 http://deb.debian.org/debian sid/main arm64 python3-all arm64 3.12.7-1 [1052 B]
Get:108 http://deb.debian.org/debian sid/main arm64 python3-annexremote all 1.6.4-2 [15.9 kB]
Get:109 http://deb.debian.org/debian sid/main arm64 python3-argcomplete all 3.5.1-1 [40.1 kB]
Get:110 http://deb.debian.org/debian sid/main arm64 python3-bcrypt arm64 4.2.0-2 [188 kB]
Get:111 http://deb.debian.org/debian sid/main arm64 python3-dateutil all 2.9.0-3 [79.3 kB]
Get:112 http://deb.debian.org/debian sid/main arm64 python3-jmespath all 1.0.1-1 [21.1 kB]
Get:113 http://deb.debian.org/debian sid/main arm64 python3-urllib3 all 2.0.7-2 [111 kB]
Get:114 http://deb.debian.org/debian sid/main arm64 python3-certifi all 2024.8.30+dfsg-1 [9576 B]
Get:115 http://deb.debian.org/debian sid/main arm64 python3-charset-normalizer arm64 3.4.0-1+b1 [129 kB]
Get:116 http://deb.debian.org/debian sid/main arm64 python3-idna all 3.8-2 [41.6 kB]
Get:117 http://deb.debian.org/debian sid/main arm64 python3-chardet all 5.2.0+dfsg-1 [107 kB]
Get:118 http://deb.debian.org/debian sid/main arm64 python3-requests all 2.32.3+dfsg-1 [71.9 kB]
Get:119 http://deb.debian.org/debian sid/main arm64 python3-six all 1.16.0-7 [16.4 kB]
Get:120 http://deb.debian.org/debian sid/main arm64 python3-botocore all 1.34.46+repack-1 [6464 kB]
Get:121 http://deb.debian.org/debian sid/main arm64 python3-s3transfer all 0.10.1-1 [55.6 kB]
Get:122 http://deb.debian.org/debian sid/main arm64 python3-boto3 all 1.34.46+dfsg-1 [269 kB]
Get:123 http://deb.debian.org/debian sid/main arm64 python3-cffi-backend arm64 1.17.1-2+b1 [94.8 kB]
Get:124 http://deb.debian.org/debian sid/main arm64 python3-cryptography arm64 43.0.0-1 [835 kB]
Get:125 http://deb.debian.org/debian sid/main arm64 python3-distro all 1.9.0-1 [20.3 kB]
Get:126 http://deb.debian.org/debian sid/main arm64 python3-monotonic all 1.6-2 [5728 B]
Get:127 http://deb.debian.org/debian sid/main arm64 python3-fasteners all 0.18-2 [14.0 kB]
Get:128 http://deb.debian.org/debian sid/main arm64 python3-requests-toolbelt all 1.0.0-3 [40.2 kB]
Get:129 http://deb.debian.org/debian sid/main arm64 python3-gitlab all 1:4.3.0-1 [72.8 kB]
Get:130 http://deb.debian.org/debian sid/main arm64 python3-webencodings all 0.5.1-5 [11.1 kB]
Get:131 http://deb.debian.org/debian sid/main arm64 python3-html5lib all 1.2-1 [92.2 kB]
Get:132 http://deb.debian.org/debian sid/main arm64 python3-httpretty all 1.1.4-4 [22.7 kB]
Get:133 http://deb.debian.org/debian sid/main arm64 python3-humanize all 4.11.0-1 [52.7 kB]
Get:134 http://deb.debian.org/debian sid/main arm64 python3-iniconfig all 1.1.1-2 [6396 B]
Get:135 http://deb.debian.org/debian sid/main arm64 python3-iso8601 all 2.1.0-2 [12.1 kB]
Get:136 http://deb.debian.org/debian sid/main arm64 python3-jaraco.classes all 3.4.0-1 [7728 B]
Get:137 http://deb.debian.org/debian sid/main arm64 python3-jeepney all 0.8.0-4 [32.6 kB]
Get:138 http://deb.debian.org/debian sid/main arm64 python3-secretstorage all 3.3.3-3 [16.1 kB]
Get:139 http://deb.debian.org/debian sid/main arm64 python3-keyring all 25.4.1-1 [54.6 kB]
Get:140 http://deb.debian.org/debian sid/main arm64 python3-pycryptodome arm64 3.20.0+dfsg-3 [1073 kB]
Get:141 http://deb.debian.org/debian sid/main arm64 python3-keyrings.alt all 5.0.2-1 [17.7 kB]
Get:142 http://deb.debian.org/debian sid/main arm64 python3-msgpack arm64 1.0.3-3+b4 [96.8 kB]
Get:143 http://deb.debian.org/debian sid/main arm64 python3-multidict arm64 6.1.0-1+b1 [37.8 kB]
Get:144 http://deb.debian.org/debian sid/main arm64 python3-packaging all 24.1-1 [45.8 kB]
Get:145 http://deb.debian.org/debian sid/main arm64 python3-platformdirs all 4.3.6-1 [16.6 kB]
Get:146 http://deb.debian.org/debian sid/main arm64 python3-pluggy all 1.5.0-1 [26.9 kB]
Get:147 http://deb.debian.org/debian sid/main arm64 xclip arm64 0.13-4+b1 [21.1 kB]
Get:148 http://deb.debian.org/debian sid/main arm64 python3-pyperclip all 1.8.2-2 [13.2 kB]
Get:149 http://deb.debian.org/debian sid/main arm64 python3-pytest all 8.3.3-1 [249 kB]
Get:150 http://deb.debian.org/debian sid/main arm64 python3-tqdm all 4.67.0-1 [90.2 kB]
Get:151 http://deb.debian.org/debian sid/main arm64 python3-wrapt arm64 1.15.0-3+b1 [42.8 kB]
Get:152 http://deb.debian.org/debian sid/main arm64 python3-yaml arm64 6.0.2-1+b1 [148 kB]
Get:153 http://deb.debian.org/debian sid/main arm64 python3-yarl arm64 1.13.1-1 [90.4 kB]
Get:154 http://deb.debian.org/debian sid/main arm64 python3-vcr all 6.0.1-1 [40.1 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 117 MB in 1s (78.5 MB/s)
Selecting previously unselected package liblocale-gettext-perl.
(Reading database ... 17119 files and directories currently installed.)
Preparing to unpack .../liblocale-gettext-perl_1.07-7+b1_arm64.deb ...
Unpacking liblocale-gettext-perl (1.07-7+b1) ...
Selecting previously unselected package libpython3.12-minimal:arm64.
Preparing to unpack .../libpython3.12-minimal_3.12.7-3_arm64.deb ...
Unpacking libpython3.12-minimal:arm64 (3.12.7-3) ...
Selecting previously unselected package libexpat1:arm64.
Preparing to unpack .../libexpat1_2.6.4-1_arm64.deb ...
Unpacking libexpat1:arm64 (2.6.4-1) ...
Selecting previously unselected package python3.12-minimal.
Preparing to unpack .../python3.12-minimal_3.12.7-3_arm64.deb ...
Unpacking python3.12-minimal (3.12.7-3) ...
Setting up libpython3.12-minimal:arm64 (3.12.7-3) ...
Setting up libexpat1:arm64 (2.6.4-1) ...
Setting up python3.12-minimal (3.12.7-3) ...
Selecting previously unselected package python3-minimal.
(Reading database ... 17451 files and directories currently installed.)
Preparing to unpack .../0-python3-minimal_3.12.7-1_arm64.deb ...
Unpacking python3-minimal (3.12.7-1) ...
Selecting previously unselected package media-types.
Preparing to unpack .../1-media-types_10.1.0_all.deb ...
Unpacking media-types (10.1.0) ...
Selecting previously unselected package libncursesw6:arm64.
Preparing to unpack .../2-libncursesw6_6.5-2+b1_arm64.deb ...
Unpacking libncursesw6:arm64 (6.5-2+b1) ...
Selecting previously unselected package libtirpc-common.
Preparing to unpack .../3-libtirpc-common_1.3.4+ds-1.3_all.deb ...
Unpacking libtirpc-common (1.3.4+ds-1.3) ...
Selecting previously unselected package libtirpc3t64:arm64.
Preparing to unpack .../4-libtirpc3t64_1.3.4+ds-1.3+b1_arm64.deb ...
Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3 to /lib/aarch64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64'
Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3.0.0 to /lib/aarch64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64'
Unpacking libtirpc3t64:arm64 (1.3.4+ds-1.3+b1) ...
Selecting previously unselected package libnsl2:arm64.
Preparing to unpack .../5-libnsl2_1.3.0-3+b3_arm64.deb ...
Unpacking libnsl2:arm64 (1.3.0-3+b3) ...
Selecting previously unselected package libpython3.12-stdlib:arm64.
Preparing to unpack .../6-libpython3.12-stdlib_3.12.7-3_arm64.deb ...
Unpacking libpython3.12-stdlib:arm64 (3.12.7-3) ...
Selecting previously unselected package python3.12.
Preparing to unpack .../7-python3.12_3.12.7-3_arm64.deb ...
Unpacking python3.12 (3.12.7-3) ...
Selecting previously unselected package libpython3-stdlib:arm64.
Preparing to unpack .../8-libpython3-stdlib_3.12.7-1_arm64.deb ...
Unpacking libpython3-stdlib:arm64 (3.12.7-1) ...
Setting up python3-minimal (3.12.7-1) ...
Selecting previously unselected package python3.
(Reading database ... 17924 files and directories currently installed.)
Preparing to unpack .../0-python3_3.12.7-1_arm64.deb ...
Unpacking python3 (3.12.7-1) ...
Selecting previously unselected package libpython3.13-minimal:arm64.
Preparing to unpack .../1-libpython3.13-minimal_3.13.0-2_arm64.deb ...
Unpacking libpython3.13-minimal:arm64 (3.13.0-2) ...
Selecting previously unselected package python3.13-minimal.
Preparing to unpack .../2-python3.13-minimal_3.13.0-2_arm64.deb ...
Unpacking python3.13-minimal (3.13.0-2) ...
Selecting previously unselected package libpopt0:arm64.
Preparing to unpack .../3-libpopt0_1.19+dfsg-2_arm64.deb ...
Unpacking libpopt0:arm64 (1.19+dfsg-2) ...
Selecting previously unselected package rsync.
Preparing to unpack .../4-rsync_3.3.0-1+b1_arm64.deb ...
Unpacking rsync (3.3.0-1+b1) ...
Selecting previously unselected package adduser.
Preparing to unpack .../5-adduser_3.137_all.deb ...
Unpacking adduser (3.137) ...
Setting up adduser (3.137) ...
Selecting previously unselected package libedit2:arm64.
(Reading database ... 18416 files and directories currently installed.)
Preparing to unpack .../000-libedit2_3.1-20240808-1_arm64.deb ...
Unpacking libedit2:arm64 (3.1-20240808-1) ...
Selecting previously unselected package libcbor0.10:arm64.
Preparing to unpack .../001-libcbor0.10_0.10.2-2_arm64.deb ...
Unpacking libcbor0.10:arm64 (0.10.2-2) ...
Selecting previously unselected package libfido2-1:arm64.
Preparing to unpack .../002-libfido2-1_1.15.0-1+b1_arm64.deb ...
Unpacking libfido2-1:arm64 (1.15.0-1+b1) ...
Selecting previously unselected package openssh-client.
Preparing to unpack .../003-openssh-client_1%3a9.9p1-3_arm64.deb ...
Unpacking openssh-client (1:9.9p1-3) ...
Selecting previously unselected package 7zip.
Preparing to unpack .../004-7zip_24.08+dfsg-1_arm64.deb ...
Unpacking 7zip (24.08+dfsg-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../005-m4_1.4.19-4_arm64.deb ...
Unpacking m4 (1.4.19-4) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../006-autoconf_2.72-3_all.deb ...
Unpacking autoconf (2.72-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../007-autotools-dev_20220109.1_all.deb ...
Unpacking autotools-dev (20220109.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../008-automake_1%3a1.16.5-1.3_all.deb ...
Unpacking automake (1:1.16.5-1.3) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../009-autopoint_0.22.5-2_all.deb ...
Unpacking autopoint (0.22.5-2) ...
Selecting previously unselected package libc-dev-bin.
Preparing to unpack .../010-libc-dev-bin_2.40-3_arm64.deb ...
Unpacking libc-dev-bin (2.40-3) ...
Selecting previously unselected package linux-libc-dev.
Preparing to unpack .../011-linux-libc-dev_6.11.7-1_all.deb ...
Unpacking linux-libc-dev (6.11.7-1) ...
Selecting previously unselected package libcrypt-dev:arm64.
Preparing to unpack .../012-libcrypt-dev_1%3a4.4.36-5_arm64.deb ...
Unpacking libcrypt-dev:arm64 (1:4.4.36-5) ...
Selecting previously unselected package rpcsvc-proto.
Preparing to unpack .../013-rpcsvc-proto_1.4.3-1+b1_arm64.deb ...
Unpacking rpcsvc-proto (1.4.3-1+b1) ...
Selecting previously unselected package libc6-dev:arm64.
Preparing to unpack .../014-libc6-dev_2.40-3_arm64.deb ...
Unpacking libc6-dev:arm64 (2.40-3) ...
Selecting previously unselected package libisl23:arm64.
Preparing to unpack .../015-libisl23_0.27-1_arm64.deb ...
Unpacking libisl23:arm64 (0.27-1) ...
Selecting previously unselected package libmpfr6:arm64.
Preparing to unpack .../016-libmpfr6_4.2.1-1+b2_arm64.deb ...
Unpacking libmpfr6:arm64 (4.2.1-1+b2) ...
Selecting previously unselected package libmpc3:arm64.
Preparing to unpack .../017-libmpc3_1.3.1-1+b3_arm64.deb ...
Unpacking libmpc3:arm64 (1.3.1-1+b3) ...
Selecting previously unselected package cpp-14-aarch64-linux-gnu.
Preparing to unpack .../018-cpp-14-aarch64-linux-gnu_14.2.0-8_arm64.deb ...
Unpacking cpp-14-aarch64-linux-gnu (14.2.0-8) ...
Selecting previously unselected package cpp-14.
Preparing to unpack .../019-cpp-14_14.2.0-8_arm64.deb ...
Unpacking cpp-14 (14.2.0-8) ...
Selecting previously unselected package cpp-aarch64-linux-gnu.
Preparing to unpack .../020-cpp-aarch64-linux-gnu_4%3a14.2.0-1_arm64.deb ...
Unpacking cpp-aarch64-linux-gnu (4:14.2.0-1) ...
Selecting previously unselected package cpp.
Preparing to unpack .../021-cpp_4%3a14.2.0-1_arm64.deb ...
Unpacking cpp (4:14.2.0-1) ...
Selecting previously unselected package libcc1-0:arm64.
Preparing to unpack .../022-libcc1-0_14.2.0-8_arm64.deb ...
Unpacking libcc1-0:arm64 (14.2.0-8) ...
Selecting previously unselected package libitm1:arm64.
Preparing to unpack .../023-libitm1_14.2.0-8_arm64.deb ...
Unpacking libitm1:arm64 (14.2.0-8) ...
Selecting previously unselected package libasan8:arm64.
Preparing to unpack .../024-libasan8_14.2.0-8_arm64.deb ...
Unpacking libasan8:arm64 (14.2.0-8) ...
Selecting previously unselected package liblsan0:arm64.
Preparing to unpack .../025-liblsan0_14.2.0-8_arm64.deb ...
Unpacking liblsan0:arm64 (14.2.0-8) ...
Selecting previously unselected package libtsan2:arm64.
Preparing to unpack .../026-libtsan2_14.2.0-8_arm64.deb ...
Unpacking libtsan2:arm64 (14.2.0-8) ...
Selecting previously unselected package libubsan1:arm64.
Preparing to unpack .../027-libubsan1_14.2.0-8_arm64.deb ...
Unpacking libubsan1:arm64 (14.2.0-8) ...
Selecting previously unselected package libhwasan0:arm64.
Preparing to unpack .../028-libhwasan0_14.2.0-8_arm64.deb ...
Unpacking libhwasan0:arm64 (14.2.0-8) ...
Selecting previously unselected package libgcc-14-dev:arm64.
Preparing to unpack .../029-libgcc-14-dev_14.2.0-8_arm64.deb ...
Unpacking libgcc-14-dev:arm64 (14.2.0-8) ...
Selecting previously unselected package gcc-14-aarch64-linux-gnu.
Preparing to unpack .../030-gcc-14-aarch64-linux-gnu_14.2.0-8_arm64.deb ...
Unpacking gcc-14-aarch64-linux-gnu (14.2.0-8) ...
Selecting previously unselected package gcc-14.
Preparing to unpack .../031-gcc-14_14.2.0-8_arm64.deb ...
Unpacking gcc-14 (14.2.0-8) ...
Selecting previously unselected package gcc-aarch64-linux-gnu.
Preparing to unpack .../032-gcc-aarch64-linux-gnu_4%3a14.2.0-1_arm64.deb ...
Unpacking gcc-aarch64-linux-gnu (4:14.2.0-1) ...
Selecting previously unselected package gcc.
Preparing to unpack .../033-gcc_4%3a14.2.0-1_arm64.deb ...
Unpacking gcc (4:14.2.0-1) ...
Selecting previously unselected package libstdc++-14-dev:arm64.
Preparing to unpack .../034-libstdc++-14-dev_14.2.0-8_arm64.deb ...
Unpacking libstdc++-14-dev:arm64 (14.2.0-8) ...
Selecting previously unselected package g++-14-aarch64-linux-gnu.
Preparing to unpack .../035-g++-14-aarch64-linux-gnu_14.2.0-8_arm64.deb ...
Unpacking g++-14-aarch64-linux-gnu (14.2.0-8) ...
Selecting previously unselected package g++-14.
Preparing to unpack .../036-g++-14_14.2.0-8_arm64.deb ...
Unpacking g++-14 (14.2.0-8) ...
Selecting previously unselected package g++-aarch64-linux-gnu.
Preparing to unpack .../037-g++-aarch64-linux-gnu_4%3a14.2.0-1_arm64.deb ...
Unpacking g++-aarch64-linux-gnu (4:14.2.0-1) ...
Selecting previously unselected package g++.
Preparing to unpack .../038-g++_4%3a14.2.0-1_arm64.deb ...
Unpacking g++ (4:14.2.0-1) ...
Selecting previously unselected package build-essential.
Preparing to unpack .../039-build-essential_12.12_arm64.deb ...
Unpacking build-essential (12.12) ...
Selecting previously unselected package curl.
Preparing to unpack .../040-curl_8.11.0-1_arm64.deb ...
Unpacking curl (8.11.0-1) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../041-libdebhelper-perl_13.20_all.deb ...
Unpacking libdebhelper-perl (13.20) ...
Selecting previously unselected package libtool.
Preparing to unpack .../042-libtool_2.4.7-8_all.deb ...
Unpacking libtool (2.4.7-8) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../043-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../044-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../045-dh-strip-nondeterminism_1.14.0-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.14.0-1) ...
Selecting previously unselected package libelf1t64:arm64.
Preparing to unpack .../046-libelf1t64_0.192-4_arm64.deb ...
Unpacking libelf1t64:arm64 (0.192-4) ...
Selecting previously unselected package dwz.
Preparing to unpack .../047-dwz_0.15-1+b1_arm64.deb ...
Unpacking dwz (0.15-1+b1) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../048-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../049-debhelper_13.20_all.deb ...
Unpacking debhelper (13.20) ...
Selecting previously unselected package python3-autocommand.
Preparing to unpack .../050-python3-autocommand_2.2.2-3_all.deb ...
Unpacking python3-autocommand (2.2.2-3) ...
Selecting previously unselected package python3-more-itertools.
Preparing to unpack .../051-python3-more-itertools_10.5.0-1_all.deb ...
Unpacking python3-more-itertools (10.5.0-1) ...
Selecting previously unselected package python3-typing-extensions.
Preparing to unpack .../052-python3-typing-extensions_4.12.2-2_all.deb ...
Unpacking python3-typing-extensions (4.12.2-2) ...
Selecting previously unselected package python3-zipp.
Preparing to unpack .../053-python3-zipp_3.21.0-1_all.deb ...
Unpacking python3-zipp (3.21.0-1) ...
Selecting previously unselected package python3-importlib-metadata.
Preparing to unpack .../054-python3-importlib-metadata_8.5.0-1_all.deb ...
Unpacking python3-importlib-metadata (8.5.0-1) ...
Selecting previously unselected package python3-typeguard.
Preparing to unpack .../055-python3-typeguard_4.4.1-1_all.deb ...
Unpacking python3-typeguard (4.4.1-1) ...
Selecting previously unselected package python3-inflect.
Preparing to unpack .../056-python3-inflect_7.3.1-2_all.deb ...
Unpacking python3-inflect (7.3.1-2) ...
Selecting previously unselected package python3-jaraco.context.
Preparing to unpack .../057-python3-jaraco.context_6.0.0-1_all.deb ...
Unpacking python3-jaraco.context (6.0.0-1) ...
Selecting previously unselected package python3-jaraco.functools.
Preparing to unpack .../058-python3-jaraco.functools_4.1.0-1_all.deb ...
Unpacking python3-jaraco.functools (4.1.0-1) ...
Selecting previously unselected package python3-pkg-resources.
Preparing to unpack .../059-python3-pkg-resources_75.2.0-1_all.deb ...
Unpacking python3-pkg-resources (75.2.0-1) ...
Selecting previously unselected package python3-jaraco.text.
Preparing to unpack .../060-python3-jaraco.text_4.0.0-1_all.deb ...
Unpacking python3-jaraco.text (4.0.0-1) ...
Selecting previously unselected package python3-setuptools.
Preparing to unpack .../061-python3-setuptools_75.2.0-1_all.deb ...
Unpacking python3-setuptools (75.2.0-1) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../062-dh-python_6.20241024_all.deb ...
Unpacking dh-python (6.20241024) ...
Selecting previously unselected package libfakeroot:arm64.
Preparing to unpack .../063-libfakeroot_1.36-1_arm64.deb ...
Unpacking libfakeroot:arm64 (1.36-1) ...
Selecting previously unselected package fakeroot.
Preparing to unpack .../064-fakeroot_1.36-1_arm64.deb ...
Unpacking fakeroot (1.36-1) ...
Selecting previously unselected package liberror-perl.
Preparing to unpack .../065-liberror-perl_0.17029-2_all.deb ...
Unpacking liberror-perl (0.17029-2) ...
Selecting previously unselected package git-man.
Preparing to unpack .../066-git-man_1%3a2.45.2-1.2_all.deb ...
Unpacking git-man (1:2.45.2-1.2) ...
Selecting previously unselected package git.
Preparing to unpack .../067-git_1%3a2.45.2-1.2_arm64.deb ...
Unpacking git (1:2.45.2-1.2) ...
Selecting previously unselected package libnuma1:arm64.
Preparing to unpack .../068-libnuma1_2.0.18-1+b1_arm64.deb ...
Unpacking libnuma1:arm64 (2.0.18-1+b1) ...
Selecting previously unselected package git-annex.
Preparing to unpack .../069-git-annex_10.20241031-1_arm64.deb ...
Unpacking git-annex (10.20241031-1) ...
Selecting previously unselected package help2man.
Preparing to unpack .../070-help2man_1.49.3+b1_arm64.deb ...
Unpacking help2man (1.49.3+b1) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../071-x11-common_1%3a7.7+23.1_all.deb ...
Unpacking x11-common (1:7.7+23.1) ...
Selecting previously unselected package libice6:arm64.
Preparing to unpack .../072-libice6_2%3a1.1.1-1_arm64.deb ...
Unpacking libice6:arm64 (2:1.1.1-1) ...
Selecting previously unselected package libpython3.13-stdlib:arm64.
Preparing to unpack .../073-libpython3.13-stdlib_3.13.0-2_arm64.deb ...
Unpacking libpython3.13-stdlib:arm64 (3.13.0-2) ...
Selecting previously unselected package libsm6:arm64.
Preparing to unpack .../074-libsm6_2%3a1.2.4-1_arm64.deb ...
Unpacking libsm6:arm64 (2:1.2.4-1) ...
Selecting previously unselected package libxau6:arm64.
Preparing to unpack .../075-libxau6_1%3a1.0.11-1_arm64.deb ...
Unpacking libxau6:arm64 (1:1.0.11-1) ...
Selecting previously unselected package libxdmcp6:arm64.
Preparing to unpack .../076-libxdmcp6_1%3a1.1.2-3+b2_arm64.deb ...
Unpacking libxdmcp6:arm64 (1:1.1.2-3+b2) ...
Selecting previously unselected package libxcb1:arm64.
Preparing to unpack .../077-libxcb1_1.17.0-2+b1_arm64.deb ...
Unpacking libxcb1:arm64 (1.17.0-2+b1) ...
Selecting previously unselected package libx11-data.
Preparing to unpack .../078-libx11-data_2%3a1.8.10-2_all.deb ...
Unpacking libx11-data (2:1.8.10-2) ...
Selecting previously unselected package libx11-6:arm64.
Preparing to unpack .../079-libx11-6_2%3a1.8.10-2_arm64.deb ...
Unpacking libx11-6:arm64 (2:1.8.10-2) ...
Selecting previously unselected package libxext6:arm64.
Preparing to unpack .../080-libxext6_2%3a1.3.4-1+b2_arm64.deb ...
Unpacking libxext6:arm64 (2:1.3.4-1+b2) ...
Selecting previously unselected package libxt6t64:arm64.
Preparing to unpack .../081-libxt6t64_1%3a1.2.1-1.2+b1_arm64.deb ...
Unpacking libxt6t64:arm64 (1:1.2.1-1.2+b1) ...
Selecting previously unselected package libxmu6:arm64.
Preparing to unpack .../082-libxmu6_2%3a1.1.3-3+b3_arm64.deb ...
Unpacking libxmu6:arm64 (2:1.1.3-3+b3) ...
Selecting previously unselected package lsb-release.
Preparing to unpack .../083-lsb-release_12.1-1_all.deb ...
Unpacking lsb-release (12.1-1) ...
Selecting previously unselected package patool.
Preparing to unpack .../084-patool_2.0.0-2_all.deb ...
Unpacking patool (2.0.0-2) ...
Selecting previously unselected package python3.13.
Preparing to unpack .../085-python3.13_3.13.0-2_arm64.deb ...
Unpacking python3.13 (3.13.0-2) ...
Selecting previously unselected package python3-all.
Preparing to unpack .../086-python3-all_3.12.7-1_arm64.deb ...
Unpacking python3-all (3.12.7-1) ...
Selecting previously unselected package python3-annexremote.
Preparing to unpack .../087-python3-annexremote_1.6.4-2_all.deb ...
Unpacking python3-annexremote (1.6.4-2) ...
Selecting previously unselected package python3-argcomplete.
Preparing to unpack .../088-python3-argcomplete_3.5.1-1_all.deb ...
Unpacking python3-argcomplete (3.5.1-1) ...
Selecting previously unselected package python3-bcrypt.
Preparing to unpack .../089-python3-bcrypt_4.2.0-2_arm64.deb ...
Unpacking python3-bcrypt (4.2.0-2) ...
Selecting previously unselected package python3-dateutil.
Preparing to unpack .../090-python3-dateutil_2.9.0-3_all.deb ...
Unpacking python3-dateutil (2.9.0-3) ...
Selecting previously unselected package python3-jmespath.
Preparing to unpack .../091-python3-jmespath_1.0.1-1_all.deb ...
Unpacking python3-jmespath (1.0.1-1) ...
Selecting previously unselected package python3-urllib3.
Preparing to unpack .../092-python3-urllib3_2.0.7-2_all.deb ...
Unpacking python3-urllib3 (2.0.7-2) ...
Selecting previously unselected package python3-certifi.
Preparing to unpack .../093-python3-certifi_2024.8.30+dfsg-1_all.deb ...
Unpacking python3-certifi (2024.8.30+dfsg-1) ...
Selecting previously unselected package python3-charset-normalizer.
Preparing to unpack .../094-python3-charset-normalizer_3.4.0-1+b1_arm64.deb ...
Unpacking python3-charset-normalizer (3.4.0-1+b1) ...
Selecting previously unselected package python3-idna.
Preparing to unpack .../095-python3-idna_3.8-2_all.deb ...
Unpacking python3-idna (3.8-2) ...
Selecting previously unselected package python3-chardet.
Preparing to unpack .../096-python3-chardet_5.2.0+dfsg-1_all.deb ...
Unpacking python3-chardet (5.2.0+dfsg-1) ...
Selecting previously unselected package python3-requests.
Preparing to unpack .../097-python3-requests_2.32.3+dfsg-1_all.deb ...
Unpacking python3-requests (2.32.3+dfsg-1) ...
Selecting previously unselected package python3-six.
Preparing to unpack .../098-python3-six_1.16.0-7_all.deb ...
Unpacking python3-six (1.16.0-7) ...
Selecting previously unselected package python3-botocore.
Preparing to unpack .../099-python3-botocore_1.34.46+repack-1_all.deb ...
Unpacking python3-botocore (1.34.46+repack-1) ...
Selecting previously unselected package python3-s3transfer.
Preparing to unpack .../100-python3-s3transfer_0.10.1-1_all.deb ...
Unpacking python3-s3transfer (0.10.1-1) ...
Selecting previously unselected package python3-boto3.
Preparing to unpack .../101-python3-boto3_1.34.46+dfsg-1_all.deb ...
Unpacking python3-boto3 (1.34.46+dfsg-1) ...
Selecting previously unselected package python3-cffi-backend:arm64.
Preparing to unpack .../102-python3-cffi-backend_1.17.1-2+b1_arm64.deb ...
Unpacking python3-cffi-backend:arm64 (1.17.1-2+b1) ...
Selecting previously unselected package python3-cryptography.
Preparing to unpack .../103-python3-cryptography_43.0.0-1_arm64.deb ...
Unpacking python3-cryptography (43.0.0-1) ...
Selecting previously unselected package python3-distro.
Preparing to unpack .../104-python3-distro_1.9.0-1_all.deb ...
Unpacking python3-distro (1.9.0-1) ...
Selecting previously unselected package python3-monotonic.
Preparing to unpack .../105-python3-monotonic_1.6-2_all.deb ...
Unpacking python3-monotonic (1.6-2) ...
Selecting previously unselected package python3-fasteners.
Preparing to unpack .../106-python3-fasteners_0.18-2_all.deb ...
Unpacking python3-fasteners (0.18-2) ...
Selecting previously unselected package python3-requests-toolbelt.
Preparing to unpack .../107-python3-requests-toolbelt_1.0.0-3_all.deb ...
Unpacking python3-requests-toolbelt (1.0.0-3) ...
Selecting previously unselected package python3-gitlab.
Preparing to unpack .../108-python3-gitlab_1%3a4.3.0-1_all.deb ...
Unpacking python3-gitlab (1:4.3.0-1) ...
Selecting previously unselected package python3-webencodings.
Preparing to unpack .../109-python3-webencodings_0.5.1-5_all.deb ...
Unpacking python3-webencodings (0.5.1-5) ...
Selecting previously unselected package python3-html5lib.
Preparing to unpack .../110-python3-html5lib_1.2-1_all.deb ...
Unpacking python3-html5lib (1.2-1) ...
Selecting previously unselected package python3-httpretty.
Preparing to unpack .../111-python3-httpretty_1.1.4-4_all.deb ...
Unpacking python3-httpretty (1.1.4-4) ...
Selecting previously unselected package python3-humanize.
Preparing to unpack .../112-python3-humanize_4.11.0-1_all.deb ...
Unpacking python3-humanize (4.11.0-1) ...
Selecting previously unselected package python3-iniconfig.
Preparing to unpack .../113-python3-iniconfig_1.1.1-2_all.deb ...
Unpacking python3-iniconfig (1.1.1-2) ...
Selecting previously unselected package python3-iso8601.
Preparing to unpack .../114-python3-iso8601_2.1.0-2_all.deb ...
Unpacking python3-iso8601 (2.1.0-2) ...
Selecting previously unselected package python3-jaraco.classes.
Preparing to unpack .../115-python3-jaraco.classes_3.4.0-1_all.deb ...
Unpacking python3-jaraco.classes (3.4.0-1) ...
Selecting previously unselected package python3-jeepney.
Preparing to unpack .../116-python3-jeepney_0.8.0-4_all.deb ...
Unpacking python3-jeepney (0.8.0-4) ...
Selecting previously unselected package python3-secretstorage.
Preparing to unpack .../117-python3-secretstorage_3.3.3-3_all.deb ...
Unpacking python3-secretstorage (3.3.3-3) ...
Selecting previously unselected package python3-keyring.
Preparing to unpack .../118-python3-keyring_25.4.1-1_all.deb ...
Unpacking python3-keyring (25.4.1-1) ...
Selecting previously unselected package python3-pycryptodome.
Preparing to unpack .../119-python3-pycryptodome_3.20.0+dfsg-3_arm64.deb ...
Unpacking python3-pycryptodome (3.20.0+dfsg-3) ...
Selecting previously unselected package python3-keyrings.alt.
Preparing to unpack .../120-python3-keyrings.alt_5.0.2-1_all.deb ...
Unpacking python3-keyrings.alt (5.0.2-1) ...
Selecting previously unselected package python3-msgpack.
Preparing to unpack .../121-python3-msgpack_1.0.3-3+b4_arm64.deb ...
Unpacking python3-msgpack (1.0.3-3+b4) ...
Selecting previously unselected package python3-multidict.
Preparing to unpack .../122-python3-multidict_6.1.0-1+b1_arm64.deb ...
Unpacking python3-multidict (6.1.0-1+b1) ...
Selecting previously unselected package python3-packaging.
Preparing to unpack .../123-python3-packaging_24.1-1_all.deb ...
Unpacking python3-packaging (24.1-1) ...
Selecting previously unselected package python3-platformdirs.
Preparing to unpack .../124-python3-platformdirs_4.3.6-1_all.deb ...
Unpacking python3-platformdirs (4.3.6-1) ...
Selecting previously unselected package python3-pluggy.
Preparing to unpack .../125-python3-pluggy_1.5.0-1_all.deb ...
Unpacking python3-pluggy (1.5.0-1) ...
Selecting previously unselected package xclip.
Preparing to unpack .../126-xclip_0.13-4+b1_arm64.deb ...
Unpacking xclip (0.13-4+b1) ...
Selecting previously unselected package python3-pyperclip.
Preparing to unpack .../127-python3-pyperclip_1.8.2-2_all.deb ...
Unpacking python3-pyperclip (1.8.2-2) ...
Selecting previously unselected package python3-pytest.
Preparing to unpack .../128-python3-pytest_8.3.3-1_all.deb ...
Unpacking python3-pytest (8.3.3-1) ...
Selecting previously unselected package python3-tqdm.
Preparing to unpack .../129-python3-tqdm_4.67.0-1_all.deb ...
Unpacking python3-tqdm (4.67.0-1) ...
Selecting previously unselected package python3-wrapt.
Preparing to unpack .../130-python3-wrapt_1.15.0-3+b1_arm64.deb ...
Unpacking python3-wrapt (1.15.0-3+b1) ...
Selecting previously unselected package python3-yaml.
Preparing to unpack .../131-python3-yaml_6.0.2-1+b1_arm64.deb ...
Unpacking python3-yaml (6.0.2-1+b1) ...
Selecting previously unselected package python3-yarl.
Preparing to unpack .../132-python3-yarl_1.13.1-1_arm64.deb ...
Unpacking python3-yarl (1.13.1-1) ...
Selecting previously unselected package python3-vcr.
Preparing to unpack .../133-python3-vcr_6.0.1-1_all.deb ...
Unpacking python3-vcr (6.0.1-1) ...
Selecting previously unselected package sbuild-build-depends-main-dummy.
Preparing to unpack .../134-sbuild-build-depends-main-dummy_0.invalid.0_arm64.deb ...
Unpacking sbuild-build-depends-main-dummy (0.invalid.0) ...
Setting up media-types (10.1.0) ...
Setting up libfile-stripnondeterminism-perl (1.14.0-1) ...
Setting up libxau6:arm64 (1:1.0.11-1) ...
Setting up libxdmcp6:arm64 (1:1.1.2-3+b2) ...
Setting up libxcb1:arm64 (1.17.0-2+b1) ...
Setting up libcbor0.10:arm64 (0.10.2-2) ...
Setting up libtirpc-common (1.3.4+ds-1.3) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up libdebhelper-perl (13.20) ...
Setting up libedit2:arm64 (3.1-20240808-1) ...
Setting up x11-common (1:7.7+23.1) ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: WARNING: No init system and policy-rc.d missing! Defaulting to block.
Setting up linux-libc-dev (6.11.7-1) ...
Setting up m4 (1.4.19-4) ...
Setting up 7zip (24.08+dfsg-1) ...
Setting up libfakeroot:arm64 (1.36-1) ...
Setting up libelf1t64:arm64 (0.192-4) ...
Setting up fakeroot (1.36-1) ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
Setting up liberror-perl (0.17029-2) ...
Setting up libpython3.13-minimal:arm64 (3.13.0-2) ...
Setting up autotools-dev (20220109.1) ...
Setting up rpcsvc-proto (1.4.3-1+b1) ...
Setting up libx11-data (2:1.8.10-2) ...
Setting up libmpfr6:arm64 (4.2.1-1+b2) ...
Setting up libmpc3:arm64 (1.3.1-1+b3) ...
Setting up autopoint (0.22.5-2) ...
Setting up libncursesw6:arm64 (6.5-2+b1) ...
Setting up autoconf (2.72-3) ...
Setting up libubsan1:arm64 (14.2.0-8) ...
Setting up dh-strip-nondeterminism (1.14.0-1) ...
Setting up libnuma1:arm64 (2.0.18-1+b1) ...
Setting up dwz (0.15-1+b1) ...
Setting up libhwasan0:arm64 (14.2.0-8) ...
Setting up libcrypt-dev:arm64 (1:4.4.36-5) ...
Setting up libasan8:arm64 (14.2.0-8) ...
Setting up python3.13-minimal (3.13.0-2) ...
Setting up git-man (1:2.45.2-1.2) ...
Setting up libx11-6:arm64 (2:1.8.10-2) ...
Setting up curl (8.11.0-1) ...
Setting up libtsan2:arm64 (14.2.0-8) ...
Setting up lsb-release (12.1-1) ...
Setting up libfido2-1:arm64 (1.15.0-1+b1) ...
Setting up libisl23:arm64 (0.27-1) ...
Setting up libc-dev-bin (2.40-3) ...
Setting up libpython3.13-stdlib:arm64 (3.13.0-2) ...
Setting up libcc1-0:arm64 (14.2.0-8) ...
Setting up liblocale-gettext-perl (1.07-7+b1) ...
Setting up liblsan0:arm64 (14.2.0-8) ...
Setting up libitm1:arm64 (14.2.0-8) ...
Setting up libpopt0:arm64 (1.19+dfsg-2) ...
Setting up automake (1:1.16.5-1.3) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up libice6:arm64 (2:1.1.1-1) ...
Setting up libtirpc3t64:arm64 (1.3.4+ds-1.3+b1) ...
Setting up python3.13 (3.13.0-2) ...
Setting up openssh-client (1:9.9p1-3) ...
Setting up libxext6:arm64 (2:1.3.4-1+b2) ...
Setting up help2man (1.49.3+b1) ...
Setting up git (1:2.45.2-1.2) ...
Setting up cpp-14-aarch64-linux-gnu (14.2.0-8) ...
Setting up libnsl2:arm64 (1.3.0-3+b3) ...
Setting up libc6-dev:arm64 (2.40-3) ...
Setting up libgcc-14-dev:arm64 (14.2.0-8) ...
Setting up libstdc++-14-dev:arm64 (14.2.0-8) ...
Setting up libsm6:arm64 (2:1.2.4-1) ...
Setting up rsync (3.3.0-1+b1) ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: WARNING: No init system and policy-rc.d missing! Defaulting to block.
Setting up libpython3.12-stdlib:arm64 (3.12.7-3) ...
Setting up python3.12 (3.12.7-3) ...
Setting up cpp-aarch64-linux-gnu (4:14.2.0-1) ...
Setting up libxt6t64:arm64 (1:1.2.1-1.2+b1) ...
Setting up cpp-14 (14.2.0-8) ...
Setting up cpp (4:14.2.0-1) ...
Setting up git-annex (10.20241031-1) ...
Setting up gcc-14-aarch64-linux-gnu (14.2.0-8) ...
Setting up libpython3-stdlib:arm64 (3.12.7-1) ...
Setting up gcc-aarch64-linux-gnu (4:14.2.0-1) ...
Setting up libxmu6:arm64 (2:1.1.3-3+b3) ...
Setting up g++-14-aarch64-linux-gnu (14.2.0-8) ...
Setting up python3 (3.12.7-1) ...
Setting up python3-zipp (3.21.0-1) ...
Setting up python3-autocommand (2.2.2-3) ...
Setting up python3-webencodings (0.5.1-5) ...
Setting up python3-platformdirs (4.3.6-1) ...
Setting up python3-multidict (6.1.0-1+b1) ...
Setting up gcc-14 (14.2.0-8) ...
Setting up python3-monotonic (1.6-2) ...
Setting up python3-six (1.16.0-7) ...
Setting up python3-packaging (24.1-1) ...
Setting up python3-iso8601 (2.1.0-2) ...
Setting up python3-certifi (2024.8.30+dfsg-1) ...
Setting up python3-jmespath (1.0.1-1) ...
Setting up python3-idna (3.8-2) ...
Setting up python3-wrapt (1.15.0-3+b1) ...
Setting up xclip (0.13-4+b1) ...
Setting up python3-typing-extensions (4.12.2-2) ...
Setting up python3-fasteners (0.18-2) ...
Setting up python3-html5lib (1.2-1) ...
Setting up python3-jeepney (0.8.0-4) ...
Setting up python3-urllib3 (2.0.7-2) ...
Setting up python3-pluggy (1.5.0-1) ...
Setting up g++-aarch64-linux-gnu (4:14.2.0-1) ...
Setting up python3-dateutil (2.9.0-3) ...
Setting up python3-msgpack (1.0.3-3+b4) ...
Setting up g++-14 (14.2.0-8) ...
Setting up python3-argcomplete (3.5.1-1) ...
Setting up python3-yarl (1.13.1-1) ...
Setting up python3-cffi-backend:arm64 (1.17.1-2+b1) ...
Setting up python3-more-itertools (10.5.0-1) ...
Setting up python3-iniconfig (1.1.1-2) ...
Setting up python3-httpretty (1.1.4-4) ...
Setting up python3-jaraco.classes (3.4.0-1) ...
Setting up patool (2.0.0-2) ...
Setting up python3-annexremote (1.6.4-2) ...
Setting up python3-importlib-metadata (8.5.0-1) ...
Setting up python3-jaraco.functools (4.1.0-1) ...
Setting up python3-distro (1.9.0-1) ...
Setting up python3-jaraco.context (6.0.0-1) ...
Setting up libtool (2.4.7-8) ...
Setting up python3-charset-normalizer (3.4.0-1+b1) ...
Setting up python3-pytest (8.3.3-1) ...
Setting up python3-pycryptodome (3.20.0+dfsg-3) ...
Setting up python3-bcrypt (4.2.0-2) ...
Setting up python3-tqdm (4.67.0-1) ...
Setting up python3-typeguard (4.4.1-1) ...
Setting up python3-all (3.12.7-1) ...
Setting up python3-yaml (6.0.2-1+b1) ...
Setting up python3-pyperclip (1.8.2-2) ...
Setting up gcc (4:14.2.0-1) ...
Setting up dh-autoreconf (20) ...
Setting up python3-inflect (7.3.1-2) ...
Setting up python3-jaraco.text (4.0.0-1) ...
Setting up python3-cryptography (43.0.0-1) ...
Setting up python3-vcr (6.0.1-1) ...
Setting up g++ (4:14.2.0-1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up build-essential (12.12) ...
Setting up python3-pkg-resources (75.2.0-1) ...
Setting up python3-setuptools (75.2.0-1) ...
Setting up debhelper (13.20) ...
Setting up python3-chardet (5.2.0+dfsg-1) ...
Setting up python3-secretstorage (3.3.3-3) ...
Setting up python3-requests (2.32.3+dfsg-1) ...
Setting up python3-keyring (25.4.1-1) ...
Setting up python3-humanize (4.11.0-1) ...
Setting up dh-python (6.20241024) ...
Setting up python3-requests-toolbelt (1.0.0-3) ...
Setting up python3-botocore (1.34.46+repack-1) ...
Setting up python3-keyrings.alt (5.0.2-1) ...
Setting up python3-gitlab (1:4.3.0-1) ...
Setting up python3-s3transfer (0.10.1-1) ...
Setting up python3-boto3 (1.34.46+dfsg-1) ...
Setting up sbuild-build-depends-main-dummy (0.invalid.0) ...
Processing triggers for man-db (2.13.0-1) ...
Processing triggers for libc-bin (2.40-3) ...
+------------------------------------------------------------------------------+
| Check architectures |
+------------------------------------------------------------------------------+
Arch check ok (arm64 included in all)
+------------------------------------------------------------------------------+
| Build environment |
+------------------------------------------------------------------------------+
Kernel: Linux 6.1.0-27-cloud-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) arm64 (aarch64)
Toolchain package versions: binutils_2.43.1-5 dpkg-dev_1.22.12~1.gbp82cafd g++-14_14.2.0-8 gcc-14_14.2.0-8 libc6-dev_2.40-3 libstdc++-14-dev_14.2.0-8 libstdc++6_14.2.0-8 linux-libc-dev_6.11.7-1
Package versions: 7zip_24.08+dfsg-1 adduser_3.137 appstream_1.0.3-1+b1 apt_2.9.11 autoconf_2.72-3 automake_1:1.16.5-1.3 autopoint_0.22.5-2 autotools-dev_20220109.1 base-files_13.5 base-passwd_3.6.5 bash_5.2.32-1+b2 binutils_2.43.1-5 binutils-aarch64-linux-gnu_2.43.1-5 binutils-common_2.43.1-5 bsdextrautils_2.40.2-11 bsdutils_1:2.40.2-11 build-essential_12.12 bzip2_1.0.8-6 ca-certificates_20240203 coreutils_9.5-1+b1 cpp_4:14.2.0-1 cpp-14_14.2.0-8 cpp-14-aarch64-linux-gnu_14.2.0-8 cpp-aarch64-linux-gnu_4:14.2.0-1 curl_8.11.0-1 dash_0.5.12-9+b1 debconf_1.5.87 debhelper_13.20 debian-archive-keyring_2023.4 debianutils_5.21 dh-autoreconf_20 dh-python_6.20241024 dh-strip-nondeterminism_1.14.0-1 diffstat_1.66-1+b1 diffutils_1:3.10-1+b1 dpkg_1.22.12~1.gbp82cafd dpkg-dev_1.22.12~1.gbp82cafd dwz_0.15-1+b1 e2fsprogs_1.47.1-1+b1 fakeroot_1.36-1 file_1:5.45-3+b1 findutils_4.10.0-3 g++_4:14.2.0-1 g++-14_14.2.0-8 g++-14-aarch64-linux-gnu_14.2.0-8 g++-aarch64-linux-gnu_4:14.2.0-1 gcc_4:14.2.0-1 gcc-14_14.2.0-8 gcc-14-aarch64-linux-gnu_14.2.0-8 gcc-14-base_14.2.0-8 gcc-aarch64-linux-gnu_4:14.2.0-1 gettext_0.22.5-2 gettext-base_0.22.5-2 git_1:2.45.2-1.2 git-annex_10.20241031-1 git-man_1:2.45.2-1.2 gpg_2.2.45-2 gpgconf_2.2.45-2 gpgv_2.2.45-2 grep_3.11-4+b1 groff-base_1.23.0-5 gzip_1.12-1.1+b1 help2man_1.49.3+b1 hostname_3.25 init-system-helpers_1.67 intltool-debian_0.35.0+20060710.6 iso-codes_4.17.0-1 libacl1_2.3.2-2+b1 libaliased-perl_0.34-3 libappstream5_1.0.3-1+b1 libapt-pkg-perl_0.1.40+b6 libapt-pkg6.0t64_2.9.11 libarchive-zip-perl_1.68-1 libasan8_14.2.0-8 libassuan9_3.0.1-2 libatomic1_14.2.0-8 libattr1_1:2.5.2-2 libaudit-common_1:4.0.2-2 libaudit1_1:4.0.2-2 libb-hooks-endofscope-perl_0.28-1 libb-hooks-op-check-perl_0.22-3+b2 libberkeleydb-perl_0.66-1 libbinutils_2.43.1-5 libblkid1_2.40.2-11 libbrotli1_1.1.0-2+b6 libbsd0_0.12.2-2 libbz2-1.0_1.0.8-6 libc-bin_2.40-3 libc-dev-bin_2.40-3 libc6_2.40-3 libc6-dev_2.40-3 libcap-ng0_0.8.5-3+b1 libcap2_1:2.66-5+b1 libcapture-tiny-perl_0.48-2 libcbor0.10_0.10.2-2 libcc1-0_14.2.0-8 libcgi-pm-perl_4.66-1 libclass-data-inheritable-perl_0.10-1 libclass-inspector-perl_1.36-3 libclass-method-modifiers-perl_2.15-1 libclass-xsaccessor-perl_1.19-4+b4 libclone-perl_0.47-1+b1 libcom-err2_1.47.1-1+b1 libconfig-tiny-perl_2.30-1 libconst-fast-perl_0.014-2 libcpanel-json-xs-perl_4.38-1+b1 libcrypt-dev_1:4.4.36-5 libcrypt1_1:4.4.36-5 libctf-nobfd0_2.43.1-5 libctf0_2.43.1-5 libcurl3t64-gnutls_8.11.0-1 libdata-dpath-perl_0.60-1 libdata-messagepack-perl_1.02-1+b4 libdata-optlist-perl_0.114-1 libdata-validate-domain-perl_0.15-1 libdata-validate-ip-perl_0.31-1 libdata-validate-uri-perl_0.07-3 libdb5.3t64_5.3.28+dfsg2-9 libdebconfclient0_0.273 libdebhelper-perl_13.20 libdevel-callchecker-perl_0.009-1+b1 libdevel-size-perl_0.84-1+b1 libdevel-stacktrace-perl_2.0500-1 libdpkg-perl_1.22.12~1.gbp82cafd libdynaloader-functions-perl_0.004-1 libedit2_3.1-20240808-1 libelf1t64_0.192-4 libemail-address-xs-perl_1.05-1+b4 libencode-locale-perl_1.05-3 liberror-perl_0.17029-2 libexception-class-perl_1.45-1 libexpat1_2.6.4-1 libext2fs2t64_1.47.1-1+b1 libfakeroot_1.36-1 libffi8_3.4.6-1 libfido2-1_1.15.0-1+b1 libfile-basedir-perl_0.09-2 libfile-find-rule-perl_0.34-3 libfile-listing-perl_6.16-1 libfile-sharedir-perl_1.118-3 libfile-stripnondeterminism-perl_1.14.0-1 libfont-ttf-perl_1.06-2 libgcc-14-dev_14.2.0-8 libgcc-s1_14.2.0-8 libgcrypt20_1.11.0-6 libgdbm-compat4t64_1.24-2 libgdbm6t64_1.24-2 libglib2.0-0t64_2.82.2-3 libgmp10_2:6.3.0+dfsg-2+b2 libgnutls30t64_3.8.8-2 libgomp1_14.2.0-8 libgpg-error0_1.50-4 libgprofng0_2.43.1-5 libgssapi-krb5-2_1.21.3-3 libhogweed6t64_3.10-1+b1 libhtml-form-perl_6.12-1 libhtml-html5-entities-perl_0.004-3 libhtml-parser-perl_3.83-1+b1 libhtml-tagset-perl_3.24-1 libhtml-tokeparser-simple-perl_3.16-4 libhtml-tree-perl_5.07-3 libhttp-cookies-perl_6.11-1 libhttp-date-perl_6.06-1 libhttp-message-perl_7.00-2 libhttp-negotiate-perl_6.01-2 libhwasan0_14.2.0-8 libice6_2:1.1.1-1 libicu72_72.1-5+b1 libidn2-0_2.3.7-2+b1 libimport-into-perl_1.002005-2 libio-html-perl_1.004-3 libio-interactive-perl_1.025-1 libio-socket-ssl-perl_2.089-1 libio-string-perl_1.08-4 libipc-run3-perl_0.049-1 libipc-system-simple-perl_1.30-2 libisl23_0.27-1 libiterator-perl_0.03+ds1-2 libiterator-util-perl_0.02+ds1-2 libitm1_14.2.0-8 libjansson4_2.14-2+b3 libjson-maybexs-perl_1.004008-1 libk5crypto3_1.21.3-3 libkeyutils1_1.6.3-4 libkrb5-3_1.21.3-3 libkrb5support0_1.21.3-3 libldap-2.5-0_2.5.18+dfsg-3+b1 liblist-compare-perl_0.55-2 liblist-someutils-perl_0.59-1 liblist-utilsby-perl_0.12-2 liblocale-gettext-perl_1.07-7+b1 liblsan0_14.2.0-8 liblwp-mediatypes-perl_6.04-2 liblwp-protocol-https-perl_6.14-1 liblz1_1.15~pre2-1 liblz4-1_1.9.4-3+b1 liblzma5_5.6.3-1+b1 liblzo2-2_2.10-3+b1 libmagic-mgc_1:5.45-3+b1 libmagic1t64_1:5.45-3+b1 libmarkdown2_2.2.7-2.1 libmd0_1.1.0-2+b1 libmldbm-perl_2.05-4 libmodule-implementation-perl_0.09-2 libmodule-runtime-perl_0.016-2 libmoo-perl_2.005005-1 libmoox-aliases-perl_0.001006-2 libmount1_2.40.2-11 libmouse-perl_2.5.11-1+b1 libmpc3_1.3.1-1+b3 libmpfr6_4.2.1-1+b2 libnamespace-clean-perl_0.27-2 libncursesw6_6.5-2+b1 libnet-domain-tld-perl_1.75-4 libnet-http-perl_6.23-1 libnet-ipv6addr-perl_1.02-1 libnet-netmask-perl_2.0002-2 libnet-ssleay-perl_1.94-2 libnetaddr-ip-perl_4.079+dfsg-2+b4 libnettle8t64_3.10-1+b1 libnghttp2-14_1.64.0-1 libnghttp3-9_1.4.0-1+b1 libngtcp2-16_1.6.0-1 libngtcp2-crypto-gnutls8_1.6.0-1 libnsl2_1.3.0-3+b3 libnuma1_2.0.18-1+b1 libnumber-compare-perl_0.03-3 libp11-kit0_0.25.5-2+b1 libpackage-stash-perl_0.40-1 libpam-modules_1.5.3-7+b1 libpam-modules-bin_1.5.3-7+b1 libpam-runtime_1.5.3-7 libpam0g_1.5.3-7+b1 libparams-classify-perl_0.015-2+b4 libparams-util-perl_1.102-3+b1 libpath-tiny-perl_0.146-1 libpcre2-8-0_10.44-4 libperl5.40_5.40.0-7 libperlio-gzip-perl_0.20-1+b4 libperlio-utf8-strict-perl_0.010-1+b3 libpipeline1_1.5.8-1 libpopt0_1.19+dfsg-2 libproc-processtable-perl_0.636-1+b3 libpsl5t64_0.21.2-1.1+b1 libpython3-stdlib_3.12.7-1 libpython3.12-minimal_3.12.7-3 libpython3.12-stdlib_3.12.7-3 libpython3.13-minimal_3.13.0-2 libpython3.13-stdlib_3.13.0-2 libreadline8t64_8.2-5 libregexp-wildcards-perl_1.05-3 librole-tiny-perl_2.002004-1 librtmp1_2.4+20151223.gitfa8646d.1-2+b5 libsasl2-2_2.1.28+dfsg1-8 libsasl2-modules-db_2.1.28+dfsg1-8 libseccomp2_2.5.5-1+b3 libselinux1_3.7-3+b1 libsemanage-common_3.7-2 libsemanage2_3.7-2+b1 libsepol2_3.7-1 libsereal-decoder-perl_5.004+ds-1+b3 libsereal-encoder-perl_5.004+ds-1+b3 libsframe1_2.43.1-5 libsm6_2:1.2.4-1 libsmartcols1_2.40.2-11 libsort-versions-perl_1.62-3 libsqlite3-0_3.46.1-1 libss2_1.47.1-1+b1 libssh2-1t64_1.11.1-1 libssl3t64_3.3.2-2 libstdc++-14-dev_14.2.0-8 libstdc++6_14.2.0-8 libstemmer0d_2.2.0-4+b2 libstrictures-perl_2.000006-1 libsub-exporter-perl_0.990-1 libsub-exporter-progressive-perl_0.001013-3 libsub-identify-perl_0.14-3+b3 libsub-install-perl_0.929-1 libsub-name-perl_0.27-1+b3 libsub-quote-perl_2.006008-1 libsyntax-keyword-try-perl_0.30-1+b1 libsystemd0_257~rc1-4 libtasn1-6_4.19.0-3+b3 libterm-readkey-perl_2.38-2+b4 libtext-glob-perl_0.11-3 libtext-levenshteinxs-perl_0.03-5+b4 libtext-markdown-discount-perl_0.16-1+b3 libtext-xslate-perl_3.5.9-2+b1 libtime-duration-perl_1.21-2 libtime-moment-perl_0.44-2+b4 libtimedate-perl_2.3300-2 libtinfo6_6.5-2+b1 libtirpc-common_1.3.4+ds-1.3 libtirpc3t64_1.3.4+ds-1.3+b1 libtool_2.4.7-8 libtry-tiny-perl_0.32-1 libtsan2_14.2.0-8 libubsan1_14.2.0-8 libuchardet0_0.0.8-1+b2 libudev1_257~rc1-4 libunicode-utf8-perl_0.62-2+b3 libunistring5_1.2-1+b1 liburi-perl_5.30-1 libuuid1_2.40.2-11 libvariable-magic-perl_0.64-1+b1 libwww-mechanize-perl_2.19-1 libwww-perl_6.77-1 libwww-robotrules-perl_6.02-1 libx11-6_2:1.8.10-2 libx11-data_2:1.8.10-2 libxau6_1:1.0.11-1 libxcb1_1.17.0-2+b1 libxdmcp6_1:1.1.2-3+b2 libxext6_2:1.3.4-1+b2 libxml-libxml-perl_2.0207+dfsg+really+2.0134-5+b1 libxml-namespacesupport-perl_1.12-2 libxml-sax-base-perl_1.09-3 libxml-sax-perl_1.02+dfsg-3 libxml2_2.12.7+dfsg+really2.9.14-0.2+b1 libxmlb2_0.3.21-1 libxmu6_2:1.1.3-3+b3 libxs-parse-keyword-perl_0.46-1+b1 libxt6t64_1:1.2.1-1.2+b1 libxxhash0_0.8.2-2+b2 libyaml-0-2_0.2.5-1+b2 libyaml-libyaml-perl_0.902.0+ds-2+b1 libzstd1_1.5.6+dfsg-1+b1 lintian_2.120.0 linux-libc-dev_6.11.7-1 login_1:4.16.0-2+really2.40.2-11 login.defs_1:4.16.0-4 logsave_1.47.1-1+b1 lsb-release_12.1-1 lzop_1.04-2+b1 m4_1.4.19-4 make_4.3-4.1+b1 man-db_2.13.0-1 mawk_1.3.4.20240905-1 media-types_10.1.0 mount_2.40.2-11 ncurses-base_6.5-2 ncurses-bin_6.5-2+b1 netbase_6.4 openssh-client_1:9.9p1-3 openssl_3.3.2-2 openssl-provider-legacy_3.3.2-2 passwd_1:4.16.0-4 patch_2.7.6-7+b1 patchutils_0.4.2-1+b1 patool_2.0.0-2 perl_5.40.0-7 perl-base_5.40.0-7 perl-modules-5.40_5.40.0-7 perl-openssl-defaults_7+b2 plzip_1.11-2 po-debconf_1.0.21+nmu1 python3_3.12.7-1 python3-all_3.12.7-1 python3-annexremote_1.6.4-2 python3-argcomplete_3.5.1-1 python3-autocommand_2.2.2-3 python3-bcrypt_4.2.0-2 python3-boto3_1.34.46+dfsg-1 python3-botocore_1.34.46+repack-1 python3-certifi_2024.8.30+dfsg-1 python3-cffi-backend_1.17.1-2+b1 python3-chardet_5.2.0+dfsg-1 python3-charset-normalizer_3.4.0-1+b1 python3-cryptography_43.0.0-1 python3-dateutil_2.9.0-3 python3-distro_1.9.0-1 python3-fasteners_0.18-2 python3-gitlab_1:4.3.0-1 python3-html5lib_1.2-1 python3-httpretty_1.1.4-4 python3-humanize_4.11.0-1 python3-idna_3.8-2 python3-importlib-metadata_8.5.0-1 python3-inflect_7.3.1-2 python3-iniconfig_1.1.1-2 python3-iso8601_2.1.0-2 python3-jaraco.classes_3.4.0-1 python3-jaraco.context_6.0.0-1 python3-jaraco.functools_4.1.0-1 python3-jaraco.text_4.0.0-1 python3-jeepney_0.8.0-4 python3-jmespath_1.0.1-1 python3-keyring_25.4.1-1 python3-keyrings.alt_5.0.2-1 python3-minimal_3.12.7-1 python3-monotonic_1.6-2 python3-more-itertools_10.5.0-1 python3-msgpack_1.0.3-3+b4 python3-multidict_6.1.0-1+b1 python3-packaging_24.1-1 python3-pkg-resources_75.2.0-1 python3-platformdirs_4.3.6-1 python3-pluggy_1.5.0-1 python3-pycryptodome_3.20.0+dfsg-3 python3-pyperclip_1.8.2-2 python3-pytest_8.3.3-1 python3-requests_2.32.3+dfsg-1 python3-requests-toolbelt_1.0.0-3 python3-s3transfer_0.10.1-1 python3-secretstorage_3.3.3-3 python3-setuptools_75.2.0-1 python3-six_1.16.0-7 python3-tqdm_4.67.0-1 python3-typeguard_4.4.1-1 python3-typing-extensions_4.12.2-2 python3-urllib3_2.0.7-2 python3-vcr_6.0.1-1 python3-webencodings_0.5.1-5 python3-wrapt_1.15.0-3+b1 python3-yaml_6.0.2-1+b1 python3-yarl_1.13.1-1 python3-zipp_3.21.0-1 python3.12_3.12.7-3 python3.12-minimal_3.12.7-3 python3.13_3.13.0-2 python3.13-minimal_3.13.0-2 readline-common_8.2-5 rpcsvc-proto_1.4.3-1+b1 rsync_3.3.0-1+b1 sbuild-build-depends-main-dummy_0.invalid.0 sed_4.9-2+b1 sensible-utils_0.0.24 shared-mime-info_2.4-5+b1 sysvinit-utils_3.11-1 t1utils_1.41-4+b1 tar_1.35+dfsg-3+b1 tzdata_2024b-3 ucf_3.0043+nmu1 unzip_6.0-28+b1 util-linux_2.40.2-11 x11-common_1:7.7+23.1 xclip_0.13-4+b1 xz-utils_5.6.3-1+b1 zlib1g_1:1.3.dfsg+really1.3.1-1+b1
+------------------------------------------------------------------------------+
| Build |
+------------------------------------------------------------------------------+
Unpack source
-------------
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 3.0 (quilt)
Source: datalad
Binary: datalad, python3-datalad
Architecture: all
Version: 1.1.3-2
Maintainer: NeuroDebian Team <team@datalad.org>
Uploaders: Yaroslav Halchenko <debian@onerussian.com>, Michael Hanke <mih@debian.org>
Homepage: https://datalad.org
Standards-Version: 4.4.1
Vcs-Browser: https://github.com/datalad/datalad/
Vcs-Git: https://github.com/datalad/datalad.git -b debian
Build-Depends: debhelper (>= 11), dh-python, git-annex (>= 8.20200309~) | git-annex-standalone (>= 8.20200309~), help2man, patool, 7zip (>= 23.01+dfsg-4~) | p7zip-full, python3 (>= 3.7), python3-all, python3-annexremote, python3-argcomplete (>= 1.12.3), python3-boto3, python3-dateutil, python3-distro, python3-fasteners (>= 0.14~), python3-gitlab, python3-html5lib, python3-httpretty, python3-humanize, python3 (>= 3.10) | python3-importlib-metadata (>= 3.6~), python3 (>= 3.9) | python3-importlib-resources (>= 3.0~), python3-iso8601, python3-keyring, python3-keyrings.alt | python3-keyring (<= 8), python3-msgpack, python3-pytest (>= 7.0), python3-packaging, python3-platformdirs, python3-pyperclip, python3-requests, python3-secretstorage, python3-setuptools, python3-tqdm (>= 4.32.0), python3-typing-extensions (>= 3.10.0.2~), python3-vcr
Build-Conflicts: git-annex (= 8.20200226-1)
Package-List:
datalad deb science optional arch=all
python3-datalad deb python optional arch=all
Checksums-Sha1:
514454b5b3033dc8fa3f0696b474ac4c3fd61119 1425043 datalad_1.1.3.orig.tar.gz
5d9d6c414d60c43b0d5e63a85891aa057d0bca4f 18944 datalad_1.1.3-2.debian.tar.xz
Checksums-Sha256:
7b3a39419ac457df94552214ca64092297d544e15576c0be57f5d7ee35fba7ab 1425043 datalad_1.1.3.orig.tar.gz
30d465bd5b5badf3a7c4c35db8e112c8aed7571ee46e7a131faf753bd5ab4a21 18944 datalad_1.1.3-2.debian.tar.xz
Files:
f96190ca07ac2698a011a6fe00097b36 1425043 datalad_1.1.3.orig.tar.gz
3c261c89d2c85378ef654768d0c7329f 18944 datalad_1.1.3-2.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEExbkF8OjZ/ZZo/zZvot4jUGLaM/oFAmbS/KQACgkQot4jUGLa
M/pKnxAAhEWT2pH+xW44XJNSYW9IIuKzMPY+EyarY9F8bWb8SFJtSLRZV0vDrh/Q
F3oP/PFX/g7eeUNLnO7Soeiix1uuozIJYXg5Rn7s3FTDb1fpEtJHTGm9GUZfEtJk
Q8IXYHlV7MKU+EX9hWFdL5s4MXMgEGmEh/kEbt1oxxv1LJpN4nch6wdnpyTY1bXy
Aa10lIjRY3NYwHQxaosoNHKL/9S6tRkKYOw3FL58inYcMaYFZv+MwWgChc8or8ZC
SB9yb2MgmBCygMOXLOjUQQFGOYzl86bEBp7MVClYi+8tHNODzDwOtPzA+PZLbU0V
lPVfOBrx0IR09WBcaYUVnGHWyKLScD/ODMXG+YDw5kzlP5DhKfw5SgHW9KEiAnIS
bbwCI4iPDtT8hlmpdhQ1lWOEi2onhJqjkzyX2PTa3h3p52j4j04RpE4tGmXPU7hv
7TU6Gi27Bgy/HHtos0frJis0Vqy/eBjhvMupjtOeRqkTuxl1MJPNtmKLXOS4yeJR
OsH8Y0PybGlDkD+c9D5b7OKb5uvlJ3zxwp3b64Afp6T7dklTsdHQ6nDkkSua/15h
BmvnNnzIIvqxLWfXAA7TcUTMWNciJM4tG3jgU4PrpHOXVDGehfcPOrsXe+Rwn1AD
Kbe4ZVF9/WZjshr2Kbyld51H6stkIvg85v4BOrq8RUHvg1dZpxY=
=2cMf
-----END PGP SIGNATURE-----
gpgv: Signature made Sat Aug 31 11:21:08 2024 UTC
gpgv: using RSA key C5B905F0E8D9FD9668FF366FA2DE235062DA33FA
gpgv: Can't check signature: No public key
dpkg-source: warning: cannot verify inline signature for ./datalad_1.1.3-2.dsc: no acceptable signature found
dpkg-source: info: extracting datalad in /<<PKGBUILDDIR>>
dpkg-source: info: unpacking datalad_1.1.3.orig.tar.gz
dpkg-source: info: unpacking datalad_1.1.3-2.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying no_self_typing
dpkg-source: info: applying deb_disable_pytest_warn
dpkg-source: info: applying deb_loosenup_setup_requires
dpkg-source: info: applying deb_no_utf8
dpkg-source: info: applying python3.patch
dpkg-source: info: applying deb-looseversion.patch
Check disk space
----------------
Sufficient free space for build
User Environment
----------------
APT_CONFIG=/var/lib/sbuild/apt.conf
HOME=/sbuild-nonexistent
LANG=en_US.UTF-8
LC_ALL=C.UTF-8
LOGNAME=debusine-worker
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SHELL=/bin/sh
USER=debusine-worker
dpkg-buildpackage
-----------------
Command: dpkg-buildpackage -us -uc -b -rfakeroot
dpkg-buildpackage: info: source package datalad
dpkg-buildpackage: info: source version 1.1.3-2
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Yaroslav Halchenko <debian@onerussian.com>
dpkg-source --before-build .
dpkg-buildpackage: info: host architecture arm64
debian/rules clean
dh_clean
rm -f debian/debhelper-build-stamp
rm -rf debian/.debhelper/
rm -f -- debian/datalad.substvars debian/python3-datalad.substvars debian/files
rm -fr -- debian/datalad/ debian/tmp/ debian/python3-datalad/
find . \( \( \
\( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \
\( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \
-o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \
-o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \
-o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \
\) -exec rm -f {} + \) -o \
\( -type d -a \( -name autom4te.cache -o -name __pycache__ \) -prune -exec rm -rf {} + \) \)
rm -rf bin build .pybuild datalad.egg-info .pytest_cache docs/source/generated/man
find . -name '*.pyc' -delete
debian/rules binary
dh binary --with python3 --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# cheap fake of an installed datalad, so we get .egg-info with entry points
/usr/bin/make bin
make[2]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p bin
PYTHONPATH="bin:" python3 setup.py develop --install-dir bin
running develop
/usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` and ``easy_install``.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://github.com/pypa/setuptools/issues/917 for details.
********************************************************************************
!!
easy_install.initialize_options(self)
/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
running egg_info
creating datalad.egg-info
writing datalad.egg-info/PKG-INFO
writing dependency_links to datalad.egg-info/dependency_links.txt
writing entry points to datalad.egg-info/entry_points.txt
writing requirements to datalad.egg-info/requires.txt
writing top-level names to datalad.egg-info/top_level.txt
writing manifest file 'datalad.egg-info/SOURCES.txt'
reading manifest file 'datalad.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'Gruntfile.js'
no previously-included directories found matching '.github'
no previously-included directories found matching 'sandbox'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.gitmodules'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.noannex'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.zenodo.json'
warning: no previously-included files found matching 'CODE_OF_CONDUCT.md'
warning: no previously-included files found matching 'appveyor.yml'
warning: no previously-included files found matching 'readthedocs.yml'
adding license file 'COPYING'
writing manifest file 'datalad.egg-info/SOURCES.txt'
running build_ext
Creating /<<PKGBUILDDIR>>/bin/datalad.egg-link (link to .)
Adding datalad 1.1.3 to easy-install.pth file
Installing datalad script to bin
Installing git-annex-remote-datalad script to bin
Installing git-annex-remote-datalad-archives script to bin
Installing git-annex-remote-ora script to bin
Installing git-annex-remote-ria script to bin
Installing git-credential-datalad script to bin
Installed /<<PKGBUILDDIR>>
Processing dependencies for datalad==1.1.3
Searching for distro==1.9.0
Best match: distro 1.9.0
Adding distro 1.9.0 to easy-install.pth file
Installing distro script to bin
Using /usr/lib/python3/dist-packages
Searching for tqdm==4.67.0
Best match: tqdm 4.67.0
Adding tqdm 4.67.0 to easy-install.pth file
Installing tqdm script to bin
Using /usr/lib/python3/dist-packages
Searching for platformdirs==4.3.6
Best match: platformdirs 4.3.6
Adding platformdirs 4.3.6 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for patool==2.0.0
Best match: patool 2.0.0
Adding patool 2.0.0 to easy-install.pth file
Installing patool script to bin
Using /usr/lib/python3/dist-packages
Searching for packaging==24.1
Best match: packaging 24.1
Adding packaging 24.1 to easy-install.pth file
Using /usr/lib/python3/dist-packages/setuptools/_vendor
Searching for iso8601==2.1.0
Best match: iso8601 2.1.0
Adding iso8601 2.1.0 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for humanize==4.11.0
Best match: humanize 4.11.0
Adding humanize 4.11.0 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for fasteners==0.18
Best match: fasteners 0.18
Adding fasteners 0.18 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for chardet==5.2.0
Best match: chardet 5.2.0
Adding chardet 5.2.0 to easy-install.pth file
Installing chardetect script to bin
Using /usr/lib/python3/dist-packages
Searching for annexremote==1.6.4
Best match: annexremote 1.6.4
Adding annexremote 1.6.4 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Finished processing dependencies for datalad==1.1.3
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
# and leave the rest for dh_python* runs
mkdir -p build; \
export HOME=/<<PKGBUILDDIR>>/build; \
git config --global user.name "TESTING"; \
git config --global user.email "TESTING@example.com"
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build -O--buildsystem=pybuild
pybuild --build -i python{version} -p "3.13 3.12"
I: pybuild base:311: /usr/bin/python3.13 setup.py build
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/api.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/coreapi.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/config.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/log.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/consts.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/cmd.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/dochelpers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/conftest.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
copying datalad/typing.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin
copying datalad/plugin/wtf.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin
copying datalad/plugin/check_dates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin
copying datalad/plugin/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin
copying datalad/plugin/addurls.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin
copying datalad/plugin/export_to_figshare.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin
copying datalad/plugin/export_archive.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin
copying datalad/plugin/add_readme.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin
copying datalad/plugin/no_annex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/dataset
copying datalad/dataset/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/dataset
copying datalad/dataset/gitrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/dataset
copying datalad/dataset/repo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/dataset
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli
copying datalad/cli/renderer.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli
copying datalad/cli/interface.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli
copying datalad/cli/main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli
copying datalad/cli/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli
copying datalad/cli/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli
copying datalad/cli/helpers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli
copying datalad/cli/common_args.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli
copying datalad/cli/exec.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli
copying datalad/cli/parser.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/cache.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/due.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/repodates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/annexrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/stats.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/path.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/network.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/itertools.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/vcr_.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/gitrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/exceptions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/digests.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/keyring_.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/archives.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/external_versions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/constraints.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/status.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/entrypoints.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/s3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/archive_utils_7z.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/param.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/annex_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/due_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/parallel.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/extensions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/strings.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/ansi_colors.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/looseversion.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/globbedpaths.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/collections.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/cookies.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/json_py.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/nda_.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/locking.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/archive_utils_patool.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/sshrun.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
copying datalad/support/sshconnector.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders
copying datalad/downloaders/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders
copying datalad/downloaders/shub.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders
copying datalad/downloaders/credentials.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders
copying datalad/downloaders/base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders
copying datalad/downloaders/s3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders
copying datalad/downloaders/providers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders
copying datalad/downloaders/http.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_cmd.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_constraints.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_s3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_archives.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_dochelpers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_strings.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_utils_cached_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/utils_testrepos.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/heavyoutput.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_config.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/utils_testdatasets.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/utils_pytest.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_api.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/utils_cached_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_direct_mode.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_misc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_installed.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_log.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_interface.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_tests_utils_pytest.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
copying datalad/tests/test_utils_testrepos.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/wtf.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/foreach_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/configuration.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/check_dates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/rerun.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/gitcredential.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/add_archive_content.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/download_url.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/remove.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/addurls.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/subdatasets.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/export_archive.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/add_readme.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/copy_file.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/run_procedure.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/no_annex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/clean.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/gitcredential_datalad.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
copying datalad/local/unlock.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_gogs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/export_archive_ora.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/ora_remote.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/drop.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/export_to_figshare.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_gitea.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_gin.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_ria.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_ghlike.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_github.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_gitlab.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes
copying datalad/customremotes/main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes
copying datalad/customremotes/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes
copying datalad/customremotes/archives.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes
copying datalad/customremotes/base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes
copying datalad/customremotes/ria_remote.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes
copying datalad/customremotes/datalad.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes
copying datalad/customremotes/ria_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner
copying datalad/runner/exception.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner
copying datalad/runner/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner
copying datalad/runner/nonasyncrunner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner
copying datalad/runner/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner
copying datalad/runner/gitrunner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner
copying datalad/runner/runner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner
copying datalad/runner/coreprotocols.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner
copying datalad/runner/protocol.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner
copying datalad/runner/runnerthreads.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/rerun.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/add_archive_content.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/common_opts.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/download_url.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/shell_completion.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/common_cfg.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/results.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/run_procedure.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/clean.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
copying datalad/interface/unlock.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core
copying datalad/core/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/siblings.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/create_sibling.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/install.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/drop.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/remove.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/get.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/subdatasets.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/create_test_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/create_sibling_github.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/uninstall.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
copying datalad/distribution/update.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/ui
copying datalad/ui/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/ui
copying datalad/ui/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/ui
copying datalad/ui/progressbars.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/ui
copying datalad/ui/base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/ui
copying datalad/ui/dialog.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/ui
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cmdline
copying datalad/cmdline/main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cmdline
copying datalad/cmdline/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cmdline
copying datalad/cmdline/helpers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cmdline
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin/tests
copying datalad/plugin/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/plugin/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/dataset/tests
copying datalad/dataset/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/dataset/tests
copying datalad/dataset/tests/test_gitrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/dataset/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_renderer.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/tests
copying datalad/cli/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_formatters.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_parser.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_exec.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_helpers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_interface.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_sshrun.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_sshconnector.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_path.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_json_py.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_annexrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_cookies.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_due_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_status.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_ansi_colors.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_network.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_cache.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_gitrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_digests.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_globbedpaths.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_extensions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_stats.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_external_versions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_repo_save.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_captured_exception.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_repodates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_vcr_.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_fileinfo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_locking.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
copying datalad/support/tests/test_parallel.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/third
copying datalad/support/third/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/third
copying datalad/support/third/loris_token_generator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/third
copying datalad/support/third/nda_aws_token_generator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/third
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_shub.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_providers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_s3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_docker_registry.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_credentials.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_http.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_addurls.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_add_readme.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_copy_file.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_download_url.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_unlock.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_check_dates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_wtf.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_rerun.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_add_archive_content.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_no_annex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_configuration.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_run_procedure.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_gitcredential.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_remove.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_export_archive.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_rerun_merges.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_subdataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_clean.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
copying datalad/local/tests/test_foreach_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_drop.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_gitea.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_github.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_gin.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_ora_http.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_ghlike.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_ria.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_gogs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_ria_git_remote.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_export_to_figshare.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_gitlab.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/ria_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_ria_basics.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_ria.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distributed/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/test_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/test_archives.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/test_datalad.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/test_main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/test_ria_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/customremotes/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_gitrunner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests
copying datalad/runner/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_generatormixin.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_exception.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests
copying datalad/runner/tests/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_threadsafety.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_witless_runner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_nonasyncrunner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/tests
copying datalad/interface/tests/test_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/tests
copying datalad/interface/tests/test_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/tests
copying datalad/interface/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/tests
copying datalad/interface/tests/test_results.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/tests
copying datalad/interface/tests/test_shell_completion.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/tests
copying datalad/interface/tests/test_docs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/resources/procedures
copying datalad/resources/procedures/cfg_noannex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/resources/procedures
copying datalad/resources/procedures/cfg_text2git.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/resources/procedures
copying datalad/resources/procedures/cfg_yoda.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/resources/procedures
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/resources/procedures/tests
copying datalad/resources/procedures/tests/test_noannex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/resources/procedures/tests
copying datalad/resources/procedures/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/resources/procedures/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local
copying datalad/core/local/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local
copying datalad/core/local/create.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local
copying datalad/core/local/status.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local
copying datalad/core/local/save.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local
copying datalad/core/local/run.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local
copying datalad/core/local/repo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local
copying datalad/core/local/diff.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local
copying datalad/core/local/resulthooks.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed
copying datalad/core/distributed/push.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed
copying datalad/core/distributed/clone_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed
copying datalad/core/distributed/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed
copying datalad/core/distributed/clone_ria.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed
copying datalad/core/distributed/clone_ephemeral.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed
copying datalad/core/distributed/clone.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_create.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_status.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_diff.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_run.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_save.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_results.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_resulthooks.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/local/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed/tests
copying datalad/core/distributed/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed/tests
copying datalad/core/distributed/tests/test_push.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed/tests
copying datalad/core/distributed/tests/test_clone.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_drop.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_uninstall.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_create_test_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_dataset_api.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_get.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_update.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_dataset_binding.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_create_sibling.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_install.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_siblings.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/ui/tests
copying datalad/ui/tests/test_dialog.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/ui/tests
copying datalad/ui/tests/test_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/ui/tests
copying datalad/ui/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/ui/tests
running egg_info
writing datalad.egg-info/PKG-INFO
writing dependency_links to datalad.egg-info/dependency_links.txt
writing entry points to datalad.egg-info/entry_points.txt
writing requirements to datalad.egg-info/requires.txt
writing top-level names to datalad.egg-info/top_level.txt
reading manifest file 'datalad.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'Gruntfile.js'
no previously-included directories found matching '.github'
no previously-included directories found matching 'sandbox'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.gitmodules'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.noannex'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.zenodo.json'
warning: no previously-included files found matching 'CODE_OF_CONDUCT.md'
warning: no previously-included files found matching 'appveyor.yml'
warning: no previously-included files found matching 'readthedocs.yml'
adding license file 'COPYING'
writing manifest file 'datalad.egg-info/SOURCES.txt'
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/crawdad.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/crcns.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/dockerio.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/figshare.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/hcp.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/indi.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/kaggle.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/loris.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/nda.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/nitrc.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/nsidc.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/openfmri.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/providers.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/configs
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/ca
copying datalad/tests/ca/README -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/ca
copying datalad/tests/ca/ca-key.pem -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/ca
copying datalad/tests/ca/ca-root.pem -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/ca
copying datalad/tests/ca/ca-root.srl -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/ca
copying datalad/tests/ca/ca_bundle.pem -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/ca
copying datalad/tests/ca/certificate-key.pem -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/ca
copying datalad/tests/ca/certificate-pub.pem -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/ca
copying datalad/tests/ca/certificate.csr -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/ca
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests/vcr_cassettes
copying datalad/distribution/tests/vcr_cassettes/github_datalad_tester_org.yaml -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests/vcr_cassettes
copying datalad/distribution/tests/vcr_cassettes/github_yarikoptic.yaml -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/tests/vcr_cassettes
UPDATING /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/_version.py
set /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/_version.py to '1.1.3'
I: pybuild base:311: /usr/bin/python3 setup.py build
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/api.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/coreapi.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/config.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/log.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/consts.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/cmd.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/dochelpers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/conftest.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
copying datalad/typing.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin
copying datalad/plugin/wtf.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin
copying datalad/plugin/check_dates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin
copying datalad/plugin/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin
copying datalad/plugin/addurls.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin
copying datalad/plugin/export_to_figshare.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin
copying datalad/plugin/export_archive.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin
copying datalad/plugin/add_readme.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin
copying datalad/plugin/no_annex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/dataset
copying datalad/dataset/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/dataset
copying datalad/dataset/gitrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/dataset
copying datalad/dataset/repo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/dataset
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli
copying datalad/cli/renderer.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli
copying datalad/cli/interface.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli
copying datalad/cli/main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli
copying datalad/cli/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli
copying datalad/cli/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli
copying datalad/cli/helpers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli
copying datalad/cli/common_args.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli
copying datalad/cli/exec.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli
copying datalad/cli/parser.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/cache.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/due.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/repodates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/annexrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/stats.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/path.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/network.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/itertools.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/vcr_.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/gitrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/exceptions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/digests.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/keyring_.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/archives.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/external_versions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/constraints.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/status.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/entrypoints.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/s3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/archive_utils_7z.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/param.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/annex_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/due_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/parallel.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/extensions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/strings.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/ansi_colors.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/looseversion.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/globbedpaths.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/collections.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/cookies.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/json_py.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/nda_.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/locking.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/archive_utils_patool.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/sshrun.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
copying datalad/support/sshconnector.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders
copying datalad/downloaders/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders
copying datalad/downloaders/shub.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders
copying datalad/downloaders/credentials.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders
copying datalad/downloaders/base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders
copying datalad/downloaders/s3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders
copying datalad/downloaders/providers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders
copying datalad/downloaders/http.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_cmd.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_constraints.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_s3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_archives.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_dochelpers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_strings.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_utils_cached_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/utils_testrepos.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/heavyoutput.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_config.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/utils_testdatasets.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/utils_pytest.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_api.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/utils_cached_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_direct_mode.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_misc.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_installed.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_log.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_interface.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_tests_utils_pytest.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
copying datalad/tests/test_utils_testrepos.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/wtf.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/foreach_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/configuration.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/check_dates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/rerun.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/gitcredential.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/add_archive_content.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/download_url.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/remove.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/addurls.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/subdatasets.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/export_archive.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/add_readme.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/copy_file.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/run_procedure.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/no_annex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/clean.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/gitcredential_datalad.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
copying datalad/local/unlock.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_gogs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/export_archive_ora.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/ora_remote.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/drop.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/export_to_figshare.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_gitea.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_gin.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_ria.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_ghlike.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_github.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
copying datalad/distributed/create_sibling_gitlab.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes
copying datalad/customremotes/main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes
copying datalad/customremotes/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes
copying datalad/customremotes/archives.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes
copying datalad/customremotes/base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes
copying datalad/customremotes/ria_remote.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes
copying datalad/customremotes/datalad.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes
copying datalad/customremotes/ria_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner
copying datalad/runner/exception.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner
copying datalad/runner/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner
copying datalad/runner/nonasyncrunner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner
copying datalad/runner/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner
copying datalad/runner/gitrunner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner
copying datalad/runner/runner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner
copying datalad/runner/coreprotocols.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner
copying datalad/runner/protocol.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner
copying datalad/runner/runnerthreads.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/rerun.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/add_archive_content.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/common_opts.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/download_url.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/shell_completion.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/common_cfg.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/results.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/run_procedure.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/clean.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
copying datalad/interface/unlock.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core
copying datalad/core/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/siblings.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/create_sibling.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/install.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/drop.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/remove.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/get.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/subdatasets.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/create_test_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/create_sibling_github.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/uninstall.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
copying datalad/distribution/update.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/ui
copying datalad/ui/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/ui
copying datalad/ui/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/ui
copying datalad/ui/progressbars.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/ui
copying datalad/ui/base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/ui
copying datalad/ui/dialog.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/ui
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cmdline
copying datalad/cmdline/main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cmdline
copying datalad/cmdline/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cmdline
copying datalad/cmdline/helpers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cmdline
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin/tests
copying datalad/plugin/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/plugin/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/dataset/tests
copying datalad/dataset/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/dataset/tests
copying datalad/dataset/tests/test_gitrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/dataset/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_renderer.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/tests
copying datalad/cli/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_formatters.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_parser.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_exec.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_helpers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/tests
copying datalad/cli/tests/test_interface.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_sshrun.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_sshconnector.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_path.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_json_py.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_annexrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_cookies.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_due_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_status.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_ansi_colors.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_network.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_cache.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_gitrepo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_digests.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_globbedpaths.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_extensions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_stats.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_external_versions.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_repo_save.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_captured_exception.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_repodates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_vcr_.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_fileinfo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_locking.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
copying datalad/support/tests/test_parallel.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/third
copying datalad/support/third/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/third
copying datalad/support/third/loris_token_generator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/third
copying datalad/support/third/nda_aws_token_generator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/support/third
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_shub.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_providers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_s3.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_docker_registry.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_credentials.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests
copying datalad/downloaders/tests/test_http.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_addurls.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_add_readme.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_copy_file.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_download_url.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_unlock.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_check_dates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_wtf.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_rerun.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_add_archive_content.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_no_annex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_configuration.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_run_procedure.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_gitcredential.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_remove.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_export_archive.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_rerun_merges.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_subdataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_clean.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
copying datalad/local/tests/test_foreach_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_drop.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_gitea.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_github.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_gin.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_ora_http.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_ghlike.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_ria.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_gogs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_ria_git_remote.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_export_to_figshare.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_create_sibling_gitlab.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/ria_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_ria_basics.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
copying datalad/distributed/tests/test_ria.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distributed/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/test_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/test_archives.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/test_datalad.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/test_main.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes/tests
copying datalad/customremotes/tests/test_ria_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/customremotes/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_gitrunner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests
copying datalad/runner/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_generatormixin.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_exception.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests
copying datalad/runner/tests/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_threadsafety.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_witless_runner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests
copying datalad/runner/tests/test_nonasyncrunner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface/tests
copying datalad/interface/tests/test_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface/tests
copying datalad/interface/tests/test_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface/tests
copying datalad/interface/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface/tests
copying datalad/interface/tests/test_results.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface/tests
copying datalad/interface/tests/test_shell_completion.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface/tests
copying datalad/interface/tests/test_docs.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/interface/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/resources/procedures
copying datalad/resources/procedures/cfg_noannex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/resources/procedures
copying datalad/resources/procedures/cfg_text2git.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/resources/procedures
copying datalad/resources/procedures/cfg_yoda.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/resources/procedures
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/resources/procedures/tests
copying datalad/resources/procedures/tests/test_noannex.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/resources/procedures/tests
copying datalad/resources/procedures/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/resources/procedures/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local
copying datalad/core/local/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local
copying datalad/core/local/create.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local
copying datalad/core/local/status.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local
copying datalad/core/local/save.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local
copying datalad/core/local/run.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local
copying datalad/core/local/repo.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local
copying datalad/core/local/diff.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local
copying datalad/core/local/resulthooks.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed
copying datalad/core/distributed/push.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed
copying datalad/core/distributed/clone_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed
copying datalad/core/distributed/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed
copying datalad/core/distributed/clone_ria.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed
copying datalad/core/distributed/clone_ephemeral.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed
copying datalad/core/distributed/clone.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_create.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_status.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_diff.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_run.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_save.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_results.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local/tests
copying datalad/core/local/tests/test_resulthooks.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/local/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed/tests
copying datalad/core/distributed/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed/tests
copying datalad/core/distributed/tests/test_push.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed/tests
copying datalad/core/distributed/tests/test_clone.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/core/distributed/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_drop.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_uninstall.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_create_test_dataset.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_dataset_api.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_get.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_update.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_dataset_binding.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_create_sibling.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_install.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
copying datalad/distribution/tests/test_siblings.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/ui/tests
copying datalad/ui/tests/test_dialog.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/ui/tests
copying datalad/ui/tests/test_base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/ui/tests
copying datalad/ui/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/ui/tests
running egg_info
writing datalad.egg-info/PKG-INFO
writing dependency_links to datalad.egg-info/dependency_links.txt
writing entry points to datalad.egg-info/entry_points.txt
writing requirements to datalad.egg-info/requires.txt
writing top-level names to datalad.egg-info/top_level.txt
reading manifest file 'datalad.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'Gruntfile.js'
no previously-included directories found matching '.github'
no previously-included directories found matching 'sandbox'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.gitmodules'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.noannex'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.zenodo.json'
warning: no previously-included files found matching 'CODE_OF_CONDUCT.md'
warning: no previously-included files found matching 'appveyor.yml'
warning: no previously-included files found matching 'readthedocs.yml'
adding license file 'COPYING'
writing manifest file 'datalad.egg-info/SOURCES.txt'
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/crawdad.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/crcns.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/dockerio.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/figshare.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/hcp.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/indi.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/kaggle.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/loris.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/nda.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/nitrc.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/nsidc.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/openfmri.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
copying datalad/downloaders/configs/providers.cfg -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/configs
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests/ca
copying datalad/tests/ca/README -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests/ca
copying datalad/tests/ca/ca-key.pem -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests/ca
copying datalad/tests/ca/ca-root.pem -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests/ca
copying datalad/tests/ca/ca-root.srl -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests/ca
copying datalad/tests/ca/ca_bundle.pem -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests/ca
copying datalad/tests/ca/certificate-key.pem -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests/ca
copying datalad/tests/ca/certificate-pub.pem -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests/ca
copying datalad/tests/ca/certificate.csr -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/tests/ca
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests/vcr_cassettes
copying datalad/distribution/tests/vcr_cassettes/github_datalad_tester_org.yaml -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests/vcr_cassettes
copying datalad/distribution/tests/vcr_cassettes/github_yarikoptic.yaml -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/distribution/tests/vcr_cassettes
UPDATING /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/_version.py
set /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/_version.py to '1.1.3'
debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
PATH=/<<PKGBUILDDIR>>/bin:$PATH dh_auto_test -- --test-pytest
pybuild --test --test-pytest -i python{version} -p "3.13 3.12" --test-pytest
I: pybuild pybuild:308: PYTHONPATH=/<<PKGBUILDDIR>>/bin python3.13 setup.py develop --install-dir bin/ && cp -rp datalad.egg-info /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/;
running develop
/usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` and ``easy_install``.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://github.com/pypa/setuptools/issues/917 for details.
********************************************************************************
!!
easy_install.initialize_options(self)
/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
running egg_info
writing datalad.egg-info/PKG-INFO
writing dependency_links to datalad.egg-info/dependency_links.txt
writing entry points to datalad.egg-info/entry_points.txt
writing requirements to datalad.egg-info/requires.txt
writing top-level names to datalad.egg-info/top_level.txt
reading manifest file 'datalad.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'Gruntfile.js'
no previously-included directories found matching '.github'
no previously-included directories found matching 'sandbox'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.gitmodules'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.noannex'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.zenodo.json'
warning: no previously-included files found matching 'CODE_OF_CONDUCT.md'
warning: no previously-included files found matching 'appveyor.yml'
warning: no previously-included files found matching 'readthedocs.yml'
adding license file 'COPYING'
writing manifest file 'datalad.egg-info/SOURCES.txt'
running build_ext
Creating /<<PKGBUILDDIR>>/bin/datalad.egg-link (link to .)
datalad 1.1.3 is already the active version in easy-install.pth
Installing datalad script to bin/
Installing git-annex-remote-datalad script to bin/
Installing git-annex-remote-datalad-archives script to bin/
Installing git-annex-remote-ora script to bin/
Installing git-annex-remote-ria script to bin/
Installing git-credential-datalad script to bin/
Installed /<<PKGBUILDDIR>>
Processing dependencies for datalad==1.1.3
Searching for distro==1.9.0
Best match: distro 1.9.0
Adding distro 1.9.0 to easy-install.pth file
Installing distro script to bin/
Using /usr/lib/python3/dist-packages
Searching for tqdm==4.67.0
Best match: tqdm 4.67.0
Adding tqdm 4.67.0 to easy-install.pth file
Installing tqdm script to bin/
Using /usr/lib/python3/dist-packages
Searching for platformdirs==4.3.6
Best match: platformdirs 4.3.6
Removing platformdirs 4.2.2 from easy-install.pth file
Adding platformdirs 4.3.6 to easy-install.pth file
detected new path '/usr/lib/python3/dist-packages/setuptools/_vendor'
Using /usr/lib/python3/dist-packages
Searching for patool==2.0.0
Best match: patool 2.0.0
Adding patool 2.0.0 to easy-install.pth file
Installing patool script to bin/
Using /usr/lib/python3/dist-packages
Searching for packaging==24.1
Best match: packaging 24.1
packaging 24.1 is already the active version in easy-install.pth
Using /usr/lib/python3/dist-packages/setuptools/_vendor
Searching for iso8601==2.1.0
Best match: iso8601 2.1.0
Adding iso8601 2.1.0 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for humanize==4.11.0
Best match: humanize 4.11.0
Adding humanize 4.11.0 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for fasteners==0.18
Best match: fasteners 0.18
Adding fasteners 0.18 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for chardet==5.2.0
Best match: chardet 5.2.0
Adding chardet 5.2.0 to easy-install.pth file
Installing chardetect script to bin/
Using /usr/lib/python3/dist-packages
Searching for annexremote==1.6.4
Best match: annexremote 1.6.4
Adding annexremote 1.6.4 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Finished processing dependencies for datalad==1.1.3
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build; python3.13 -m pytest -s -v -k 'not test_test and not test_subprocess_return_code_capture and not test_gracefull_death' -c /<<PKGBUILDDIR>>/tox.ini
============================= test session starts ==============================
platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13
cachedir: .pytest_cache
rootdir: /<<PKGBUILDDIR>>
configfile: tox.ini
plugins: typeguard-4.4.1
collecting ... collected 1270 items / 57 deselected / 2 skipped / 1213 selected
datalad/cli/tests/test_exec.py::test_call_from_parser_old_style PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_old_style_generator PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_default_args PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_result_filter PASSED
datalad/cli/tests/test_exec.py::test_get_result_filter_arg_vs_config success -> constraint:status:{ok, notneeded}
failure -> constraint:status:{impossible, error}
ok -> constraint:status:{ok}
notneeded -> constraint:status:{notneeded}
error -> constraint:status:{error}
PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_pos_arg_underscore[bare] PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_pos_arg_underscore[dest] PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_pos_arg_underscore[args] PASSED
datalad/cli/tests/test_helpers.py::test_fix_datalad_ri PASSED
datalad/cli/tests/test_interface.py::test_alter_interface_docs_for_cmdline PASSED
datalad/cli/tests/test_interface.py::test_name_generation PASSED
datalad/cli/tests/test_main.py::test_version FAILED
datalad/cli/tests/test_main.py::test_help_np FAILED
datalad/cli/tests/test_main.py::test_dashh FAILED
datalad/cli/tests/test_main.py::test_dashh_clone PASSED
datalad/cli/tests/test_main.py::test_usage_on_insufficient_args PASSED
datalad/cli/tests/test_main.py::test_subcmd_usage_on_unknown_args PASSED
datalad/cli/tests/test_main.py::test_combined_short_option FAILED
datalad/cli/tests/test_main.py::test_conflicting_short_option PASSED
datalad/cli/tests/test_main.py::test_incorrect_option[opts0-error: (invalid|too few arguments|unrecognized argument)] FAILED
datalad/cli/tests/test_main.py::test_incorrect_option[opts1-error: (invalid|too few arguments|unrecognized argument)] FAILED
datalad/cli/tests/test_main.py::test_incorrect_option[opts2-error: (invalid|too few arguments|unrecognized argument)] FAILED
datalad/cli/tests/test_main.py::test_incorrect_option[opts3-error: (invalid|too few arguments|unrecognized argument)] FAILED
datalad/cli/tests/test_main.py::test_script_shims[datalad] FAILED
datalad/cli/tests/test_main.py::test_script_shims[git-annex-remote-datalad-archives] PASSED
datalad/cli/tests/test_main.py::test_script_shims[git-annex-remote-datalad] PASSED
datalad/cli/tests/test_main.py::test_cfg_override create(ok): . (dataset)
PASSED
datalad/cli/tests/test_main.py::test_incorrect_cfg_override PASSED
datalad/cli/tests/test_main.py::test_librarymode create(ok): . (dataset)
PASSED
datalad/cli/tests/test_main.py::test_completion Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/bin/datalad", line 33, in <module>
sys.exit(load_entry_point('datalad', 'console_scripts', 'datalad')())
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/cli/main.py", line 92, in main
argcomplete.autocomplete(parser)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 174, in __call__
completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos)
File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 223, in _get_completions
completions = self.collect_completions(active_parsers, parsed_args, cword_prefix)
File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 440, in collect_completions
completions += self._get_option_completions(active_parser, cword_prefix)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 326, in _get_option_completions
if not self._action_allowed(action, parser):
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 336, in _action_allowed
for conflict_action in parser._action_conflicts.get(action, []):
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts'
FAILED
datalad/cli/tests/test_parser.py::test_fail_with_short_help PASSED
datalad/cli/tests/test_parser.py::test_setup FAILED
datalad/cli/tests/test_renderer.py::test_nagen PASSED
datalad/cli/tests/test_renderer.py::test_nadict PASSED
datalad/cli/tests/test_utils.py::test_setup_exceptionhook[True] PASSED
datalad/cli/tests/test_utils.py::test_setup_exceptionhook[False] PASSED
datalad/core/distributed/tests/test_clone.py::test_invalid_args install(error): /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/ssh:/mars:Zoidberg (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- Zoidberg
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress Zoidberg /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/ssh:/mars:Zoidberg' failed with exitcode 128 [err: 'fatal: repository 'Zoidberg' does not exist']]
install(error): /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/ssh:/mars/Zoidberg (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- Zoidberg
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress Zoidberg /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/ssh:/mars/Zoidberg' failed with exitcode 128 [err: 'fatal: repository 'Zoidberg' does not exist']]
create(ok): /tmp/datalad_temp_test_invalid_argslrtq1rwo (dataset)
install(error): Zoidberg (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- /higherup.
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress /higherup. /tmp/datalad_temp_test_invalid_argslrtq1rwo/Zoidberg' failed with exitcode 128 [err: 'fatal: repository '/higherup.' does not exist']]
create(ok): /tmp/datalad_temp_test_invalid_argsei5xa9dr/target (dataset)
install(error): ../../datalad_temp_test_invalid_args4f1nnkp0 (dataset) [clone target path '/tmp/datalad_temp_test_invalid_args4f1nnkp0' not in specified target dataset 'Dataset(/tmp/datalad_temp_test_invalid_argsei5xa9dr/target)']
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_crcns SKIPPED
datalad/core/distributed/tests/test_clone.py::test_clone_datasets_root SKIPPED
datalad/core/distributed/tests/test_clone.py::test_clone_simple_local create(ok): . (dataset)
create(ok): . (dataset)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_check_clone_simple_localyvvku718 (dataset)
install(ok): /tmp/datalad_temp_check_clone_simple_localqszqon1u (dataset)
install(ok): /tmp/datalad_temp_check_clone_simple_localw5zkbl41 (dataset)
install(ok): /tmp/datalad_temp_check_clone_simple_localao4vb0zx (dataset)
install(ok): /tmp/datalad_temp_check_clone_simple_localfy7ii_6l (dataset)
install(ok): /tmp/datalad_temp_check_clone_simple_localgv9y16ry (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_dataset_from_just_source create(ok): . (dataset)
add(ok): INFO.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_check_clone_dataset_from_just_sourcegzknws2i/datalad_temp_test_clone_dataset_from_just_sourcegc0o_1vu (dataset)
install(ok): /tmp/datalad_temp_check_clone_dataset_from_just_sourcefloqctwj/datalad_temp_test_clone_dataset_from_just_sourcegc0o_1vu (dataset)
install(ok): /tmp/datalad_temp_check_clone_dataset_from_just_sourceb4nw0xo6/127.0.0.1 (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_dataladri SKIPPED
datalad/core/distributed/tests/test_clone.py::test_clone_isnot_recursive create(ok): . (dataset)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): 2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): 2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_clone_isnot_recursive5zgxm6ga (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_into_dataset create(ok): . (dataset)
create(ok): /tmp/datalad_temp_test_clone_into_datasetxrovr4_f (dataset)
install(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
install(ok): sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
install(error): subdir (dataset) [target path already exists and not empty, refuse to clone into target path]
PASSED
datalad/core/distributed/tests/test_clone.py::test_notclone_known_subdataset create(ok): . (dataset)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_notclone_known_subdatasete3cus4_g (dataset)
subdataset(ok): subm 1 (dataset)
install(error): subm 1 (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- subm 1
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress 'subm 1' '/tmp/datalad_temp_test_notclone_known_subdatasete3cus4_g/subm 1'' failed with exitcode 128 [err: 'fatal: repository 'subm 1' does not exist']]
install(ok): /tmp/datalad_temp_test_notclone_known_subdatasete3cus4_g/subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_notclone_known_subdatasete3cus4_g/subm 1]
subdataset(ok): subm 1 (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_failed_clone create(ok): /tmp/datalad_temp_test_failed_cloneg_0bwdrw (dataset)
install(error): sub (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- http://nonexistingreallyanything.datalad.org/bla
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://nonexistingreallyanything.datalad.org/bla /tmp/datalad_temp_test_failed_cloneg_0bwdrw/sub' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_failed_cloneg_0bwdrw/sub'...
fatal: unable to access 'http://nonexistingreallyanything.datalad.org/bla/': Could not resolve host: nonexistingreallyanything.datalad.org']
- http://nonexistingreallyanything.datalad.org/bla/.git
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://nonexistingreallyanything.datalad.org/bla/.git /tmp/datalad_temp_test_failed_cloneg_0bwdrw/sub' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_failed_cloneg_0bwdrw/sub'...
fatal: unable to access 'http://nonexistingreallyanything.datalad.org/bla/.git/': Could not resolve host: nonexistingreallyanything.datalad.org']]
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_missing_commit create(ok): . (dataset)
add(ok): ds/test.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/distributed/tests/test_clone.py::test_reckless[True] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_check_reckless_vndkgu8 (dataset)
install(ok): newsub (dataset)
add(ok): newsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
install(ok): /tmp/datalad_temp_check_reckless_vndkgu8/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_check_reckless_vndkgu8/sub]
install(ok): /tmp/datalad_temp_check_recklessi7envx4s (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_reckless[False] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_check_reckless169iyu2x (dataset)
install(ok): newsub (dataset)
add(ok): newsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
install(ok): /tmp/datalad_temp_check_reckless169iyu2x/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_check_reckless169iyu2x/sub]
PASSED
datalad/core/distributed/tests/test_clone.py::test_install_source_relpath create(ok): /tmp/datalad_temp_test_install_source_relpath4svpkyud (dataset)
install(ok): /tmp/datalad_temp_test_install_source_relpath8j6orkig (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_isnt_a_smartass create(ok): /tmp/datalad_temp_test_clone_isnt_a_smartasswx2w5mu5 (dataset)
install(ok): /tmp/datalad_temp_test_clone_isnt_a_smartassayxxpsoj (dataset)
install(ok): /tmp/datalad_temp_test_clone_isnt_a_smartassayxxpsoj/testsub (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_report_permission_issue install(error): /tmp/datalad_temp_test_clone_report_permission_issue7eoq0nxk/protected/datasets-tests.datalad.org (dataset) [could not create work tree dir '/tmp/datalad_temp_test_clone_report_permission_issue7eoq0nxk/protected/datasets-tests.datalad.org': Permission denied]
PASSED
datalad/core/distributed/tests/test_clone.py::test_autoenabled_remote_msg SKIPPED
datalad/core/distributed/tests/test_clone.py::test_clone_autoenable_msg_handles_sameas SKIPPED
datalad/core/distributed/tests/test_clone.py::test_installationpath_from_url PASSED
datalad/core/distributed/tests/test_clone.py::test_expanduser create(ok): . (dataset)
create(ok): . (dataset)
install(error): /tmp/datalad_temp_test_expanduseriq4ew7k1/dest (dataset) [target path already exists and not empty, refuse to clone into target path]
uninstall(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_expanduseriq4ew7k1/dest (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_cfg_originorigin --- Logging error ---
Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/utils.py", line 453, in keep_result
if not rfilter(res, **kwargs):
~~~~~~~^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/utils.py", line 216, in _fx
return fx(res)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/constraints.py", line 334, in __call__
super(EnsureKeyChoice, self).__call__(value[self._key])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/constraints.py", line 302, in __call__
raise ValueError(f"value {value} is not one of {self._allowed}")
ValueError: value update is not one of ('install',)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.13/logging/__init__.py", line 1150, in emit
msg = self.format(record)
File "/usr/lib/python3.13/logging/__init__.py", line 998, in format
return fmt.format(record)
~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 711, in format
record.message = record.getMessage()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/logging/__init__.py", line 400, in getMessage
msg = msg % self.args
~~~~^~~~~~~~~~~
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 123, in __str__
return self.format_short()
~~~~~~~~~~~~~~~~~^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 94, in format_short
return self.name + '(' + self.message + ')'
^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 120, in name
return self.tb.exc_type.__qualname__
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/traceback.py", line 1181, in exc_type
warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning, stacklevel=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
Call stack:
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module>
raise SystemExit(pytest.console_main())
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201, in console_main
code = main()
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 175, in main
ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 330, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 283, in wrap_session
session.exitstatus = doit(config, session) or 0
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 337, in _main
config.hook.pytest_runtestloop(session=session)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 362, in pytest_runtestloop
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol
runtestprotocol(item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 132, in runtestprotocol
reports.append(call_and_report(item, "call", log))
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 241, in call_and_report
call = CallInfo.from_call(
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call
result: TResult | None = func()
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call
item.runtest()
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call
result = testfunction(**testargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/utils_pytest.py", line 927, in _wrap_with_tempfile
return t(*(arg + (filename,)), **kw)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/core/distributed/tests/test_clone.py", line 718, in test_cfg_originorigin
clone_lev3 = clone('clone_lev2', 'clone_lev3')
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/base.py", line 773, in eval_func
return return_func(*args, **kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/base.py", line 763, in return_func
results = list(results)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/base.py", line 908, in _execute_command_
if not keep_result(r, result_filter, **allkwargs):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/utils.py", line 460, in keep_result
lgr.debug('Not reporting result (%s): %s', CapturedException(e), res)
Message: 'Not reporting result (%s): %s'
Arguments: (value update is not one of ('install',) [utils.py:keep_result:453,utils.py:_fx:216,constraints.py:__call__:334,constraints.py:__call__:302], {'action': 'update', 'path': '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3', 'type': 'dataset', 'refds': '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3', 'status': 'ok'})
create(ok): . (dataset)
add(ok): file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev1 (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev2 (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
update (ok: 1)
get(ok): file1.txt (file) [from dl-test-remote-2...]
.: dl-test-remote-2(+) [/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/origin (git)]
drop(ok): file1.txt (file)
update(ok): . (dataset)
update(ok): . (dataset)
FAILED
datalad/core/distributed/tests/test_clone.py::test_relative_submodule_url create(ok): . (dataset)
create(ok): . (dataset)
install(ok): sources (dataset)
add(ok): sources (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
subdataset(ok): sources (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_local_url_with_fetch create(ok): . (dataset)
install(ok): /tmp/datalad_temp_tree_test_local_url_with_fetchtn7plv0n/a (dataset)
install(ok): /tmp/datalad_temp_tree_test_local_url_with_fetchtn7plv0n/subdir/a (dataset)
install(ok): /tmp/datalad_temp_test_local_url_with_fetchp4knfs_e/a (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_decode_source_spec PASSED
datalad/core/distributed/tests/test_clone.py::test_ria_http create(ok): . (dataset)
add(ok): testsub.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
add(ok): subdir/subds (dataset)
add(ok): .gitmodules (file)
add(ok): test.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
install(ok): /tmp/datalad_temp_tree_test_ria_http62si8krs/clone (dataset)
install(ok): /tmp/datalad_temp_tree_test_ria_http62si8krs/clone/subdir/subds (dataset) [Installed subdataset in order to get /tmp/datalad_temp_tree_test_ria_http62si8krs/clone/subdir/subds]
add(ok): newfile.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): newfile.txt (file) [to store...]
copy(ok): test.txt (file) [to store...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch 8d8fee2..bbb8365]
publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex fc7c719..bdf29e2]
action summary:
copy (ok: 2)
publish (ok: 2)
install(ok): /tmp/datalad_temp_tree_test_ria_http62si8krs/clone2 (dataset)
install(ok): /tmp/datalad_temp_tree_test_ria_http62si8krs/clone_orig (dataset)
install(error): /tmp/datalad_temp_tree_test_ria_http62si8krs/clone_failed (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- http://127.0.0.1:34871/a6d/3845e-3ebc-4e2c-9fea-8b87c4e04993
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress --branch=impossible http://127.0.0.1:34871/a6d/3845e-3ebc-4e2c-9fea-8b87c4e04993 /tmp/datalad_temp_tree_test_ria_http62si8krs/clone_failed' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_tree_test_ria_http62si8krs/clone_failed'...
fatal: Remote branch impossible not found in upstream dl-test-remote']
- http://127.0.0.1:34871/a6d/3845e-3ebc-4e2c-9fea-8b87c4e04993/.git
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress --branch=impossible http://127.0.0.1:34871/a6d/3845e-3ebc-4e2c-9fea-8b87c4e04993/.git /tmp/datalad_temp_tree_test_ria_http62si8krs/clone_failed' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_tree_test_ria_http62si8krs/clone_failed'...
fatal: repository 'http://127.0.0.1:34871/a6d/3845e-3ebc-4e2c-9fea-8b87c4e04993/.git/' not found']]
install(ok): /tmp/datalad_temp_tree_test_ria_http62si8krs/cloned_by_label (dataset)
install(ok): /tmp/datalad_temp_tree_test_ria_http62si8krs/myname (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_ria_postclonecfg enableremote store-storage ok
(recording state in git...)
enableremote store-storage ok
(recording state in git...)
create(ok): . (dataset)
add(ok): testsub.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
add(ok): testgit.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
add(ok): subdir/subds (dataset)
add(ok): subdir/subgit (dataset)
add(ok): .gitmodules (file)
add(ok): test.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_qtw7wpcu/ds (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->anotherstore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->anotherstore:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_qtw7wpcu/ds/subdir/subds (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->anotherstore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->anotherstore:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_qtw7wpcu/ds/subdir/subgit (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->anotherstore:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_qtw7wpcu/ds (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
copy(ok): test.txt (file) [to store-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_qtw7wpcu/ds/subdir/subds (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
copy(ok): testsub.txt (file) [to store-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_qtw7wpcu/ds/subdir/subgit (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 1)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp__test_ria_postclonecfgsku9qvte (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
get(ok): test.txt (file) [from store-storage...]
.: anotherstore-storage(+) [ora]
install(ok): /tmp/datalad_temp__test_ria_postclonecfgsku9qvte/subdir/subds (dataset) [Installed subdataset in order to get /tmp/datalad_temp__test_ria_postclonecfgsku9qvte/subdir/subds]
get(ok): testsub.txt (file) [from store-storage...]
install(ok): /tmp/datalad_temp__test_ria_postclonecfgsku9qvte/subdir/subgit (dataset) [Installed subdataset in order to get /tmp/datalad_temp__test_ria_postclonecfgsku9qvte/subdir/subgit/testgit.txt]
action summary:
get (notneeded: 1)
install (ok: 1)
create(ok): . (dataset)
configure-sibling(ok): . (sibling)
install(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
configure-sibling (ok: 1)
install (ok: 1)
save (ok: 2)
subdataset(ok): sub (dataset)
uninstall(ok): sub (dataset)
subdataset(ok): sub (dataset)
install(ok): /tmp/datalad_temp__test_ria_postclonecfg9yi9ycix/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp__test_ria_postclonecfg9yi9ycix/sub]
get(ok): test.txt (file) [from store-storage...]
SKIPPED
datalad/core/distributed/tests/test_clone.py::test_no_ria_postclonecfg SKIPPED
datalad/core/distributed/tests/test_clone.py::test_ria_postclone_noannex create(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_ria_postclone_noannexi7_2ssp4 (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_ria_postclone_noannexx6jrfest (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
PASSED
datalad/core/distributed/tests/test_clone.py::test_inherit_src_candidates create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(ok): . (dataset)
install(ok): mysub (dataset)
add(ok): mysub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
install(ok): /tmp/datalad_temp_test_inherit_src_candidateshwow5tfs/clone (dataset)
install(ok): /tmp/datalad_temp_test_inherit_src_candidateshwow5tfs/clone/mysub (dataset)
install(ok): /tmp/datalad_temp_test_inherit_src_candidateshwow5tfs/clone/mysub/sub (dataset)
action summary:
install (ok: 2)
PASSED
datalad/core/distributed/tests/test_clone.py::test_ria_http_storedataladorg SKIPPED
datalad/core/distributed/tests/test_clone.py::test_ephemeral Cloning into bare repository '/tmp/datalad_temp_test_ephemeral68f_vykp'...
done.
init ok
(recording state in git...)
create(ok): . (dataset)
create(ok): . (dataset)
add(ok): ds/subdir/testsub.txt (file)
add(ok): ds/test.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_ephemeral4y3ejlog (dataset)
install(ok): /tmp/datalad_temp_test_ephemeral29e7r3z7 (dataset)
add(ok): addition.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->dl-test-remote:refs/heads/dl-test-branch 3fa09ae..74f4eeb]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex 719dc8f..75bc605]
action summary:
publish (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_ephemeralyuy4v9fe (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
update (ok: 1)
install(ok): /tmp/datalad_temp_test_ephemeral1lla1ydp (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_unborn_head create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): bar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(ok): bar (file)
install(ok): /tmp/datalad_temp_test_clone_unborn_headrdp6br2b/b (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_unborn_head_no_other_ref create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_clone_unborn_head_no_other_ref6mw1v48j/b (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_unborn_head_sub create(ok): . (dataset)
create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_clone_unborn_head_sub475ur4e3/b (dataset)
install(ok): /tmp/datalad_temp_test_clone_unborn_head_sub475ur4e3/b/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_clone_unborn_head_sub475ur4e3/b/sub]
PASSED
datalad/core/distributed/tests/test_clone.py::test_gin_cloning SKIPPED
datalad/core/distributed/tests/test_clone.py::test_fetch_git_special_remote create(ok): . (dataset)
add(ok): f0 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_fetch_git_special_remotep71ajolg/a (dataset)
add(ok): f1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_fetch_git_special_remotep71ajolg/other (dataset)
get(ok): f1 (file) [from special...]
PASSED
datalad/core/distributed/tests/test_clone.py::test_nonuniform_adjusted_subdataset SKIPPED
datalad/core/distributed/tests/test_clone.py::test_clone_recorded_subds_reset create(ok): /tmp/datalad_temp_test_clone_recorded_subds_resetza7y5lh7/ds_a (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
add(ok): bar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_clone_recorded_subds_resetza7y5lh7/ds_b (dataset)
install(ok): /tmp/datalad_temp_test_clone_recorded_subds_resetza7y5lh7/ds_b/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_clone_recorded_subds_resetza7y5lh7/ds_b/sub]
get(ok): sub/foo (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 1)
subdataset(ok): sub (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_git_clone_opts create(ok): /tmp/datalad_temp_test_clone_git_clone_opts6nchl6mv/ds_a (dataset)
install(ok): /tmp/datalad_temp_test_clone_git_clone_opts6nchl6mv/ds_b (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_url_mapping create(ok): /tmp/datalad_temp_test_clone_url_mapping4gc285y6 (dataset)
install(error): /tmp/datalad_temp_test_clone_url_mapping9snvg5ct (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- rambo
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress rambo /tmp/datalad_temp_test_clone_url_mapping9snvg5ct' failed with exitcode 128 [err: 'fatal: repository 'rambo' does not exist']]
install(ok): /tmp/datalad_temp_test_clone_url_mapping9snvg5ct (dataset)
uninstall(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_clone_url_mapping9snvg5ct (dataset)
uninstall(ok): . (dataset)
create(ok): . (dataset)
install(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/core/distributed/tests/test_clone.py::test_url_mapping_specs PASSED
datalad/core/distributed/tests/test_push.py::test_invalid_call create(ok): . (dataset)
publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to]
action summary:
publish (impossible: 1)
publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to]
action summary:
publish (impossible: 1)
action summary:
publish (notneeded: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
uninstall(ok): . (dataset)
subdataset(ok): sub (dataset)
PASSED
datalad/core/distributed/tests/test_push.py::test_push[False] create(ok): . (dataset)
publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to]
action summary:
publish (impossible: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 1)
action summary:
publish (notneeded: 1)
add(ok): test_mod_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): test_mod_annex_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch fb76b24..68a28b5]
action summary:
publish (ok: 1)
publish(error): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [rejected] (non-fast-forward)]
action summary:
publish (error: 1)
Hints:
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.
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 68a28b5...a51c8a6 (forced update)]
action summary:
publish (ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_push[True] create(ok): . (dataset)
publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to]
action summary:
publish (impossible: 1)
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex a4ac1ed..5b0eec4]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
action summary:
publish (notneeded: 2)
add(ok): test_mod_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): test_mod_annex_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): test_mod_annex_file (file) [to target...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 286e4ac..282f04a]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex be44c7b..b0516b6]
action summary:
copy (ok: 1)
publish (ok: 2)
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex b0516b6..861430a]
publish(error): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [rejected] (non-fast-forward)]
action summary:
publish (error: 1, ok: 1)
Hints:
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.
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 282f04a...cf18d47 (forced update)]
action summary:
publish (notneeded: 1, ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_recursive create(ok): . (dataset)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub m (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub m (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subm noannex (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm noannex (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_push_recursives3o3mdjp (dataset)
install(ok): /tmp/datalad_temp_test_push_recursives3o3mdjp/sub m (dataset)
install(ok): /tmp/datalad_temp_test_push_recursives3o3mdjp/subm noannex (dataset)
install(ok): /tmp/datalad_temp_test_push_recursives3o3mdjp/sub m/subsub m (dataset)
action summary:
install (ok: 3)
publish(error): sub m/subsub m (dataset) [Unknown target sibling 'target'.]
publish(error): sub m (dataset) [Unknown target sibling 'target'.]
publish(error): subm noannex (dataset) [Unknown target sibling 'target'.]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 97e08e8..a523074]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (error: 3, ok: 2)
publish(ok): sub m/subsub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 1e5e41e..7aa4e25]
publish(ok): sub m/subsub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
publish(ok): sub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 6d427ad..0fe7a55]
publish(ok): sub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
publish(ok): subm noannex (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (notneeded: 2, ok: 5)
action summary:
publish (notneeded: 7)
add(ok): test_mod_annex_file (file)
save(ok): sub m/subsub m (dataset)
add(ok): subsub m (dataset)
add(ok): .gitmodules (file)
save(ok): sub m (dataset)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (notneeded: 1, ok: 3)
copy(ok): sub m/subsub m/test_mod_annex_file (file) [to target...]
publish(ok): sub m/subsub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 2a74f10..72e206d]
publish(ok): sub m/subsub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 6d678cc..e39b5a0]
publish(ok): sub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 9aacd7a..71d522c]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch a69a589..aa23fb2]
action summary:
copy (ok: 1)
publish (notneeded: 3, ok: 4)
drop(ok): sub m/subsub m/test_mod_annex_file (file)
get(ok): sub m/subsub m/test_mod_annex_file (file) [from target...]
action summary:
get (notneeded: 1, ok: 1)
add(ok): test_mod_annex_file (file)
save(ok): sub m (dataset)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (notneeded: 1, ok: 2)
add(ok): test_mod_file (file)
save(ok): subm noannex (dataset)
add(ok): subm noannex (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
publish(ok): subm noannex (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch e53c157..78fc51c]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch aa23fb2..3eefc77]
action summary:
publish (notneeded: 1, ok: 2)
publish(ok): sub m/subsub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex e39b5a0..c9f6a62]
copy(ok): sub m/test_mod_annex_file (file) [to target...]
publish(ok): sub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 71d522c..e0fa0f1]
publish(ok): sub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 129fde3..98c9b87]
action summary:
copy (ok: 1)
publish (notneeded: 4, ok: 3)
add(ok): newfile (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 78fc51c..40c7e1b]
action summary:
publish (ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_subds_no_recursion create(ok): . (dataset)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub m (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subdir/subsub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/subsub m (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subdir/test_file (file)
save(ok): sub m (dataset)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (notneeded: 1, ok: 2)
copy(ok): sub m/subdir/test_file (file) [to target...]
publish(ok): sub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 143d5af..9de50d1]
publish(ok): sub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 8308b90..1c1705b]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
copy (ok: 1)
publish (ok: 4)
PASSED
datalad/core/distributed/tests/test_push.py::test_force_checkdatapresent create(ok): . (dataset)
add(ok): test_mod_annex_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 637bd6d..a41e3e1]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
copy(ok): test_mod_annex_file (file) [to target...]
action summary:
copy (ok: 1)
publish (notneeded: 2)
action summary:
publish (notneeded: 2)
action summary:
publish (notneeded: 2)
copy(ok): test_mod_annex_file (file)
action summary:
copy (ok: 1)
publish (notneeded: 2)
copy(impossible): test_mod_annex_file (file) [Slated for transport, but no content present]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 954c6d2..b16e98c]
action summary:
copy (impossible: 1)
publish (notneeded: 1, ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_ria_push create(ok): . (dataset)
add(ok): test_mod_annex_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_ria_pushvmuppiot (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
copy(ok): test_mod_annex_file (file) [to datastore-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->datastore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->datastore:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
PASSED
datalad/core/distributed/tests/test_push.py::test_gh1426 create(ok): . (dataset)
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 2069d26..3322483]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch b2222b3..a5a15ff]
action summary:
publish (notneeded: 1, ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_publish_target_url SKIPPED
datalad/core/distributed/tests/test_push.py::test_gh1763 PASSED
datalad/core/distributed/tests/test_push.py::test_gh1811 create(ok): . (dataset)
add(ok): some (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_gh1811otkm19ds (dataset)
add(ok): somemore (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(impossible): . (dataset) [There is no active branch, cannot determine remote branch]
action summary:
publish (impossible: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_wanted create(ok): . (dataset)
add(ok): data.0 (file)
add(ok): secure.1 (file)
add(ok): secure.2 (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
drop(ok): secure.2 (file)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_push_wanted0t4zab9j (dataset)
copy(ok): data.0 (file) [to target...]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex b19baa4..0489546]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
action summary:
publish (notneeded: 2)
copy(ok): secure.1 (file) [to target...]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 8d8d1a5..8cc8d43]
action summary:
copy (ok: 1)
publish (notneeded: 1, ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_auto_data_transfer create(ok): . (dataset)
add(ok): foo.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_auto_data_transferchtwisxf/a (dataset)
publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex f790622..f546776]
publish(ok): . (dataset) [refs/heads/dl-test-branch->b:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
action summary:
publish (notneeded: 2)
copy(ok): foo.dat (file) [to b...]
action summary:
copy (ok: 1)
publish (notneeded: 2)
add(ok): bar.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): baz.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): baz.dat (file) [to b...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->b:refs/heads/dl-test-branch 8b7c59b..9717e4d]
publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex 83e1470..c8f7d24]
action summary:
copy (ok: 1)
publish (ok: 2)
publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex c8f7d24..8dd25c2]
action summary:
publish (notneeded: 1, ok: 1)
copy(ok): bar.dat (file) [to b...]
publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex c002c48..7ec7ac9]
action summary:
copy (ok: 1)
publish (notneeded: 1, ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_auto_if_wanted_data_transfer_path_restriction create(ok): . (dataset)
add(ok): sub0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): reg.dat (file)
add(ok): sec.dat (file)
save(ok): sub1 (dataset)
add(ok): reg.dat (file)
add(ok): sec.dat (file)
save(ok): sub0 (dataset)
add(ok): sub0 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
add(ok): reg.dat (file)
add(ok): sec.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 9)
save (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restriction1hq9ynbb/a/sub1 (dataset)
create_sibling(ok): /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restriction1hq9ynbb/a/sub0 (dataset)
create_sibling(ok): /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restriction1hq9ynbb/a (dataset)
action summary:
create_sibling (ok: 3)
copy(ok): sub0/reg.dat (file) [to b...]
publish(ok): sub0 (dataset) [refs/heads/git-annex->b:refs/heads/git-annex 1804474..dab8cc7]
publish(ok): sub0 (dataset) [refs/heads/dl-test-branch->b:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex 3677e63..0b8b43d]
publish(ok): . (dataset) [refs/heads/dl-test-branch->b:refs/heads/dl-test-branch [new branch]]
action summary:
copy (ok: 1)
publish (ok: 4)
copy(ok): reg.dat (file) [to b...]
action summary:
copy (ok: 1)
publish (notneeded: 2)
action summary:
publish (notneeded: 2)
copy(ok): sec.dat (file) [to b...]
action summary:
copy (ok: 1)
publish (notneeded: 2)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_git_annex_branch_when_no_data create(ok): . (dataset)
add(ok): f0 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_git_annex_branch_many_paths_same_data create(ok): . (dataset)
add(ok): f0 (file)
add(ok): f1 (file)
add(ok): f2 (file)
add(ok): f3 (file)
add(ok): f4 (file)
add(ok): f5 (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
copy(ok): f0 (file) [to target...]
copy(ok): f3 (file) [to target...]
copy(ok): f4 (file) [to target...]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 4ddd0e0..80c578e]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
copy (notneeded: 3, ok: 3)
publish (ok: 2)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_matching create(ok): . (dataset)
add(ok): f0 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): f0 (file) [to local...]
publish(ok): . (dataset) [refs/heads/git-annex->local:refs/heads/git-annex 212570f..6d4e6f5]
publish(ok): . (dataset) [refs/heads/dl-test-branch->local:refs/heads/dl-test-branch [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
PASSED
datalad/core/distributed/tests/test_push.py::test_nested_pushclone_cycle_allplatforms create(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms4gkehpo3/super (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file2.txt (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
add(ok): file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms4gkehpo3/super (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms4gkehpo3/super/sub (dataset)
action summary:
configure-sibling (ok: 2)
create-sibling-ria (ok: 2)
update (ok: 2)
copy(ok): sub/file2.txt (file) [to store-storage...]
publish(ok): sub (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
publish(ok): sub (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]]
copy(ok): file1.txt (file) [to store-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 2)
publish (ok: 4)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms4pwjo5wf/super (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms4pwjo5wf/super/sub (dataset)
get(ok): file1.txt (file) [from store-storage...]
get(ok): sub/file2.txt (file) [from store-storage...]
action summary:
configure-sibling (ok: 1)
get (ok: 2)
install (ok: 1)
subdataset(ok): sub (dataset)
.: store(-) [/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms9nnkrrpx/962/2507b-5432-4672-b7a6-eb660fe05e96 (git)]
.: store(-) [/tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms9nnkrrpx/3a9/a226e-c103-4ae6-92a5-9b9b4286fe67 (git)]
subdataset(ok): sub (dataset)
nothing to save, working tree clean
nothing to save, working tree clean
PASSED
datalad/core/distributed/tests/test_push.py::test_push_custom_summary create(ok): . (dataset)
add(ok): f2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_raises create(error): . (dataset) [will not create a dataset in a non-empty directory, use `--force` option to ignore]
create(ok): . (dataset)
create(error): ../datalad_temp_test_create_raisesuir2e4uc (dataset) [dataset containing given paths is not underneath the reference dataset Dataset(/tmp/datalad_temp_test_create_raisescz_uxws5): /tmp/datalad_temp_test_create_raisesuir2e4uc]
add(ok): ds- |;&%b5{}'"<> .datc (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): ds- |;&%b5{}'"<> .datc (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(error): ds- |;&%b5{}'"<> .datc (dataset) [collision with /tmp/datalad_temp_test_create_raisescz_uxws5/ds- |;&%b5{}'"<> .datc (dataset) in dataset /tmp/datalad_temp_test_create_raisescz_uxws5]
uninstall(ok): ds- |;&%b5{}'"<> .datc (dataset)
subdataset(ok): ds- |;&%b5{}'"<> .datc (dataset)
create(error): ds- |;&%b5{}'"<> .datc (dataset) [collision with /tmp/datalad_temp_test_create_raisescz_uxws5/ds- |;&%b5{}'"<> .datc (dataset) in dataset /tmp/datalad_temp_test_create_raisescz_uxws5]
create(error): ds- |;&%b5{}'"<> .datc /subsub (dataset) [collision with /tmp/datalad_temp_test_create_raisescz_uxws5/ds- |;&%b5{}'"<> .datc (dataset) in dataset /tmp/datalad_temp_test_create_raisescz_uxws5]
add(ok): down/someotherfile.tst (file)
add(ok): somefile.tst (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(error): down (dataset) [collision with content in parent dataset at /tmp/datalad_temp_test_create_raisescz_uxws5: ['/tmp/datalad_temp_test_create_raisescz_uxws5/down/someotherfile.tst']]
PASSED
datalad/core/local/tests/test_create.py::test_create_force_subds create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(error): . (dataset) [collision with /tmp/datalad_temp_test_create_force_subdsu6js45fy/subds (dataset) in dataset /tmp/datalad_temp_test_create_force_subdsu6js45fy]
create(ok): . (dataset)
uninstall(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_curdir create(ok): /tmp/datalad_temp_test_create_curdirsdddtvj7 (dataset)
create(ok): /tmp/datalad_temp_test_create_curdiri5r1d7vw (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create create(ok): . (dataset)
add(ok): f1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_sub create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): some/what/deeper (dataset)
create(ok): . (dataset)
subdataset(ok): some/what/deeper (dataset)
add(ok): third (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): third (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): some/what/deeper (dataset)
subdataset(ok): third (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_sub_gh3463 add(ok): subds1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(ok): . (dataset)
add(ok): subds0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_dataset_same_as_path create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_sub_dataset_dot_no_path create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_subdataset_hierarchy_from_top create(ok): . (dataset)
add(ok): ds- |;&%b5{}'"<> .datc (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): ds- |;&%b5{}'"<> .datc (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): ds- |;&%b5{}'"<> .datc (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 2, ok: 1)
add(ok): file3 (file)
save(ok): ds- |;&%b5{}'"<> .datc /subsub (dataset)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
add(ok): file2 (file)
save(ok): ds- |;&%b5{}'"<> .datc (dataset)
add(ok): ds- |;&%b5{}'"<> .datc (dataset)
add(ok): .gitmodules (file)
add(ok): file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 7)
save (ok: 3)
PASSED
datalad/core/local/tests/test_create.py::test_nested_create create(ok): . (dataset)
add(ok): lvl1/lvl2/file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): lvl1/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): lvl1/subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): lvl1/subds (dataset)
add(ok): lvl1/empty (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): lvl1/empty (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(error): lvl1/lvl2 (dataset) [collision with content in parent dataset at /tmp/datalad_temp_test_nested_createsvgbko12: ['/tmp/datalad_temp_test_nested_createsvgbko12/lvl1/lvl2/file']]
create(error): lvl1/lvl2 (dataset) [will not create a dataset in a non-empty directory, use `--force` option to ignore]
add(ok): lvl1/lvl2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): lvl1/lvl2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): lvl1/empty (dataset)
subdataset(ok): lvl1/lvl2 (dataset)
subdataset(ok): lvl1/subds (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_saving_prior create(ok): /tmp/datalad_temp_tree_test_saving_priorljlxdtk0 (dataset)
add(ok): ds2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): ds2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): ds2 (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_withcfg run(ok): /tmp/datalad_temp_test_create_withcfgd0_l1vil (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
create(ok): . (dataset)
action summary:
create (ok: 1)
run (ok: 1)
run(ok): /tmp/datalad_temp_test_create_withcfgd0_l1vil/subds (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
run (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_fake_dates create(ok): /tmp/datalad_temp_test_create_fake_dateskrb6q6gn (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_cfg_passthrough create(ok): /tmp/datalad_temp_test_cfg_passthrough6m75m3qq (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_empty_git_upstairs create(ok): /tmp/datalad_temp_tree_test_empty_git_upstairslb7c2zce/empty/ds (dataset)
create(ok): /tmp/datalad_temp_tree_test_empty_git_upstairslb7c2zce/nonempty/ds (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_with_obscure_name[path] PASSED
datalad/core/local/tests/test_create.py::test_create_with_obscure_name[dataset] PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[subdir-None-subdir_relpath] create(ok): . (dataset)
create(ok): /tmp/datalad_temp_check_create_path_semantics8k6pnux9/some/what/deeper (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[subdir-abspath-subdir_relpath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[subdir-abspath-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[parentds-None-relpath] create(ok): . (dataset)
create(ok): /tmp/datalad_temp_check_create_path_semantics0xuz4mbh/some/what/deeper (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[parentds-abspath-relpath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[parentds-abspath-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[None-abspath-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[None-instance-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[None-instance-relpath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[elsewhere-abspath-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[elsewhere-instance-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[elsewhere-instance-relpath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_gh2927 create(ok): . (dataset)
add(ok): subds_clean (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_clean (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_clean (dataset)
add(ok): .gitmodules (file)
save(ok): subds_clean (dataset)
add(ok): subds_clean (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_clean/subds_lvl1_clean (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
PASSED
datalad/core/local/tests/test_create.py::test_create_initopts_form[dict] create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_initopts_form[list] create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_bad_cfg_proc PASSED
datalad/core/local/tests/test_diff.py::test_magic_number PASSED
datalad/core/local/tests/test_diff.py::test_repo_diff create(ok): . (dataset)
add(ok): new (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): new (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_diff.py::test_diff create(ok): . (dataset)
add(ok): new (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_diff.py::test_diff_recursive create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): twofile (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
add(ok): onefile (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_diff.py::test_path_diff create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_diff.py::test_diff_nods create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_diff.py::test_diff_rsync_syntax create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subdir/deep (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/deep (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_diff.py::test_diff_nonexistent_ref_unicode create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_diff.py::test_no_worktree_impact_false_deletions create(ok): . (dataset)
add(ok): identical (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): new (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_diff.py::test_diff_fr_none_one_get_content_annexinfo_call create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_resulthooks.py::test_basics create(ok): . (dataset)
add(ok): file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_basicslilwc6ol (dataset)
install(ok): /tmp/datalad_temp_test_basicslilwc6ol/subds (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_basicslilwc6ol/subds]
install(ok): /tmp/datalad_temp_test_basicslilwc6ol/subds2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_basicslilwc6ol/subds2]
get(ok): file1 (file) [from dl-test-remote...]
unlock(ok): file1 (file)
run(ok): /tmp/datalad_temp_test_basicslilwc6ol (dataset) [touch /tmp/datalad_temp_test_basicslilwc...]
PASSED
datalad/core/local/tests/test_results.py::test_generic_result_renderer PASSED
datalad/core/local/tests/test_run.py::test_invalid_call create(ok): . (dataset)
run(impossible): /tmp/datalad_temp_test_invalid_calle5qo_go1 (dataset) [clean dataset required to detect changes from command; use `datalad status` to inspect unsaved changes]
PASSED
datalad/core/local/tests/test_run.py::test_basics /bin/sh: 1: 7i3amhmuch9invalid: not found
/bin/sh: 1: 7i3amhmuch9invalid: not found
create(ok): . (dataset)
run(error): /tmp/datalad_temp_test_basics8rd15suv (dataset) [7i3amhmuch9invalid]
run(error): /tmp/datalad_temp_test_basics8rd15suv (dataset) [Input did not match existing file: not-here]
run(error): /tmp/datalad_temp_test_basics8rd15suv (dataset) [Input did not match existing file: not-here]
run(ok): /tmp/datalad_temp_test_basics8rd15suv (dataset) [cd .> dummy0]
add(ok): dummy0 (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_py2_unicode_command /bin/sh: 1: bB2.dat: not found
create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_py2_unicode_commandxd9g8uhy (dataset) [/usr/bin/python3.13 -c "import sys; open...]
add(ok): bB0.dat (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_py2_unicode_commandxd9g8uhy (dataset) [/usr/bin/python3.13 -c 'import sys; open...]
add(ok): bB1.dat (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_py2_unicode_commandxd9g8uhy (dataset) [/usr/bin/python3.13 -c 'import sys; open...]
add(ok): B1 (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_sidecar create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_sidecarrga31qmu (dataset) [cd .> dummy0]
add(ok): .datalad/runinfo/194f32af15c4e0107350f810f610dd35 (file)
add(ok): dummy0 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_sidecarrga31qmu (dataset) [cd .> dummy1]
add(ok): dummy1 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_sidecarrga31qmu (dataset) [cd .> dummy2]
add(ok): .datalad/runinfo/96920907d479f83df622bb34b4e0141a (file)
add(ok): dummy2 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_sidecarrga31qmu (dataset) [cd .> dummy3]
add(ok): dummy3 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_sidecarrga31qmu (dataset) [cd .> dummy4]
add(ok): .datalad/runinfo/d730b18aef2e8c017ee1a2e93ba6a573 (file)
add(ok): dummy4 (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_save_deletion create(ok): . (dataset)
add(ok): to_remove (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_run_save_deletionz657ykc5 (dataset) [rm to_remove]
delete(ok): to_remove (symlink)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_from_subds create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_run_from_subdslh1ii53b/sub (dataset) [cd .> foo]
add(ok): foo (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_from_subds_gh3551
create(ok): . (dataset)
add(ok): sub/input (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): output (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): output (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_run_from_subds_gh3551cp8hlfip (dataset) [echo]
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): output (dataset)
add(ok): output (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): output/subds (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
run(ok): /tmp/datalad_temp_tree_test_run_from_subds_gh3551cp8hlfip (dataset) [cd .> ../output/subds/f]
add(ok): f (file)
save(ok): output/subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): output (dataset)
add(ok): output (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_assume_ready f1
f1
Traceback (most recent call last):
File "<string>", line 1, in <module>
import sys; print(open(sys.argv[-1]).read())
~~~~^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'f1'
create(ok): . (dataset)
add(ok): f1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_run_assume_readyzkbxck8d (dataset) [/usr/bin/python3.13 -c 'import sys; prin...]
run(ok): /tmp/datalad_temp_test_run_assume_readyzkbxck8d (dataset) [/usr/bin/python3.13 -c 'import sys; prin...]
drop(ok): f1 (file)
add(ok): f2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): f2 (file)
run(ok): /tmp/datalad_temp_test_run_assume_readyzkbxck8d (dataset) [/usr/bin/python3.13 -c 'import sys; impo...]
add(ok): f2 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_assume_readyzkbxck8d (dataset) [/usr/bin/python3.13 -c 'import sys; impo...]
add(ok): f2 (file)
unlock(ok): f2 (file)
run(ok): /tmp/datalad_temp_test_run_assume_readyzkbxck8d (dataset) [/usr/bin/python3.13 -c 'import sys; impo...]
add(ok): f2 (file)
run(ok): /tmp/datalad_temp_test_run_assume_readyzkbxck8d (dataset) [/usr/bin/python3.13 -c 'import sys; impo...]
add(ok): f2 (file)
PASSED
datalad/core/local/tests/test_run.py::test_run_explicit create(ok): . (dataset)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_run_explicit3ju26l_m (dataset)
add(ok): dirt_modified (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(impossible): /tmp/datalad_temp_test_run_explicit3ju26l_m (dataset) [clean dataset required to detect changes from command; use `datalad status` to inspect unsaved changes]
PASSED
datalad/core/local/tests/test_run.py::test_inputs_quotes_needed create(ok): . (dataset)
add(ok): |;&%b5{}'"<> .datc .t (file)
add(ok): bar.txt (file)
add(ok): foo blah.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_inputs_quotes_needed9ab1buqf (dataset) [/usr/bin/python3.13 -c "import sys; open...]
add(ok): out0 (file)
save(ok): . (dataset)
unlock(ok): out0 (file)
run(ok): /tmp/datalad_temp_tree_test_inputs_quotes_needed9ab1buqf (dataset) [/usr/bin/python3.13 -c 'import sys; open...]
add(ok): out0 (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_inject create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_format_command_strip_leading_dashes create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_cmdline_disambiguation create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_path_semantics create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_path_semanticsy2xr8z5o/ds0 (dataset) [cd .> one]
add(ok): s0/one (file)
save(ok): . (dataset)
unlock(ok): s0/one (file)
run(ok): /tmp/datalad_temp_test_run_path_semanticsy2xr8z5o/ds0 (dataset) [cd .> one]
add(ok): s0/one (file)
create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_path_semanticsy2xr8z5o/ds0 (dataset) [cd .> /tmp/datalad_temp_test_run_path_se...]
add(ok): two (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_path_semanticsy2xr8z5o/ds0 (dataset) [cd .> /tmp/datalad_temp_test_run_path_se...]
add(ok): three (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_path_semanticsy2xr8z5o/ds0 (dataset) [cd .> four]
run(ok): /tmp/datalad_temp_test_run_path_semanticsy2xr8z5o/ds0 (dataset) [cd .> five]
add(ok): five (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_remove_keeps_leading_directory create(ok): . (dataset)
add(ok): d/foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_run.py::test_run_reglob_outputs create(ok): . (dataset)
add(ok): write_text.py (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_run_reglob_outputsvau3ztrt (dataset) [/usr/bin/python3.13 write_text.py foo]
add(ok): foo.txt (file)
save(ok): . (dataset)
unlock(ok): foo.txt (file)
run(ok): /tmp/datalad_temp_test_run_reglob_outputsvau3ztrt (dataset) [/usr/bin/python3.13 write_text.py bar]
add(ok): bar.txt (file)
add(ok): foo.txt (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_unexpanded_placeholders create(ok): . (dataset)
run(error): /tmp/datalad_temp_test_run_unexpanded_placeholders53zlynmh (dataset) [Input did not match existing file: foo*]
run(ok): /tmp/datalad_temp_test_run_unexpanded_placeholders53zlynmh (dataset) [/usr/bin/python3.13 -c 'import sys; open...]
add(ok): arg1 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_unexpanded_placeholders53zlynmh (dataset) [/usr/bin/python3.13 -c 'import sys; open...]
add(ok): arg2 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_unexpanded_placeholders53zlynmh (dataset) [/usr/bin/python3.13 -c 'import sys; open...]
add(ok): arg3 (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_empty_repo create(ok): . (dataset)
run(error): /tmp/datalad_temp_test_run_empty_repox7jpukkx (dataset) [Input did not match existing file: *]
run(ok): /tmp/datalad_temp_test_run_empty_repox7jpukkx (dataset) [/usr/bin/python3.13 -c 'open('"'"'foo'"'...]
add(ok): foo (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_dry_run create(ok): . (dataset)
add(ok): bar (file)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): baz (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
uninstall(ok): sub (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_io_substitution create(ok): . (dataset)
add(ok): |;&%b5{}'"<> .datc .t (file)
add(ok): normal.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_run.py::test_format_iospecs PASSED
datalad/core/local/tests/test_run.py::test_substitution_config PASSED
datalad/core/local/tests/test_save.py::test_save create(ok): . (dataset)
save(ok): . (dataset)
add(ok): new_file.tst (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): new_file.tst (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
save(ok): . (dataset)
add(ok): one.txt (file)
add(ok): two.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): some_file.tst (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): someotherds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): someotherds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
save(error): . (dataset) [cannot tag this version: fatal: tag 'new_sub' already exists]
PASSED
datalad/core/local/tests/test_save.py::test_save_message_file create(ok): . (dataset)
add(ok): msg (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_renamed_file[False-True] create(ok): . (dataset)
save(ok): . (dataset)
delete(ok): new (symlink)
save(ok): . (dataset)
action summary:
delete (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_renamed_file[False-False] create(ok): . (dataset)
save(ok): . (dataset)
delete(ok): new (file)
save(ok): . (dataset)
action summary:
delete (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_subdataset_save create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): new (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): new2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 1, ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_subsuperdataset_save create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1/sub2 (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1/sub2/sub3 (dataset)
action summary:
add (ok: 6)
create (ok: 1)
save (ok: 3)
PASSED
datalad/core/local/tests/test_save.py::test_symlinked_relpath create(ok): . (dataset)
save(ok): . (dataset)
add(ok): d/mike2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_bf1886 create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): down (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/up (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/subsubdir/upup (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): /tmp/datalad_temp_test_bf1886b11pkq3c/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
add(ok): subdir/subsubdir/upup2 (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
create(ok): /tmp/datalad_temp_test_bf1886b11pkq3c/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): subdir/subsubdir/upup3 (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (notneeded: 1, ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_gh2043p1 create(ok): . (dataset)
add(ok): 1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): 1 (file)
add(ok): 1 (file)
action summary:
add (ok: 1)
save (notneeded: 1)
add(ok): 2 (file)
add(ok): 3 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_bf2043p2 create(ok): . (dataset)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_encoding create(ok): . (dataset)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_add_files create(ok): . (dataset)
add(ok): test_annex.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): test.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): test1.dat (file)
add(ok): test2.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): dir/ |;&%b5{}'"<> .datc (file)
add(ok): dir/testindir (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_add_subdataset create(ok): /tmp/datalad_temp_tree_test_add_subdatasetk2rkv86a/dir (dataset)
create(ok): /tmp/datalad_temp_tree_test_add_subdatasetk2rkv86a (dataset)
add(ok): |;&%b5{}'"<> .datc (file)
add(ok): testindir (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): dir (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
subdataset(ok): dir (dataset)
create(ok): /tmp/datalad_temp_test_add_subdataset97hl1xdf (dataset)
install(ok): /tmp/datalad_temp_tree_test_add_subdatasetk2rkv86a/other (dataset)
subdataset(ok): dir (dataset)
add(ok): other (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
uninstall(ok): other (dataset)
install(ok): /tmp/datalad_temp_tree_test_add_subdatasetk2rkv86a/other (dataset) [Installed subdataset in order to get /tmp/datalad_temp_tree_test_add_subdatasetk2rkv86a/other]
PASSED
datalad/core/local/tests/test_save.py::test_add_mimetypes create(ok): . (dataset)
add(ok): empty (file)
add(ok): file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): file2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_gh1597 create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
subdataset(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_gh1597_simpler create(ok): . (dataset)
add(ok): .gitignore (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/.gitattributes (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_update_known_submodule create(ok): . (dataset)
create(ok): /tmp/datalad_temp_test_update_known_submoduleoqq8w1o8/wo_ref/sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
create(ok): /tmp/datalad_temp_test_update_known_submoduleoqq8w1o8/w_ref/sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_add_recursive create(ok): . (dataset)
add(ok): down/sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): down/sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): new (file)
save(ok): sub2/subsub (dataset)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (notneeded: 1, ok: 3)
PASSED
datalad/core/local/tests/test_save.py::test_relpath_add create(ok): . (dataset)
add(ok): dir/testindir (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): |;&%b5{}'"<> .datc (file)
add(ok): dir/ |;&%b5{}'"<> .datc (file)
add(ok): dir2/testindir3 (file)
add(ok): test.txt (file)
add(ok): test1.dat (file)
add(ok): test2.dat (file)
add(ok): test_annex.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 7)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_bf2541 create(ok): /tmp/datalad_temp_test_bf2541p9g22_6u (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): symlink (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (notneeded: 1, ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_remove_subds create(ok): /tmp/datalad_temp_test_remove_subdsleee7trt (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub/subsub (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
subdataset(ok): sub (dataset)
deleted: sub (dataset)
delete(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
delete (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_partial_unlocked create(ok): /tmp/datalad_temp_test_partial_unlocked6kskwxie (dataset)
add(ok): normal.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): normal.txt (file)
add(ok): normal.txt (file)
action summary:
add (ok: 1)
save (notneeded: 1)
add(ok): ingit.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): culprit.txt (file)
add(ok): ingit.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
unlock(ok): culprit.txt (file)
add(ok): .gitattributes (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_partial_commit_shrinking_annex create(ok): /tmp/datalad_temp_tree_test_save_partial_commit_shrinking_annex9b813zwx (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): foo (file)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_path_arg_call create(ok): /tmp/datalad_temp_test_path_arg_calldh4mtlwb (dataset)
add(ok): abs.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): rel.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_windows_incompatible_names create(ok): . (dataset)
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): imgood (file)
save(impossible): lookmumadot. (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(impossible): dirs with spaces/why somuch?wrongstuff. (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(impossible): dirs with spaces/seriously? (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(impossible): illegal:character.txt (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(impossible): spaceending (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(impossible): COM1.txt (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(ok): . (dataset)
action summary:
add (ok: 1)
save (impossible: 6, ok: 1)
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): COM1.txt (file)
add(ok): dirs with spaces/seriously? (file)
add(ok): dirs with spaces/why somuch?wrongstuff. (file)
add(ok): illegal:character.txt (file)
add(ok): lookmumadot. (file)
add(ok): spaceending (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): more illegal:characters?.py (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_surprise_subds create(ok): /tmp/datalad_temp_tree_test_surprise_subds2c2w9qsl (dataset)
create(ok): /tmp/datalad_temp_tree_test_surprise_subds2c2w9qsl/d2/subds (dataset)
add_submodule(error): /tmp/datalad_temp_tree_test_surprise_subds2c2w9qsl/d1/subrepo (dataset) [cannot add subdataset AnnexRepo(/tmp/datalad_temp_tree_test_surprise_subds2c2w9qsl/d1/subrepo) with no commits]
add(ok): d2/subds (dataset)
add(ok): .gitmodules (file)
add(ok): file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
add_submodule (error: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_bf3285 create(ok): . (dataset)
create(ok): /tmp/datalad_temp_tree_test_bf3285ip1wooil/subds (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_on_failure_continue create(ok): . (dataset)
status(error): ../outside [path not underneath the reference dataset /tmp/datalad_temp_tree_test_on_failure_continuewnkqgd2m/ds]
add(ok): within (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
status (error: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_obscure_name create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[True-None] create(ok): . (dataset)
add(ok): .dot (file)
add(ok): .dot-subdir/.dot (file)
add(ok): .dot-subdir/nodot (file)
add(ok): nodot (file)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[True-nodot-subdir] create(ok): . (dataset)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[False-None] create(ok): . (dataset)
add(ok): .dot (file)
add(ok): .dot-subdir/.dot (file)
add(ok): .dot-subdir/nodot (file)
add(ok): nodot (file)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[False-nodot-subdir] create(ok): . (dataset)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[None-None] create(ok): . (dataset)
add(ok): .dot (file)
add(ok): .dot-subdir/.dot (file)
add(ok): .dot-subdir/nodot (file)
add(ok): nodot (file)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[None-nodot-subdir] create(ok): . (dataset)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_nested_subs_explicit_paths create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
add(ok): s3 (dataset)
add(ok): .gitmodules (file)
save(ok): s1/s2 (dataset)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): s1 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 3)
subdataset(ok): s1 (dataset)
subdataset(ok): s1/s2 (dataset)
subdataset(ok): s1/s2/s3 (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_save_gitrepo_annex_subds_adjusted create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_adjusted_partial SKIPPED
datalad/core/local/tests/test_save.py::test_save_diff_ignore_submodules_config create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_git_mv_fixup create(ok): . (dataset)
add(ok): subdir/foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
delete(ok): subdir/foo (symlink)
save(ok): . (dataset)
action summary:
delete (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_amend create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_sub (file)
save(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
add(ok): somefile (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 2)
save(ok): . (dataset)
unlock(ok): file_in_sub (file)
add(ok): file_in_sub (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
unlock(ok): file_in_sub (file)
add(ok): somefile (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
save(ok): . (dataset)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_save_sub_trailing_sep_bf6547 create(ok): . (dataset)
create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 1, ok: 1)
PASSED
datalad/core/local/tests/test_status.py::test_runnin_on_empty PASSED
datalad/core/local/tests/test_status.py::test_status_basics create(ok): . (dataset)
status(error): ../datalad_temp_test_status_basicspdae71ep [path not underneath the reference dataset /tmp/datalad_temp_test_status_basicsi55q_pn3]
PASSED
datalad/core/local/tests/test_status.py::test_status_nods create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_status.py::test_status create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_status.py::test_untracked_annex_query create(ok): . (dataset)
untracked: untracked_file.txt (file)
PASSED
datalad/core/local/tests/test_status.py::test_subds_status create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): someotherds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): someotherds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_status.py::test_status_symlinked_dir_within_repo create(ok): . (dataset)
add(ok): bar (file)
add(ok): foo/f (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_status.py::test_get_paths_by_ds create(ok): . (dataset)
create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/customremotes/tests/test_archives.py::test_basic_scenario PASSED
datalad/customremotes/tests/test_archives.py::test_annex_get_from_subdir create(ok): . (dataset)
add(ok): a.tar.gz (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_test_annex_get_from_subdirnbbplc39 (dataset)
PASSED
datalad/customremotes/tests/test_archives.py::test_get_git_environ_adjusted PASSED
datalad/customremotes/tests/test_archives.py::test_no_rdflib_loaded PASSED
datalad/customremotes/tests/test_archives.py::test_link_file_load PASSED
datalad/customremotes/tests/test_base.py::test_get_contentlocation PASSED
datalad/customremotes/tests/test_base.py::test_ensure_datalad_remote_unkown_remote PASSED
datalad/customremotes/tests/test_base.py::test_ensure_datalad_remote_init_and_enable_needed create(ok): . (dataset)
PASSED
datalad/customremotes/tests/test_base.py::test_ensure_datalad_remote_maybe_enable[False] create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_ensure_datalad_remote_maybe_enable035qcvet/b (dataset)
PASSED
datalad/customremotes/tests/test_base.py::test_ensure_datalad_remote_maybe_enable[True] create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_ensure_datalad_remote_maybe_enablegwvcl0cb/b (dataset)
PASSED
datalad/customremotes/tests/test_datalad.py::test_basic_scenario_local_url SKIPPED
datalad/customremotes/tests/test_datalad.py::test_basic_scenario_s3 SKIPPED
datalad/customremotes/tests/test_main.py::test_erroring_out PASSED
datalad/customremotes/tests/test_ria_utils.py::test_setup_store SKIPPED
datalad/customremotes/tests/test_ria_utils.py::test_setup_ds_in_store SKIPPED
datalad/customremotes/tests/test_ria_utils.py::test_verify_ria_url PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_invalid_path PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_instance_from_existing PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_instance_from_not_existing PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_init_options PASSED
datalad/dataset/tests/test_gitrepo.py::test_init_fail_under_known_subdir PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_equals PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_flyweight PASSED
datalad/dataset/tests/test_gitrepo.py::test_gitrepo_call_git_methods PASSED
datalad/dataset/tests/test_gitrepo.py::test_fake_dates SKIPPED (Core...)
datalad/dataset/tests/test_gitrepo.py::test_get_dot_git PASSED
datalad/dataset/tests/test_gitrepo.py::test_call_git_items PASSED
datalad/dataset/tests/test_gitrepo.py::test_call_git_call_git_items_identity PASSED
datalad/distributed/tests/test_create_sibling_ghlike.py::test_invalid_call create(ok): . (dataset)
create_sibling_gin [dry-run](error): . (dataset) [already has a configured sibling "gin"]
PASSED
datalad/distributed/tests/test_create_sibling_ghlike.py::test_dryrun create(ok): . (dataset)
create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus']
create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'strangeorg/bogus']
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus']
create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus-subds']
action summary:
create_sibling_gin [dry-run] (ok: 2)
uninstall(ok): subds (dataset)
create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus']
PASSED
datalad/distributed/tests/test_create_sibling_gin.py::test_gin SKIPPED
datalad/distributed/tests/test_create_sibling_gitea.py::test_gitea SKIPPED
datalad/distributed/tests/test_create_sibling_github.py::test_github SKIPPED
datalad/distributed/tests/test_create_sibling_gitlab.py::test_dryrun create(ok): . (dataset)
add(ok): subdir/collection1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/collection1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): collection2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): collection2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): deepsub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): deepsub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): collection2 (dataset)
add(ok): collection2 (dataset)
add(ok): subdir/collection1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (notneeded: 5, ok: 2)
create_sibling_gitlab(impossible): imaghost (dataset) [No installed dataset found under /tmp/datalad_temp_test_dryrunvdltivge/imaghost, forgot to "get" it?]
create_sibling_gitlab(error): . (dataset) [No project name/location specified, and no configuration to derive one]
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): collection2 (dataset)
create_sibling_gitlab(ok): collection2/sub1 (dataset)
create_sibling_gitlab(ok): collection2/sub1/deepsub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub2 (dataset)
action summary:
create_sibling_gitlab (ok: 7)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): collection2 (dataset)
create_sibling_gitlab(ok): collection2/sub1 (dataset)
create_sibling_gitlab(ok): collection2/sub1/deepsub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub2 (dataset)
action summary:
create_sibling_gitlab (ok: 7)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): collection2 (dataset)
create_sibling_gitlab(ok): collection2/sub1 (dataset)
create_sibling_gitlab(ok): collection2/sub1/deepsub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub2 (dataset)
action summary:
create_sibling_gitlab (ok: 7)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): collection2 (dataset)
create_sibling_gitlab(ok): collection2/sub1 (dataset)
create_sibling_gitlab(ok): collection2/sub1/deepsub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub2 (dataset)
action summary:
create_sibling_gitlab (ok: 7)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): collection2 (dataset)
create_sibling_gitlab(ok): collection2/sub1 (dataset)
create_sibling_gitlab(ok): collection2/sub1/deepsub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub2 (dataset)
action summary:
create_sibling_gitlab (ok: 7)
uninstall(ok): subdir/collection1 (dataset)
uninstall(ok): collection2 (dataset)
action summary:
uninstall (ok: 2)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(impossible): . (dataset) [No installed subdatasets found underneath /tmp/datalad_temp_test_dryrunvdltivge, forgot to "get" any?]
action summary:
create_sibling_gitlab (impossible: 1, ok: 1)
PASSED
datalad/distributed/tests/test_create_sibling_gitlab.py::test_fake_gitlab create(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset) [sibling repository 'dummy' created at None]
configure-sibling(ok): . (sibling)
action summary:
configure-sibling (ok: 1)
create_sibling_gitlab (ok: 1)
configure-sibling(ok): . (sibling)
action summary:
configure-sibling (ok: 1)
create_sibling_gitlab (notneeded: 1)
create_sibling_gitlab(error): . (dataset) [There is already a project at 'here/project' on site 'dummy', but no sibling with name 'othername' is configured, maybe use --existing=reconfigure]
create_sibling_gitlab(error): . (dataset) [already has a configured sibling "dummy"]
create_sibling_gitlab(ok): . (dataset) [sibling repository 'sshsite' created at None]
configure-sibling(ok): . (sibling)
action summary:
configure-sibling (ok: 1)
create_sibling_gitlab (ok: 1)
create_sibling_gitlab(error): . (dataset) [There is already a project at 'here/project' on site 'sshsite', but no sibling with name 'sshsite2' is configured, maybe use --existing=reconfigure]
create_sibling_gitlab(error): . (dataset) [already has a configured sibling "sshsite"]
PASSED
datalad/distributed/tests/test_create_sibling_gogs.py::test_invalid_call create(ok): . (dataset)
PASSED
datalad/distributed/tests/test_create_sibling_gogs.py::test_gogs SKIPPED
datalad/distributed/tests/test_create_sibling_ria.py::test_invalid_calls create(ok): . (dataset)
create-sibling-ria(error): /tmp/datalad_temp_test_invalid_callsci03ykrb (dataset) [Missing ria+ prefix in final URL: file:///some/where]
PASSED
datalad/distributed/tests/test_create_sibling_ria.py::test_create_simple create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): evenmore.txt (file)
save(ok): sub2 (dataset)
add(ok): other.txt (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
add(ok): ds/file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_store7ulv52k4 (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
copy(ok): ds/file1.txt (file) [to datastore-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->datastore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->datastore:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp__test_create_store4vxc30vn/test_install (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
get(ok): ds/file1.txt (file) [from datastore-storage...]
create-sibling-ria(error): /tmp/datalad_temp_tree__test_create_store7ulv52k4 (sibling) [a sibling 'datastore' is already configured in dataset '/tmp/datalad_temp_tree__test_create_store7ulv52k4']
create-sibling-ria(error): /tmp/datalad_temp_tree__test_create_store7ulv52k4 (sibling) [a sibling 'datastore-storage' is already configured in dataset '/tmp/datalad_temp_tree__test_create_store7ulv52k4']
action summary:
create-sibling-ria (error: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_store7ulv52k4 (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_store7ulv52k4/sub (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_store7ulv52k4/sub2 (dataset)
action summary:
configure-sibling (ok: 3)
create-sibling-ria (ok: 3)
update (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_store7ulv52k4 (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_store7ulv52k4 (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_store7ulv52k4 (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
SKIPPED
datalad/distributed/tests/test_create_sibling_ria.py::test_create_push_url SKIPPED
datalad/distributed/tests/test_create_sibling_ria.py::test_create_alias create(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_create_alias2hzq6987/a (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
install(ok): /tmp/datalad_temp_test_create_alias_ah4g4j6/a (dataset)
create(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_create_alias2hzq6987/b (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
install(ok): /tmp/datalad_temp_test_create_alias_ah4g4j6/b (dataset)
create(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_create_alias2hzq6987/c (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
PASSED
datalad/distributed/tests/test_create_sibling_ria.py::test_storage_only create(ok): . (dataset)
add(ok): ds/file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_storage_onlymmk3aquh (dataset)
copy(ok): ds/file1.txt (file) [to datastore...]
action summary:
copy (ok: 1)
PASSED
datalad/distributed/tests/test_create_sibling_ria.py::test_no_storage create(ok): . (dataset)
add(ok): ds/file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_no_storageg47hr_d_ (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_no_storageg47hr_d_ (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->datastore1:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->datastore1:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
PASSED
datalad/distributed/tests/test_create_sibling_ria.py::test_no_store create(ok): . (dataset)
create-sibling-ria(error): /tmp/datalad_temp_test_no_store7i4as1v3 (dataset) [Missing ria+ prefix in final URL: 'ria+file:///no/where']
PASSED
datalad/distributed/tests/test_drop.py::test_drop_file_content create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(error): ../datalad_temp_test_drop_file_contentrvqfxgn4 [path not underneath the reference dataset Dataset(/tmp/datalad_temp_test_drop_file_content0fa7n4_6)]
drop(error): subdir/annexed_file.txt (file) [unsafe; Could not verify the existence of the 1 necessary copy.; (Use --reckless availability to override this check, or adjust numcopies.)]
drop(error): subds_modified/subfunky (file) [File unknown to git]
drop(error): funky (file) [File unknown to git]
action summary:
drop (error: 2)
drop(ok): subds_modified/subdir/annexed_file.txt (file)
drop(ok): subdir/annexed_file.txt (file)
action summary:
drop (ok: 2)
drop(impossible): subdir/annexed_file.txt (symlink) [cannot drop modified content, save first]
drop(impossible): subds_modified/subds_lvl1_modified/ |;&%b5{}'"<> .datc _directory_untracked (directory) [cannot drop untracked content, save first]
drop(impossible): subds_modified/subds_lvl1_modified/ |;&%b5{}'"<> .datc _directory_untracked (directory) [cannot drop untracked content, save first]
drop(impossible): subds_modified/link2superdsdir (symlink) [cannot drop untracked content, save first]
drop(impossible): |;&%b5{}'"<> .datc file_modified_ (file) [cannot drop untracked content, save first]
drop(impossible): directory_untracked (directory) [cannot drop untracked content, save first]
drop(impossible): link2dir (symlink) [cannot drop untracked content, save first]
drop(impossible): link2subdsdir (symlink) [cannot drop untracked content, save first]
drop(impossible): link2subdsroot (symlink) [cannot drop untracked content, save first]
drop(impossible): subdir/file_modified (file) [cannot drop untracked content, save first]
drop(impossible): subdir/link2annex_files.txt (symlink) [cannot drop untracked content, save first]
drop(impossible): subdir/annexed_file.txt (symlink) [cannot drop modified content, save first]
action summary:
drop (impossible: 10)
PASSED
datalad/distributed/tests/test_drop.py::test_drop_allkeys create(ok): . (dataset)
add(ok): file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(impossible): . (dataset) [cannot drop allkeys, with path constraints given: [PosixPath('/tmp/datalad_temp_test_drop_allkeysjxgun1h3/some')]]
install(ok): /tmp/datalad_temp_test_drop_allkeyse8z9afu3 (dataset)
drop(error): . (key) [unsafe
Could not verify the existence of the 1 necessary copy.
(Use --reckless availability to override this check, or adjust numcopies.)]
drop(ok): . (key)
action summary:
drop (error: 1, ok: 1)
drop(ok): . (key)
PASSED
datalad/distributed/tests/test_drop.py::test_undead_annex_detection create(ok): . (dataset)
create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_undead_annex_detectioncvh1drrj (dataset)
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex c7eab18..6c22e05]
action summary:
publish (notneeded: 1, ok: 1)
PASSED
datalad/distributed/tests/test_drop.py::test_uninstall_recursive create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
uninstall(error): . (dataset) [cannot drop dataset, subdataset(s) still present (forgot --recursive?): ['/tmp/datalad_temp_test_uninstall_recursiveu1zakdlj/sub']]
uninstall(ok): sub (dataset)
uninstall(ok): . (dataset)
action summary:
uninstall (ok: 2)
PASSED
datalad/distributed/tests/test_drop.py::test_unpushed_state_detection create(ok): . (dataset)
add(ok): file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_unpushed_state_detectionkgb3opfx (dataset)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): file2 (file) [to dl-test-remote...]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex fde9373..b580a7c]
publish(ok): . (dataset) [refs/heads/otherbranch->dl-test-remote:refs/heads/otherbranch 0702abd..f7a1b9d]
action summary:
copy (ok: 1)
publish (ok: 2)
PASSED
datalad/distributed/tests/test_drop.py::test_safetynet create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_safetynetphtot0e8 (dataset)
drop(impossible): file1 (file) [cannot drop untracked content, save first]
add(ok): file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
uninstall(error): . (dataset) [to-be-dropped dataset has revisions that are not available at any known sibling. Use `datalad push --to ...` to push these before dropping the local dataset, or ignore via `--reckless availability`. Unique revisions: ['dl-test-branch']]
publish(ok): . (dataset) [refs/heads/dl-test-branch->dl-test-remote:refs/heads/dl-test-branch f97190f..0f42514]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex bd18ce6..3319fe3]
action summary:
publish (ok: 2)
uninstall(error): . (dataset) [to-be-deleted local annex not declared 'dead' at the following siblings. Announce death (`git annex dead here` + `datalad push --to ...`), or ignore via `--reckless undead`: ['dl-test-remote']]
uninstall(error): . (dataset) [to-be-deleted local annex not declared 'dead' at the following siblings. Announce death (`git annex dead here` + `datalad push --to ...`), or ignore via `--reckless undead`: ['dl-test-remote']]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex 3319fe3..180c0a3]
action summary:
publish (notneeded: 1, ok: 1)
drop(error): . (key) [unsafe
Could not verify the existence of the 1 necessary copy.
(Use --reckless availability to override this check, or adjust numcopies.)]
copy(ok): file1 (file) [to dl-test-remote...]
action summary:
copy (ok: 1)
publish (notneeded: 2)
drop(ok): . (key)
uninstall(ok): . (dataset)
action summary:
drop (ok: 1)
uninstall (ok: 1)
PASSED
datalad/distributed/tests/test_drop.py::test_kill create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
uninstall(ok): . (dataset)
PASSED
datalad/distributed/tests/test_drop.py::test_kill_7013 create(ok): . (dataset)
add(ok): subdir/subdir/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/subdir/subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subdir/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
uninstall(ok): subds (dataset)
uninstall(ok): subdir/subdir/subds (dataset)
uninstall(ok): subdir/subds (dataset)
action summary:
drop (notneeded: 1)
uninstall (ok: 3)
PASSED
datalad/distributed/tests/test_drop.py::test_refuse_to_drop_cwd create(ok): . (dataset)
drop(error): .. [path not underneath the reference dataset Dataset(/tmp/datalad_temp_test_refuse_to_drop_cwdtugvn52j)]
drop(error): ../.. [path not underneath the reference dataset Dataset(/tmp/datalad_temp_test_refuse_to_drop_cwdtugvn52j)]
drop(error): .. [path not underneath the reference dataset Dataset(/tmp/datalad_temp_test_refuse_to_drop_cwdtugvn52j)]
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/distributed/tests/test_drop.py::test_careless_subdataset_uninstall create(ok): . (dataset)
add(ok): deep1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): deep1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): deep2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): deep2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): deep1 (dataset)
subdataset(ok): deep2 (dataset)
uninstall(ok): . (dataset)
subdataset(ok): deep1 (dataset)
subdataset(ok): deep2 (dataset)
PASSED
datalad/distributed/tests/test_drop.py::test_drop_nocrash_absent_subds create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
action summary:
drop (notneeded: 2)
PASSED
datalad/distributed/tests/test_drop.py::test_uninstall_without_super create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(ok): /tmp/datalad_temp_test_uninstall_without_supervavf61kt/nosub (dataset)
subdataset(ok): sub (dataset)
uninstall(ok): sub (dataset)
subdataset(ok): sub (dataset)
PASSED
datalad/distributed/tests/test_drop.py::test_drop_from_git create(ok): . (dataset)
add(ok): file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
action summary:
drop (notneeded: 2)
PASSED
datalad/distributed/tests/test_drop.py::test_drop_uninit_annexrepo create(ok): . (dataset)
uninstall(ok): . (dataset)
PASSED
datalad/distributed/tests/test_drop.py::test_drop_allkeys_result_contains_annex_error_messages create(ok): . (dataset)
drop(error): . (key) [git-annex error message here]
PASSED
datalad/distributed/tests/test_drop.py::test_nodrop_symlinked_annex PASSED
datalad/distributed/tests/test_export_to_figshare.py::test_get_default_title create(ok): . (dataset)
PASSED
datalad/distributed/tests/test_ora_http.py::test_initremote create(ok): . (dataset)
PASSED
datalad/distributed/tests/test_ora_http.py::test_read_access create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
drop(ok): one.txt (file)
drop(ok): subdir/four (file)
drop(ok): subdir/two (file)
drop(ok): three.txt (file)
drop(ok): . (directory)
action summary:
drop (ok: 5)
get(ok): one.txt (file) [from ora-remote...]
get(ok): subdir/four (file) [from ora-remote...]
get(ok): subdir/two (file) [from ora-remote...]
get(ok): three.txt (file) [from ora-remote...]
action summary:
get (ok: 4)
download_url(ok): /tmp/datalad_temp_test_read_accessx76f5zkb/dummy (file)
add(ok): dummy (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
PASSED
datalad/distributed/tests/test_ria.py::test_ephemeral create(ok): . (dataset)
add(ok): file1.txt (file)
add(ok): sub/other.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_ephemeralc3t81uv3 (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
copy(ok): file1.txt (file) [to riastore-storage...]
copy(ok): sub/other.txt (file) [to riastore-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->riastore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->riastore:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 2)
publish (ok: 2)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_ephemeralctdz8po7 (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
unlock(ok): file1.txt (file)
add(ok): file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->dl-test-remote:refs/heads/dl-test-branch 21b6962..3306bc6]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex 76aa007..3529f5f]
action summary:
publish (ok: 2)
merge(ok): . (dataset) [Merged riastore/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
get(ok): file1.txt (file) [from riastore-storage...]
get(ok): file1.txt (file) [from riastore-storage...]
action summary:
get (notneeded: 1, ok: 1)
update(ok): . (dataset)
action summary:
get (notneeded: 1, ok: 1)
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_initremote_basic_sshurl SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_initremote_basic_fileurl create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_initremote_basic_httpurl create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_initremote_basic_httpsurl SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_initremote_alias SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_initremote_rewrite SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_remote_layout_ssh SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_remote_layout
7-Zip 24.08 (arm64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-08-11
64-bit arm_v:8-A locale=C.UTF-8 Threads:4 OPEN_MAX:1024
Scanning the drive:
12 folders, 4 files, 32 bytes (1 KiB)
Creating archive: /tmp/datalad_temp__test_remote_layoutuizmej6l/b7b/74531-ca1d-4339-b730-5a1182bc9f61/archives/archive.7z
Add new data to archive: 12 folders, 4 files, 32 bytes (1 KiB)
Files read from disk: 4
Archive size: 430 bytes (1 KiB)
Everything is Ok
7-Zip 24.08 (arm64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-08-11
64-bit arm_v:8-A locale=C.UTF-8 Threads:4 OPEN_MAX:1024
Scanning the drive:
6 folders, 2 files, 16 bytes (1 KiB)
Creating archive: /tmp/datalad_temp__test_remote_layoutuizmej6l/b7b/74531-ca1d-4339-b730-5a1182bc9f61/archives/archive2.7z
Add new data to archive: 6 folders, 2 files, 16 bytes (1 KiB)
Files read from disk: 2
Archive size: 298 bytes (1 KiB)
Everything is Ok
7-Zip 24.08 (arm64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-08-11
64-bit arm_v:8-A locale=C.UTF-8 Threads:4 OPEN_MAX:1024
Scanning the drive:
6 folders, 2 files, 16 bytes (1 KiB)
Creating archive: /tmp/datalad_temp__test_remote_layoutuizmej6l/b7b/74531-ca1d-4339-b730-5a1182bc9f61/archives/archive3.7z
Add new data to archive: 6 folders, 2 files, 16 bytes (1 KiB)
Files read from disk: 2
Archive size: 297 bytes (1 KiB)
Everything is Ok
7-Zip 24.08 (arm64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-08-11
64-bit arm_v:8-A locale=C.UTF-8 Threads:4 OPEN_MAX:1024
Scanning the drive:
6 folders, 2 files, 16 bytes (1 KiB)
Creating archive: /tmp/datalad_temp__test_remote_layoutuizmej6l/b7b/74531-ca1d-4339-b730-5a1182bc9f61/archives/archive4.7z
Add new data to archive: 6 folders, 2 files, 16 bytes (1 KiB)
Files read from disk: 2
Archive size: 297 bytes (1 KiB)
Everything is Ok
create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
copy(ok): one.txt (file) [to store...]
copy(ok): subdir/four (file) [to store...]
copy(ok): subdir/two (file) [to store...]
copy(ok): three.txt (file) [to store...]
action summary:
copy (ok: 4)
export-archive-ora(ok): /tmp/datalad_temp__test_remote_layoutuizmej6l/b7b/74531-ca1d-4339-b730-5a1182bc9f61/archives/archive.7z (file)
export-archive-ora(ok): /tmp/datalad_temp__test_remote_layoutuizmej6l/b7b/74531-ca1d-4339-b730-5a1182bc9f61/archives/archive2.7z (file)
export-archive-ora(ok): /tmp/datalad_temp__test_remote_layoutuizmej6l/b7b/74531-ca1d-4339-b730-5a1182bc9f61/archives/archive3.7z (file)
export-archive-ora(ok): /tmp/datalad_temp__test_remote_layoutuizmej6l/b7b/74531-ca1d-4339-b730-5a1182bc9f61/archives/archive4.7z (file)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_version_check_ssh SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_version_check create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
copy(ok): one.txt (file) [to store...]
copy(ok): subdir/four (file) [to store...]
copy(ok): subdir/two (file) [to store...]
copy(ok): three.txt (file) [to store...]
action summary:
copy (ok: 4)
drop(ok): one.txt (file)
drop(ok): subdir/four (file)
drop(ok): subdir/two (file)
drop(ok): three.txt (file)
drop(ok): . (directory)
action summary:
drop (ok: 5)
get(ok): one.txt (file) [from store...]
get(ok): subdir/four (file) [from store...]
get(ok): subdir/two (file) [from store...]
get(ok): three.txt (file) [from store...]
action summary:
get (ok: 4)
add(ok): new_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): new_file (file) [to store...]
action summary:
copy (ok: 1)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_gitannex_ssh SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_gitannex_local testremote store (generating test keys...)
Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games)
Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games)
Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games)
Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games)
Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games)
Remote Tests
unavailable remote
removeKey: OK
storeKey: OK
checkPresent: OK
retrieveKeyFile: OK
retrieveKeyFileCheap: OK
key size Just 1048576; remote chunksize=0 encryption=none
removeKey when not present: OK (0.64s)
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK
present False: OK
key size Just 1048576; remote chunksize=0 encryption=shared
removeKey when not present: OK (0.63s)
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048576; remote chunksize=10485 encryption=none
removeKey when not present: OK (0.60s)
present False: OK
storeKey: OK (0.16s)
present True: OK (0.05s)
storeKey when already present: OK (0.04s)
present True: OK (0.03s)
retrieveKeyFile: OK (0.13s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.12s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.07s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK (0.05s)
present False: OK
key size Just 1048576; remote chunksize=10485 encryption=shared
removeKey when not present: OK (0.58s)
present False: OK
storeKey: OK (0.16s)
present True: OK (0.05s)
storeKey when already present: OK (0.04s)
present True: OK (0.03s)
retrieveKeyFile: OK (0.14s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.13s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.09s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.06s)
present False: OK
key size Just 1048576; remote chunksize=1048 encryption=none
removeKey when not present: OK (0.84s)
present False: OK
storeKey: OK (1.60s)
present True: OK (0.32s)
storeKey when already present: OK (0.25s)
present True: OK (0.24s)
retrieveKeyFile: OK (0.76s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.52s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.32s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK
fsck downloaded object: OK
removeKey when present: OK (0.25s)
present False: OK
key size Just 1048576; remote chunksize=1048 encryption=shared
removeKey when not present: OK (0.84s)
present False: OK
storeKey: OK (1.48s)
present True: OK (0.29s)
storeKey when already present: OK (0.17s)
present True: OK (0.18s)
retrieveKeyFile: OK (0.51s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.47s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.32s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK
fsck downloaded object: OK
removeKey when present: OK (0.26s)
present False: OK
key size Just 1048576; remote chunksize=1048576 encryption=none
removeKey when not present: OK (0.60s)
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048576; remote chunksize=1048576 encryption=shared
removeKey when not present: OK (0.64s)
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK
present False: OK
key size Just 1048577; remote chunksize=0 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048577; remote chunksize=0 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048577; remote chunksize=10485 encryption=none
removeKey when not present: OK (0.04s)
present False: OK
storeKey: OK (0.17s)
present True: OK (0.03s)
storeKey when already present: OK (0.03s)
present True: OK (0.04s)
retrieveKeyFile: OK (0.11s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.11s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.09s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.06s)
present False: OK
key size Just 1048577; remote chunksize=10485 encryption=shared
removeKey when not present: OK (0.04s)
present False: OK
storeKey: OK (0.17s)
present True: OK (0.04s)
storeKey when already present: OK (0.03s)
present True: OK (0.04s)
retrieveKeyFile: OK (0.13s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.12s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.09s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.06s)
present False: OK
key size Just 1048577; remote chunksize=1048 encryption=none
removeKey when not present: OK (0.33s)
present False: OK
storeKey: OK (1.51s)
present True: OK (0.26s)
storeKey when already present: OK (0.17s)
present True: OK (0.20s)
retrieveKeyFile: OK (0.62s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.48s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.33s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK
fsck downloaded object: OK
removeKey when present: OK (0.32s)
present False: OK
key size Just 1048577; remote chunksize=1048 encryption=shared
removeKey when not present: OK (0.27s)
present False: OK
storeKey: OK (1.46s)
present True: OK (0.34s)
storeKey when already present: OK (0.27s)
present True: OK (0.22s)
retrieveKeyFile: OK (0.53s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.51s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.33s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.01s)
fsck downloaded object: OK
removeKey when present: OK (0.23s)
present False: OK
key size Just 1048577; remote chunksize=1048576 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.01s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.01s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.01s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.01s)
fsck downloaded object: OK
removeKey when present: OK
present False: OK
key size Just 1048577; remote chunksize=1048576 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK (0.01s)
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.03s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048575; remote chunksize=0 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048575; remote chunksize=0 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK
present False: OK
key size Just 1048575; remote chunksize=10485 encryption=none
removeKey when not present: OK (0.04s)
present False: OK
storeKey: OK (0.16s)
present True: OK (0.04s)
storeKey when already present: OK (0.05s)
present True: OK (0.04s)
retrieveKeyFile: OK (0.14s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.13s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.09s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.07s)
present False: OK
key size Just 1048575; remote chunksize=10485 encryption=shared
removeKey when not present: OK (0.04s)
present False: OK
storeKey: OK (0.16s)
present True: OK (0.04s)
storeKey when already present: OK (0.03s)
present True: OK (0.04s)
retrieveKeyFile: OK (0.14s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.14s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.10s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.07s)
present False: OK
key size Just 1048575; remote chunksize=1048 encryption=none
removeKey when not present: OK (0.26s)
present False: OK
storeKey: OK (1.67s)
present True: OK (0.29s)
storeKey when already present: OK (0.15s)
present True: OK (0.14s)
retrieveKeyFile: OK (0.57s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.53s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.34s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK
fsck downloaded object: OK
removeKey when present: OK (0.28s)
present False: OK
key size Just 1048575; remote chunksize=1048 encryption=shared
removeKey when not present: OK (0.23s)
present False: OK
storeKey: OK (1.71s)
present True: OK (0.30s)
storeKey when already present: OK (0.21s)
present True: OK (0.23s)
retrieveKeyFile: OK (0.90s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (1.08s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.63s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK (0.36s)
present False: OK
key size Just 1048575; remote chunksize=1048576 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048575; remote chunksize=1048576 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 2097152; remote chunksize=0 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.04s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 0: OK (0.04s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.04s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from end: OK (0.04s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 2097152; remote chunksize=0 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 2097152; remote chunksize=10485 encryption=none
removeKey when not present: OK (0.08s)
present False: OK
storeKey: OK (0.35s)
present True: OK (0.07s)
storeKey when already present: OK (0.07s)
present True: OK (0.07s)
retrieveKeyFile: OK (0.26s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 0: OK (0.28s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.20s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.05s)
fsck downloaded object: OK (0.03s)
removeKey when present: OK (0.12s)
present False: OK
key size Just 2097152; remote chunksize=10485 encryption=shared
removeKey when not present: OK (0.07s)
present False: OK
storeKey: OK (0.33s)
present True: OK (0.07s)
storeKey when already present: OK (0.07s)
present True: OK (0.05s)
retrieveKeyFile: OK (0.17s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.18s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.18s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.04s)
fsck downloaded object: OK (0.03s)
removeKey when present: OK (0.11s)
present False: OK
key size Just 2097152; remote chunksize=1048 encryption=none
removeKey when not present: OK (0.60s)
present False: OK
storeKey: OK (3.43s)
present True: OK (0.49s)
storeKey when already present: OK (0.40s)
present True: OK (0.44s)
retrieveKeyFile: OK (1.55s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (1.03s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.68s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK (0.57s)
present False: OK
key size Just 2097152; remote chunksize=1048 encryption=shared
removeKey when not present: OK (0.44s)
present False: OK
storeKey: OK (3.28s)
present True: OK (0.55s)
storeKey when already present: OK (0.62s)
present True: OK (0.36s)
retrieveKeyFile: OK (1.08s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (1.04s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.71s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK (0.50s)
present False: OK
key size Just 2097152; remote chunksize=1048576 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 2097152; remote chunksize=1048576 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK (0.01s)
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.05s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 0: OK (0.05s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 33%: OK (0.05s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from end: OK (0.04s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
exporttree=yes; key size Just 1048576; key size Just 2097152
check present export when not present: OK
remove export when not present: OK
store export: OK
check present export after store: OK
store export when already present: OK
retrieve export: OK
store new content to export: OK
check present export after store of new content: OK
retrieve export new content: OK
remove export: OK
check present export after remove: OK
retrieve export fails after removal: OK
remove export directory: OK
remove export directory that is already removed: OK
exporttree=yes; key size Just 1048576; key size Just 1048575
check present export when not present: OK
remove export when not present: OK
store export: OK
check present export after store: OK
store export when already present: OK
retrieve export: OK
store new content to export: OK
check present export after store of new content: OK
retrieve export new content: OK
remove export: OK
check present export after remove: OK
retrieve export fails after removal: OK
remove export directory: OK
remove export directory that is already removed: OK
exporttree=yes; key size Just 1048577; key size Just 2097152
check present export when not present: OK
remove export when not present: OK
store export: OK
check present export after store: OK
store export when already present: OK
retrieve export: OK
store new content to export: OK
check present export after store of new content: OK
retrieve export new content: OK
remove export: OK
check present export after remove: OK
retrieve export fails after removal: OK
remove export directory: OK
remove export directory that is already removed: OK
exporttree=yes; key size Just 1048577; key size Just 1048575
check present export when not present: OK
remove export when not present: OK
store export: OK
check present export after store: OK
store export when already present: OK
retrieve export: OK
store new content to export: OK
check present export after store of new content: OK
retrieve export new content: OK
remove export: OK
check present export after remove: OK
retrieve export fails after removal: OK
remove export directory: OK
remove export directory that is already removed: OK
All 573 tests passed (60.38s)
ok
(recording state in git...)
create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_binary_data SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_push_url create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
.: store(+) [ora]
.: here(+) [git]
PASSED
datalad/distributed/tests/test_ria_basics.py::test_url_keys create(ok): . (dataset)
save(ok): . (dataset)
create-sibling-ria(ok): /tmp/datalad_temp_test_url_keysio3nutg7 (dataset)
get(ok): url_no_size.html (file) [from web...]
drop(ok): url_no_size.html (file)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_sanitize_key PASSED
datalad/distributed/tests/test_ria_basics.py::test_obtain_permission_ssh SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_obtain_permission_root create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
.: store(+) [ora]
.: here(+) [git]
PASSED
datalad/distributed/tests/test_ria_git_remote.py::test_bare_git_version_1 SKIPPED
datalad/distributed/tests/test_ria_git_remote.py::test_bare_git_version_2 SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_invalid_call create(ok): . (dataset)
create_sibling(error): /tmp/datalad_temp_test_invalid_callzmi0g0t6 (dataset) [sibling 'bogus' already configured (specify alternative name, or force reconfiguration via --existing]
create_sibling(error): /tmp/datalad_temp_test_invalid_callzmi0g0t6 (dataset) [sibling 'bogus' already configured (specify alternative name, or force reconfiguration via --existing]
PASSED
datalad/distribution/tests/test_create_sibling.py::test_target_ssh_simple SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_target_ssh_recursive install(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6 (dataset)
install(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6/2 (dataset)
install(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6/subm 1 (dataset)
action summary:
install (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6/subm 1 (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6/2 (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6 (dataset)
action summary:
create_sibling (ok: 3)
publish(ok): . (dataset) [refs/heads/git-annex->remote-False:refs/heads/git-annex 4ad42c3..c1d39f9]
publish(ok): . (dataset) [refs/heads/dl-test-branch->remote-False:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
add(ok): subm 3-False (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 3-False (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6/subm 3-False (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
publish(ok): subm 3-False (dataset) [refs/heads/git-annex->remote-False:refs/heads/git-annex db97840..ddc7435]
publish(ok): subm 3-False (dataset) [refs/heads/dl-test-branch->remote-False:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/dl-test-branch->remote-False:refs/heads/dl-test-branch cde73d8..b4d1f45]
action summary:
publish (notneeded: 1, ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6/subm 3-False (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6/subm 1 (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6/2 (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6 (dataset)
action summary:
create_sibling (ok: 4)
publish(ok): . (dataset) [refs/heads/git-annex->remote-True:refs/heads/git-annex fe2bc0d..0c3654b]
publish(ok): . (dataset) [refs/heads/dl-test-branch->remote-True:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
add(ok): subm 3-True (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 3-True (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivemwcdfzc6/subm 3-True (dataset)
publish(ok): subm 3-True (dataset) [refs/heads/git-annex->remote-True:refs/heads/git-annex 183a3e9..cfaee85]
publish(ok): subm 3-True (dataset) [refs/heads/dl-test-branch->remote-True:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/dl-test-branch->remote-True:refs/heads/dl-test-branch b4d1f45..15ee967]
action summary:
publish (notneeded: 1, ok: 3)
SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_target_ssh_since SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_failon_no_permissions SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_replace_and_relative_sshpath SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_target_ssh_inherit SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_check_exists_interactive SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_local_relpath create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathp5o0ulr9/main/subds (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathp5o0ulr9/main (dataset)
action summary:
create_sibling (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathp5o0ulr9/main/subds (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathp5o0ulr9/main (dataset)
action summary:
create_sibling (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathp5o0ulr9/main/subds (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathp5o0ulr9/main (dataset)
action summary:
create_sibling (ok: 2)
PASSED
datalad/distribution/tests/test_create_sibling.py::test_local_path_target_dir create(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dirvxllun8t/main (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dirvxllun8t/main (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dirvxllun8t/main (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dirvxllun8t/main/subds (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dirvxllun8t/main (dataset)
action summary:
create_sibling (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dirvxllun8t/main/subds (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dirvxllun8t/main (dataset)
action summary:
create_sibling (ok: 2)
PASSED
datalad/distribution/tests/test_create_sibling.py::test_non_master_branch SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_preserve_attrs PASSED
datalad/distribution/tests/test_create_sibling.py::test_only_one_level_without_recursion create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_only_one_level_without_recursion6z57ztp9/main (dataset)
PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_create PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_parse_spec PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_create_test_dataset PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_create_1test_dataset PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_new_relpath PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_hierarchy PASSED
datalad/distribution/tests/test_dataset.py::test_EnsureDataset PASSED
datalad/distribution/tests/test_dataset.py::test_is_installed PASSED
datalad/distribution/tests/test_dataset.py::test_dataset_constructor PASSED
datalad/distribution/tests/test_dataset.py::test_repo_cache PASSED
datalad/distribution/tests/test_dataset.py::test_subdatasets create(ok): . (dataset)
add(ok): test (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
subdataset(ok): subds (dataset)
subdataset(ok): subds (dataset)
subdataset(ok): subds (dataset)
subdataset(ok): subds (dataset)
save(ok): . (dataset)
install(ok): d1/subds (dataset)
add(ok): d1/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/distribution/tests/test_dataset.py::test_hat_dataset_more create(ok): . (dataset)
install(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/distribution/tests/test_dataset.py::test_require_dataset[simple-path] create(ok): /tmp/datalad_temp_test_require_datasetzdbzqn8q/simple-path (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_require_dataset[ |;&%b5{}'"<> .datc ] create(ok): /tmp/datalad_temp_test_require_dataset8wrafzn5/ |;&%b5{}'"<> .datc (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_dataset_id create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_Dataset_flyweight create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_property_reevaluation create(ok): . (dataset)
uninstall(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_symlinked_dataset_properties create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_resolve_path PASSED
datalad/distribution/tests/test_dataset.py::test_resolve_path_symlink_edition PASSED
datalad/distribution/tests/test_dataset.py::test_hashable create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_dataset_api.py::test_datasetmethod_bound PASSED
datalad/distribution/tests/test_dataset_binding.py::test_decorator PASSED
datalad/distribution/tests/test_dataset_binding.py::test_decorator_star PASSED
datalad/distribution/tests/test_drop.py::test_drop_file_need_nocheck create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(error): foo (file) [unsafe; Could not verify the existence of the 1 necessary copy.; (Use --reckless availability to override this check, or adjust numcopies.)]
drop(ok): foo (file)
PASSED
datalad/distribution/tests/test_get.py::test_get_flexible_source_candidates_for_submodule create(ok): /tmp/datalad_temp_test_get_flexible_source_candidates_for_submodule1hhsi2ns (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_get_flexible_source_candidates_for_submodulecmfr51rz (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
update(ok): . (dataset)
update(ok): /tmp/datalad_temp_test_get_flexible_source_candidates_for_submodulen4hwqvnk (dataset)
configure-sibling(ok): /tmp/datalad_temp_test_get_flexible_source_candidates_for_submodulen4hwqvnk (sibling)
install(ok): /tmp/datalad_temp_test_get_flexible_source_candidates_for_submodulen4hwqvnk (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
update (ok: 1)
update(ok): . (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
PASSED
datalad/distribution/tests/test_get.py::test_get_invalid_call create(ok): . (dataset)
add(ok): some.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): annexed.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
get(impossible): NotExistingFile.txt [path does not exist]
get(error): /tmp/datalad_temp_test_get_invalid_callw7m0i93n [path not associated with dataset Dataset(/tmp/datalad_temp_test_get_invalid_callil0a0oec)]
PASSED
datalad/distribution/tests/test_get.py::test_get_single_file PASSED
datalad/distribution/tests/test_get.py::test_get_subdataset_inherit_reckless[False] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 2, ok: 1)
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklessjpbhanqe/b (dataset)
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklessjpbhanqe/b/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdataset_inherit_recklessjpbhanqe/b/sub/subsub]
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklessjpbhanqe/b/sub/subsub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdataset_inherit_recklessjpbhanqe/b/sub/subsub]
action summary:
install (ok: 2)
PASSED
datalad/distribution/tests/test_get.py::test_get_subdataset_inherit_reckless[True] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 2, ok: 1)
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklesslg432vku/b (dataset)
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklesslg432vku/b/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdataset_inherit_recklesslg432vku/b/sub/subsub]
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklesslg432vku/b/sub/subsub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdataset_inherit_recklesslg432vku/b/sub/subsub]
action summary:
install (ok: 2)
PASSED
datalad/distribution/tests/test_get.py::test_get_multiple_files create(ok): . (dataset)
add(ok): file1.txt (file)
add(ok): file2.txt (file)
add(ok): file3.txt (file)
add(ok): file4.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_get_multiple_files5f4hmp6c (dataset)
get(impossible): not_existing.txt [path does not exist]
get(ok): file1.txt (file) [from dl-test-remote...]
get(ok): file2.txt (file) [from dl-test-remote...]
action summary:
get (impossible: 1, ok: 2)
get(ok): file3.txt (file) [from dl-test-remote...]
get(ok): file4.txt (file) [from dl-test-remote...]
action summary:
get (ok: 2)
PASSED
datalad/distribution/tests/test_get.py::test_get_recurse_dirs create(ok): . (dataset)
add(ok): file1.txt (file)
add(ok): subdir/file2.txt (file)
add(ok): subdir/subsubdir/file3.txt (file)
add(ok): subdir/subsubdir/file4.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_get_recurse_dirsgs2edeb3 (dataset)
get(ok): subdir/file2.txt (file) [from dl-test-remote...]
get(ok): subdir/subsubdir/file3.txt (file) [from dl-test-remote...]
get(ok): subdir/subsubdir/file4.txt (file) [from dl-test-remote...]
get(ok): subdir (directory)
action summary:
get (ok: 4)
PASSED
datalad/distribution/tests/test_get.py::test_get_recurse_subdatasets install(ok): /tmp/datalad_temp_test_get_recurse_subdatasetsrdzf03oa (dataset)
install(ok): /tmp/datalad_temp_test_get_recurse_subdatasetsrdzf03oa/2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_recurse_subdatasetsrdzf03oa/2]
install(ok): /tmp/datalad_temp_test_get_recurse_subdatasetsrdzf03oa/subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_recurse_subdatasetsrdzf03oa/subm 1]
action summary:
install (ok: 2)
get(ok): 2/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (notneeded: 1, ok: 1)
get(ok): test-annex.dat (file) [from dl-test-remote...]
get(ok): 2/test-annex.dat (file) [from dl-test-remote...]
get(ok): subm 1/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (ok: 3)
get(ok): test-annex.dat (file) [from dl-test-remote...]
PASSED
datalad/distribution/tests/test_get.py::test_get_greedy_recurse_subdatasets install(ok): /tmp/datalad_temp_test_get_greedy_recurse_subdatasetscbri5ylj (dataset)
install(ok): /tmp/datalad_temp_test_get_greedy_recurse_subdatasetscbri5ylj/2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_greedy_recurse_subdatasetscbri5ylj/2]
install(ok): /tmp/datalad_temp_test_get_greedy_recurse_subdatasetscbri5ylj/subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_greedy_recurse_subdatasetscbri5ylj/subm 1]
get(ok): 2/test-annex.dat (file) [from dl-test-remote...]
get(ok): subm 1/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (ok: 2)
install (ok: 2)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
PASSED
datalad/distribution/tests/test_get.py::test_get_install_missing_subdataset install(ok): /tmp/datalad_temp_test_get_install_missing_subdataseta5kafmb3 (dataset)
create(ok): . (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
get(ok): test-annex.dat (file) [from dl-test-remote...]
install(ok): /tmp/datalad_temp_test_get_install_missing_subdataseta5kafmb3/2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_install_missing_subdataseta5kafmb3/2/test-annex.dat]
get(ok): 2/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 1)
install(ok): /tmp/datalad_temp_test_get_install_missing_subdataseta5kafmb3/subm 1 (dataset)
get(ok): subm 1/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 1)
PASSED
datalad/distribution/tests/test_get.py::test_get_mixed_hierarchy create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_git.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_get_mixed_hierarchyb3kk0i9i (dataset)
install(ok): /tmp/datalad_temp_test_get_mixed_hierarchyb3kk0i9i/subds (dataset)
action summary:
install (ok: 2)
get(ok): subds/file_in_annex.txt (file) [from dl-test-remote...]
PASSED
datalad/distribution/tests/test_get.py::test_get_autoresolve_recurse_subdatasets create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub/subsub (dataset)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
install(ok): /tmp/datalad_temp_test_get_autoresolve_recurse_subdatasetsrwlfw3n9 (dataset)
install(ok): /tmp/datalad_temp_test_get_autoresolve_recurse_subdatasetsrwlfw3n9/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_autoresolve_recurse_subdatasetsrwlfw3n9/sub]
install(ok): /tmp/datalad_temp_test_get_autoresolve_recurse_subdatasetsrwlfw3n9/sub/subsub (dataset)
get(ok): sub/subsub/file_in_annex.txt (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 2)
subdataset(ok): sub (dataset)
subdataset(ok): sub/subsub (dataset)
PASSED
datalad/distribution/tests/test_get.py::test_recurse_existing create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub3 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub4 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub4 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 8)
save (notneeded: 1, ok: 4)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1 (dataset)
action summary:
install (ok: 2)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1/sub2 (dataset)
action summary:
install (ok: 3)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1/sub2 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1/sub2/sub3 (dataset)
action summary:
install (ok: 4)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1/sub2 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1/sub2/sub3 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1/sub2/sub3/sub4 (dataset)
action summary:
install (ok: 5)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1/sub2 (dataset)
action summary:
install (ok: 3)
get(ok): sub1/sub2/file_in_annex.txt (file) [from dl-test-remote...]
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1/sub2/sub3 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing_2a9vu_w/sub1/sub2/sub3/sub4 (dataset)
action summary:
install (ok: 2)
get(ok): sub1/sub2/sub3/file_in_annex.txt (file) [from dl-test-remote...]
PASSED
datalad/distribution/tests/test_get.py::test_get_in_unavailable_subdataset create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub3 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub4 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub4 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 8)
save (notneeded: 1, ok: 4)
install(ok): /tmp/datalad_temp_test_get_in_unavailable_subdatasetnocxmnqv (dataset)
install(ok): /tmp/datalad_temp_test_get_in_unavailable_subdatasetnocxmnqv/sub1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_in_unavailable_subdatasetnocxmnqv/sub1/sub2]
install(ok): /tmp/datalad_temp_test_get_in_unavailable_subdatasetnocxmnqv/sub1/sub2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_in_unavailable_subdatasetnocxmnqv/sub1/sub2]
get(ok): sub1/sub2/file_in_annex.txt (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 2)
PASSED
datalad/distribution/tests/test_get.py::test_gh3356 create(ok): . (dataset)
add(ok): subdir/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): data/file_in_annex.txt (file)
add(ok): data/file_in_annex2.txt (file)
save(ok): subdir/subds (dataset)
add(ok): subdir/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 2)
install(ok): /tmp/datalad_temp_test_gh33563fv4c48v (dataset)
install(ok): /tmp/datalad_temp_test_gh33563fv4c48v/subdir/subds (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_gh33563fv4c48v/subdir/subds/data/file_in_annex.txt]
get(ok): subdir/subds/data/file_in_annex2.txt (file) [from dl-test-remote...]
get(ok): subdir/subds/data/file_in_annex.txt (file) [from dl-test-remote...]
action summary:
get (ok: 2)
install (ok: 1)
2 annex'd files (35.0 B/35.0 B present/total size)
nothing to save, working tree clean
PASSED
datalad/distribution/tests/test_get.py::test_get_subdataset_direct_fetch SKIPPED
datalad/distribution/tests/test_get.py::test_get_relays_command_errors create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(ok): foo (file)
PASSED
datalad/distribution/tests/test_get.py::test_missing_path_handling create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_get.py::test_source_candidate_subdataset create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file2.txt (file)
save(ok): sub2 (dataset)
add(ok): file1.txt (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_source_candidate_subdatasetbmdzyi_j (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_source_candidate_subdatasetbmdzyi_j/sub1 (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_source_candidate_subdatasetbmdzyi_j/sub2 (dataset)
action summary:
configure-sibling (ok: 3)
create-sibling-ria (ok: 3)
update (ok: 3)
copy(ok): sub1/file1.txt (file) [to firststore-storage...]
publish(ok): sub1 (dataset) [refs/heads/dl-test-branch->firststore:refs/heads/dl-test-branch [new branch]]
publish(ok): sub1 (dataset) [refs/heads/git-annex->firststore:refs/heads/git-annex [new branch]]
copy(ok): sub2/file2.txt (file) [to firststore-storage...]
publish(ok): sub2 (dataset) [refs/heads/dl-test-branch->firststore:refs/heads/dl-test-branch [new branch]]
publish(ok): sub2 (dataset) [refs/heads/git-annex->firststore:refs/heads/git-annex [new branch]]
publish(ok): . (dataset) [refs/heads/dl-test-branch->firststore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->firststore:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 2)
publish (ok: 6)
create(ok): . (dataset)
configure-sibling(ok): . (sibling)
install(ok): intermediate (dataset)
add(ok): intermediate (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
configure-sibling (ok: 1)
install (ok: 1)
save (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_source_candidate_subdatasetetnpklw8 (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->secondstore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->secondstore:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
configure-sibling(ok): /tmp/datalad_temp_test_source_candidate_subdatasetncfxceqj (sibling)
install(ok): /tmp/datalad_temp_test_source_candidate_subdatasetncfxceqj (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
install(ok): /tmp/datalad_temp_test_source_candidate_subdatasetncfxceqj/intermediate (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_source_candidate_subdatasetncfxceqj/intermediate]
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_source_candidate_subdatasetncfxceqj/intermediate/sub1 (dataset)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_source_candidate_subdatasetncfxceqj/intermediate/sub2 (dataset)
get(ok): intermediate/sub1/file1.txt (file) [from firststore-storage...]
get(ok): intermediate/sub2/file2.txt (file) [from firststore-storage...]
action summary:
configure-sibling (ok: 2)
get (ok: 2)
install (ok: 3)
PASSED
datalad/distribution/tests/test_get.py::test_get_non_existing create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub3 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub4 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub4 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 8)
save (notneeded: 1, ok: 4)
install(ok): /tmp/datalad_temp_test_get_non_existing8a6fj30t (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_guess_dot_git[False] install(error): /tmp/datalad_temp_test_guess_dot_gitvo2s4l2k (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- http://127.0.0.1:45501/
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://127.0.0.1:45501/ /tmp/datalad_temp_test_guess_dot_gitvo2s4l2k' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_guess_dot_gitvo2s4l2k'...
fatal: repository 'http://127.0.0.1:45501/' not found']
- http://127.0.0.1:45501/.git
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://127.0.0.1:45501/.git /tmp/datalad_temp_test_guess_dot_gitvo2s4l2k' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_guess_dot_gitvo2s4l2k'...
fatal: repository 'http://127.0.0.1:45501/.git/' not found']]
install(ok): /tmp/datalad_temp_test_guess_dot_gitvo2s4l2k (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_guess_dot_git[True] install(error): /tmp/datalad_temp_test_guess_dot_gittxx5by6p (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- http://127.0.0.1:35029/
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://127.0.0.1:35029/ /tmp/datalad_temp_test_guess_dot_gittxx5by6p' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_guess_dot_gittxx5by6p'...
fatal: repository 'http://127.0.0.1:35029/' not found']
- http://127.0.0.1:35029/.git
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://127.0.0.1:35029/.git /tmp/datalad_temp_test_guess_dot_gittxx5by6p' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_guess_dot_gittxx5by6p'...
fatal: repository 'http://127.0.0.1:35029/.git/' not found']]
install(ok): /tmp/datalad_temp_test_guess_dot_gittxx5by6p (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_insufficient_args PASSED
datalad/distribution/tests/test_install.py::test_invalid_args install(impossible): Zoidberg [installation `source` and destination `path` are identical. If you are trying to add a subdataset simply use the `save` command]
FAILED
datalad/distribution/tests/test_install.py::test_install_datasets_root SKIPPED
datalad/distribution/tests/test_install.py::test_install_simple_local[git] add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_simple_localqez79s4u (dataset)
install(ok): /tmp/datalad_temp_test_install_simple_localqez79s4u (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_simple_local[annex] add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_simple_localu2ald3j3 (dataset)
install(ok): /tmp/datalad_temp_test_install_simple_localu2ald3j3 (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_dataset_from_just_source add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_dataset_from_just_sourcecj7ez63v/datalad_temp_tree_test_install_dataset_from_just_sourcept0iephq (dataset)
install(ok): /tmp/datalad_temp_test_install_dataset_from_just_sourcecj7ez63v/datalad_temp_tree_test_install_dataset_from_just_sourcept0iephq (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_dataset_from_instance add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_dataset_from_instancer6co3zsj (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_dataset_from_just_source_via_path SKIPPED
datalad/distribution/tests/test_install.py::test_install_dataladri install(ok): /tmp/datalad_temp_test_install_dataladrilc4xp3gu (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_recursive create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub3 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub4 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub4 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 8)
save (notneeded: 1, ok: 4)
install(ok): /tmp/datalad_temp_test_install_recursivew6z52bvz (dataset)
subdataset(ok): sub1 (dataset)
subdataset(ok): sub1 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursivezyhbkpu0 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursivezyhbkpu0/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursivezyhbkpu0/sub1/sub2 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursivezyhbkpu0/sub1/sub2/sub3 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursivezyhbkpu0/sub1/sub2/sub3/sub4 (dataset)
action summary:
install (ok: 5)
subdataset(ok): sub1 (dataset)
subdataset(ok): sub1/sub2 (dataset)
subdataset(ok): sub1/sub2/sub3 (dataset)
subdataset(ok): sub1/sub2/sub3/sub4 (dataset)
subdataset(ok): sub1 (dataset)
subdataset(ok): sub1/sub2 (dataset)
subdataset(ok): sub1/sub2/sub3 (dataset)
subdataset(ok): sub1/sub2/sub3/sub4 (dataset)
install(ok): recursive-in-ds (dataset)
add(ok): recursive-in-ds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
install(ok): recursive-in-ds/sub1 (dataset)
install(ok): recursive-in-ds/sub1/sub2 (dataset)
install(ok): recursive-in-ds/sub1/sub2/sub3 (dataset)
install(ok): recursive-in-ds/sub1/sub2/sub3/sub4 (dataset)
action summary:
add (ok: 3)
install (ok: 5)
save (ok: 2)
subdataset(ok): sub1 (dataset)
subdataset(ok): sub1/sub2 (dataset)
subdataset(ok): sub1/sub2/sub3 (dataset)
subdataset(ok): sub1/sub2/sub3/sub4 (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_recursive_with_data create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub3 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub4 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub4 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 8)
save (notneeded: 1, ok: 4)
install(ok): /tmp/datalad_temp_test_install_recursive_with_dataz40xg80r (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_with_dataz40xg80r/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_with_dataz40xg80r/sub1/sub2 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_with_dataz40xg80r/sub1/sub2/sub3 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_with_dataz40xg80r/sub1/sub2/sub3/sub4 (dataset)
get(ok): /tmp/datalad_temp_test_install_recursive_with_dataz40xg80r/sub1/sub2/file_in_annex.txt (file) [from dl-test-remote...]
get(ok): /tmp/datalad_temp_test_install_recursive_with_dataz40xg80r/sub1/sub2/sub3/file_in_annex.txt (file) [from dl-test-remote...]
action summary:
get (ok: 2)
install (ok: 5)
subdataset(ok): sub1 (dataset)
subdataset(ok): sub1/sub2 (dataset)
subdataset(ok): sub1/sub2/sub3 (dataset)
subdataset(ok): sub1/sub2/sub3/sub4 (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_into_dataset add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): /tmp/datalad_temp_test_install_into_dataset9xm24hft (dataset)
install(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
subdataset(ok): sub (dataset)
install(ok): sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
create(ok): /tmp/datalad_temp_test_install_into_dataset9xm24hft/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/distribution/tests/test_install.py::test_failed_install_multiple SKIPPED
datalad/distribution/tests/test_install.py::test_install_known_subdataset install(ok): /tmp/datalad_temp_test_install_known_subdataset21of795w (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
install(ok): subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_known_subdataset21of795w/subm 1]
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
get(ok): subm 1/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (notneeded: 1, ok: 1)
PASSED
datalad/distribution/tests/test_install.py::test_implicit_install create(ok): /tmp/datalad_temp_test_implicit_installsj21s0go (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): file2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): file3.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (notneeded: 1, ok: 2)
install(ok): /tmp/datalad_temp_test_implicit_install7c56vk6p (dataset)
install(error): obscure (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- obscure
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress obscure /tmp/datalad_temp_test_implicit_install7c56vk6p/obscure' failed with exitcode 128 [err: 'fatal: repository 'obscure' does not exist']]
install(ok): sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_implicit_install7c56vk6p/sub/subsub]
install(ok): sub/subsub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_implicit_install7c56vk6p/sub/subsub]
action summary:
install (ok: 2)
install(error): obscure (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- sub/obscure
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress sub/obscure /tmp/datalad_temp_test_implicit_install7c56vk6p/obscure' failed with exitcode 128 [err: 'fatal: repository 'sub/obscure' does not exist']]
install(ok): /tmp/datalad_temp_test_implicit_install7c56vk6p (dataset)
install(ok): /tmp/datalad_temp_test_implicit_install7c56vk6p/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_implicit_install7c56vk6p/sub/subsub]
install(ok): /tmp/datalad_temp_test_implicit_install7c56vk6p/sub/subsub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_implicit_install7c56vk6p/sub/subsub]
action summary:
install (ok: 2)
PASSED
datalad/distribution/tests/test_install.py::test_failed_install create(ok): /tmp/datalad_temp_test_failed_install9lilj6_x (dataset)
install(error): sub (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- http://nonexistingreallyanything.datalad.org/bla
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://nonexistingreallyanything.datalad.org/bla /tmp/datalad_temp_test_failed_install9lilj6_x/sub' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_failed_install9lilj6_x/sub'...
fatal: unable to access 'http://nonexistingreallyanything.datalad.org/bla/': Could not resolve host: nonexistingreallyanything.datalad.org']
- http://nonexistingreallyanything.datalad.org/bla/.git
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://nonexistingreallyanything.datalad.org/bla/.git /tmp/datalad_temp_test_failed_install9lilj6_x/sub' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_failed_install9lilj6_x/sub'...
fatal: unable to access 'http://nonexistingreallyanything.datalad.org/bla/.git/': Could not resolve host: nonexistingreallyanything.datalad.org']]
PASSED
datalad/distribution/tests/test_install.py::test_install_list install(ok): /tmp/datalad_temp_test_install_listfealmzzh (dataset)
install(ok): 2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_listfealmzzh/2]
install(ok): subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_listfealmzzh/subm 1]
action summary:
install (ok: 2)
action summary:
get (notneeded: 2)
PASSED
datalad/distribution/tests/test_install.py::test_reckless install(ok): /tmp/datalad_temp_test_reckless3apzxj5q (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_recursive_repeat create(ok): . (dataset)
add(ok): sub 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub 2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub 2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2file.txt (file)
save(ok): sub 2 (dataset)
add(ok): subsubfile.txt (file)
save(ok): sub 1/subsub (dataset)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
add(ok): sub1file.txt (file)
save(ok): sub 1 (dataset)
add(ok): sub 1 (dataset)
add(ok): sub 2 (dataset)
add(ok): .gitmodules (file)
add(ok): top_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 9)
save (ok: 4)
install(ok): /tmp/datalad_temp_test_install_recursive_repeatiig3qqjn (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_repeatiig3qqjn/sub 1 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_repeatiig3qqjn/sub 2 (dataset)
get(ok): top_file.txt (file) [from dl-test-remote...]
get(ok): sub 1/sub1file.txt (file) [from dl-test-remote...]
get(ok): sub 2/sub2file.txt (file) [from dl-test-remote...]
action summary:
get (ok: 3)
install (ok: 2)
install(ok): sub 1/subsub (dataset)
get(ok): sub 1/subsub/subsubfile.txt (file) [from dl-test-remote...]
action summary:
get (notneeded: 1, ok: 1)
install (ok: 1)
PASSED
datalad/distribution/tests/test_install.py::test_install_skip_list_arguments install(ok): /tmp/datalad_temp_test_install_skip_list_arguments0xlk5jl7 (dataset)
install(ok): 2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_skip_list_arguments0xlk5jl7/2]
install(ok): subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_skip_list_arguments0xlk5jl7/subm 1]
get(impossible): not_existing [path does not exist]
get(error): ../datalad_temp_test_install_skip_list_argumentsc_lxbf23 [path not associated with dataset Dataset(/tmp/datalad_temp_test_install_skip_list_arguments0xlk5jl7)]
action summary:
get (error: 1, impossible: 1)
install (ok: 2)
get(impossible): not_existing [path does not exist]
action summary:
get (impossible: 1, notneeded: 1)
get(impossible): not_existing [path does not exist]
get(ok): subm 1/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (impossible: 1, notneeded: 1, ok: 1)
PASSED
datalad/distribution/tests/test_install.py::test_install_skip_failed_recursive install(ok): /tmp/datalad_temp_test_install_skip_failed_recursive_gcbphip (dataset)
install(ok): /tmp/datalad_temp_test_install_skip_failed_recursive_gcbphip/2 (dataset)
install(error): /tmp/datalad_temp_test_install_skip_failed_recursive_gcbphip/subm 1 (dataset) [target path already exists and not empty, refuse to clone into target path]
get(ok): test-annex.dat (file) [from dl-test-remote...]
get(ok): 2/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (ok: 2)
install (error: 1, ok: 1)
PASSED
datalad/distribution/tests/test_install.py::test_install_noautoget_data create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
add(ok): sub 1 (dataset)
add(ok): sub 2 (dataset)
add(ok): .gitmodules (file)
add(ok): top_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_noautoget_datac7o5_vbl (dataset)
install(ok): /tmp/datalad_temp_test_install_noautoget_datac7o5_vbl/sub 1 (dataset)
install(ok): /tmp/datalad_temp_test_install_noautoget_datac7o5_vbl/sub 2 (dataset)
action summary:
install (ok: 3)
PASSED
datalad/distribution/tests/test_install.py::test_install_source_relpath create(ok): /tmp/datalad_temp_test_install_source_relpath33oxb3qc (dataset)
install(ok): /tmp/datalad_temp_test_install_source_relpathvfyp23bv (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_consistent_state create(ok): /tmp/datalad_temp_test_install_consistent_stateou_5st7h (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_consistent_stateziygqei2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): sub1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_consistent_stateziygqei2/sub1]
subdataset(ok): sub1 (dataset)
install(ok): /tmp/datalad_temp_test_install_consistent_staterhl6j_m6 (dataset)
install(ok): /tmp/datalad_temp_test_install_consistent_staterhl6j_m6/sub1 (dataset)
action summary:
install (ok: 2)
subdataset(ok): sub1 (dataset)
install(ok): /tmp/datalad_temp_test_install_consistent_statecbdfjw42 (dataset)
install(ok): sub1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_consistent_statecbdfjw42/sub1]
subdataset(ok): sub1 (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_subds_with_space SKIPPED
datalad/distribution/tests/test_install.py::test_install_from_tilda create(ok): /tmp/datalad_temp_test_install_from_tildab45o_kqc (dataset)
add(ok): sub ds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub ds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_from_tilda8w2_yjqq (dataset)
install(ok): /tmp/datalad_temp_test_install_from_tilda8w2_yjqq/sub ds (dataset)
action summary:
install (ok: 2)
PASSED
datalad/distribution/tests/test_install.py::test_install_subds_from_another_remote SKIPPED
datalad/distribution/tests/test_install.py::test_datasets_datalad_org[] SKIPPED
datalad/distribution/tests/test_install.py::test_datasets_datalad_org[/.git] SKIPPED
datalad/distribution/tests/test_install.py::test_relpath_semantics create(ok): /tmp/datalad_temp_test_relpath_semantics4gx20m1r/super (dataset)
create(ok): /tmp/datalad_temp_test_relpath_semantics4gx20m1r/subsrc (dataset)
install(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/distribution/tests/test_install.py::test_install_branch create(ok): /tmp/datalad_temp_test_install_branch9v3c4a5d/ds_a (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_branch9v3c4a5d/tmp/ds_a (dataset)
install(ok): /tmp/datalad_temp_test_install_branch9v3c4a5d/ds_b (dataset)
install(ok): /tmp/datalad_temp_test_install_branch9v3c4a5d/ds_b/sub (dataset)
action summary:
install (ok: 2)
PASSED
datalad/distribution/tests/test_install.py::test_install_recursive_github SKIPPED
datalad/distribution/tests/test_siblings.py::test_siblings subdataset(ok): subm 1 (dataset)
subdataset(ok): subm 1 (dataset)
subdataset(ok): subm 1 (dataset)
PASSED
datalad/distribution/tests/test_siblings.py::test_here create(ok): /tmp/datalad_temp_test_heret_1tudfx (dataset)
.: here(+) [git]
.: here(+) [git]
PASSED
datalad/distribution/tests/test_siblings.py::test_no_annex create(ok): /tmp/datalad_temp_test_no_annexj7o0k5qv (dataset)
PASSED
datalad/distribution/tests/test_siblings.py::test_arg_missing create(ok): /tmp/datalad_temp_test_arg_missing43qx4mxs (dataset)
.: somename(-) [/tmp/datalad_temp_test_arg_missing1ww3ror0 (git)]
configure-sibling(error): . (sibling) [need sibling `name` for configuration]
.: somename2(-) [/tmp/datalad_temp_test_arg_missing1ww3ror0 (git)]
PASSED
datalad/distribution/tests/test_siblings.py::test_sibling_enable_sameas SKIPPED
datalad/distribution/tests/test_siblings.py::test_sibling_inherit create(ok): . (dataset)
create(ok): . (dataset)
install(ok): clone (dataset)
add(ok): clone (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/distribution/tests/test_siblings.py::test_sibling_inherit_no_super_remote create(ok): . (dataset)
create(ok): . (dataset)
install(ok): clone (dataset)
add(ok): clone (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/distribution/tests/test_siblings.py::test_sibling_path_is_posix create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_siblings.py::test_bf3733 create(ok): /tmp/datalad_temp_test_bf3733swguli58 (dataset)
configure-sibling(error): . (sibling) [unknown sibling(s) specified as publication dependency: {'doesntmatter'}]
PASSED
datalad/distribution/tests/test_siblings.py::test_as_common_datasource create(ok): . (dataset)
add(ok): testfile (file)
add(ok): testfile2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_as_common_datasourcexnrx24rv (dataset)
get(ok): testfile (file) [from dl-test-remote...]
install(ok): /tmp/datalad_temp_test_as_common_datasourceg8o2e5f7 (dataset)
install(ok): /tmp/datalad_temp_test_as_common_datasourcedsun9aaz (dataset)
install(ok): /tmp/datalad_temp_test_as_common_datasourcegxev5dzf (dataset)
get(ok): testfile (file) [from fresh-sr...]
get(ok): testfile2 (file) [from mike2...]
drop(ok): testfile (file)
get(ok): testfile (file) [from mike2...]
drop(ok): testfile (file)
get(ok): testfile (file) [from fresh-sr...]
PASSED
datalad/distribution/tests/test_siblings.py::test_specialremote create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_uninstall.py::test_uninstall_uninstalled PASSED
datalad/distribution/tests/test_update.py::test_update_simple install(ok): /tmp/datalad_temp_test_update_simple_210914z (dataset)
install(ok): /tmp/datalad_temp_test_update_simple_210914z/2 (dataset)
install(ok): /tmp/datalad_temp_test_update_simple_210914z/subm 1 (dataset)
action summary:
install (ok: 3)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
update(impossible): . (dataset) ['funky' not known to dataset /tmp/datalad_temp_test_update_simple_210914z
Skipping]
install(ok): /tmp/datalad_temp_test_update_simpleey5pnslu (dataset)
update(ok): . (dataset)
update(ok): /tmp/datalad_temp_test_update_simpleey5pnslu/2 (dataset)
configure-sibling(ok): /tmp/datalad_temp_test_update_simpleey5pnslu/2 (sibling)
install(ok): /tmp/datalad_temp_test_update_simpleey5pnslu/2 (dataset)
update(ok): . (dataset)
update(ok): /tmp/datalad_temp_test_update_simpleey5pnslu/subm 1 (dataset)
configure-sibling(ok): /tmp/datalad_temp_test_update_simpleey5pnslu/subm 1 (sibling)
install(ok): /tmp/datalad_temp_test_update_simpleey5pnslu/subm 1 (dataset)
action summary:
configure-sibling (ok: 2)
install (ok: 3)
update (ok: 2)
update(ok): . (dataset)
add(ok): update.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(ok): . (dataset)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
update(ok): . (dataset)
update(ok): 2 (dataset)
update(ok): subm 1 (dataset)
action summary:
update (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): subm 1 (dataset)
action summary:
update (ok: 2)
update(ok): . (dataset)
update(ok): subm 1 (dataset)
action summary:
update (ok: 2)
update(ok): . (dataset)
update(ok): 2 (dataset)
update(ok): subm 1 (dataset)
action summary:
update (ok: 3)
update(ok): . (dataset)
update(ok): subm 1 (dataset)
action summary:
update (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): subm 1 (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): subm 1 (dataset) [Merged annex branch]
update(ok): subm 1 (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
uninstall(ok): subm 1 (dataset)
remove(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall (ok: 1)
update(ok): . (dataset)
update(ok): 2 (dataset)
action summary:
update (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): 2 (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): 2 (dataset) [Merged annex branch]
update(ok): 2 (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
add(ok): load.dat (file)
save(ok): 2 (dataset)
add(ok): 2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): 2 (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): 2 (dataset) [Merged annex branch]
update(ok): 2 (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
get(ok): 2/load.dat (file) [from dl-test-remote...]
action summary:
get (notneeded: 1, ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_update_git_smoke create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_update_git_smokegrloqqte (dataset)
add(ok): file.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_update_fetch_all create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_update_fetch_allyc02v71d/remote_1 (dataset)
install(ok): /tmp/datalad_temp_test_update_fetch_allyc02v71d/remote_2 (dataset)
.: sibling_1(+) [/tmp/datalad_temp_test_update_fetch_allyc02v71d/remote_1 (git)]
.: sibling_2(+) [/tmp/datalad_temp_test_update_fetch_allyc02v71d/remote_2 (git)]
add(ok): first.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): second.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(ok): . (dataset)
merge(ok): . (dataset) [Merged sibling_1/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_newthings_coming_down add(ok): load.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_newthings_coming_downkiwx1xdg (dataset)
update(ok): . (dataset)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
PASSED
datalad/distribution/tests/test_update.py::test_update_volatile_subds create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_update_volatile_subds_x77lht5 (dataset)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
subdataset(ok): subm 1 (dataset)
uninstall(ok): subm 1 (dataset)
remove(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): load.dat (file)
save(ok): subm 1 (dataset)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
install(ok): /tmp/datalad_temp_test_update_volatile_subds_x77lht5/subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_update_volatile_subds_x77lht5/subm 1/load.dat]
get(ok): subm 1/load.dat (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 1)
add(ok): probe (file)
save(ok): subm 1 (dataset)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
add(ok): mike (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): subm 1 (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): subm 1 (dataset) [Merged annex branch]
update(ok): subm 1 (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
uninstall(ok): subm 1 (dataset)
remove(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall (ok: 1)
subdataset(ok): subm 1 (dataset)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
uninstall(ok): . (dataset)
create(ok): . (dataset)
install(ok): other (dataset)
add(ok): other (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
add(ok): brand (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): other (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): other (dataset) [Merged annex branch]
update(ok): other (dataset)
add(ok): other (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
merge (ok: 2)
save (ok: 1)
update (ok: 2)
update.annex_merge (ok: 2)
PASSED
datalad/distribution/tests/test_update.py::test_reobtain_data create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_reobtain_dataelnhpp5f (dataset)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
add(ok): load.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
get(ok): load.dat (file) [from dl-test-remote...]
add(ok): novel (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
get (notneeded: 1)
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
add(ok): load.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
get(ok): load.dat (file) [from dl-test-remote...]
get(ok): load.dat (file) [from dl-test-remote...]
update(ok): . (dataset)
action summary:
get (ok: 1)
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_multiway_merge create(ok): . (dataset)
.: r1(+) [/tmp/datalad_temp_test_multiway_mergeupghq9of/ds_r1 (git)]
.: r2(-) [/tmp/datalad_temp_test_multiway_mergeupghq9of/ds_r2 (git)]
publish(ok): . (dataset) [refs/heads/git-annex->r1:refs/heads/git-annex d750a48..0d453f5]
publish(ok): . (dataset) [refs/heads/dl-test-branch->r1:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
publish(ok): . (dataset) [refs/heads/dl-test-branch->r2:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->r2:refs/heads/git-annex [new branch]]
action summary:
copy (notneeded: 1)
publish (ok: 2)
update(ok): . (dataset)
update(impossible): . (dataset) [Multiple siblings, please specify from which to update.]
PASSED
datalad/distribution/tests/test_update.py::test_unrelated_history_merge create(ok): . (dataset)
.: repo(+) [/tmp/pytest-of-debusine-worker/pytest-0/test_unrelated_history_merge0/repo (git)]
FAILED
datalad/distribution/tests/test_update.py::test_merge_no_merge_target create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_merge_no_merge_targetr593ukag/clone (dataset)
update(impossible): . (dataset) [Could not determine update target]
PASSED
datalad/distribution/tests/test_update.py::test_merge_conflict create(ok): . (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_merge_conflictchk2gdn3/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_conflictchk2gdn3/clone/s0 (dataset)
install(ok): /tmp/datalad_temp_test_merge_conflictchk2gdn3/clone/s1 (dataset)
action summary:
install (ok: 3)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
FAILED
datalad/distribution/tests/test_update.py::test_merge_conflict_in_subdataset_only create(ok): . (dataset)
add(ok): sub_conflict (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub_conflict (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub_noconflict (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub_noconflict (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_merge_conflict_in_subdataset_only7zw72ras/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_conflict_in_subdataset_only7zw72ras/clone/sub_conflict (dataset)
install(ok): /tmp/datalad_temp_test_merge_conflict_in_subdataset_only7zw72ras/clone/sub_noconflict (dataset)
action summary:
install (ok: 3)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
FAILED
datalad/distribution/tests/test_update.py::test_merge_ff_only create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_merge_ff_onlyqgn43lje/clone_ff (dataset)
install(ok): /tmp/datalad_temp_test_merge_ff_onlyqgn43lje/clone_nonff (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): bar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
FAILED
datalad/distribution/tests/test_update.py::test_merge_follow_parentds_subdataset_other_branch create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_other_branch9pyz21bu/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_other_branch9pyz21bu/clone/subds (dataset)
action summary:
install (ok: 2)
add(ok): foo (file)
save(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): subds (dataset) [Merged f4ec3b00ad97e2702f0844484fd04c7d5946b814]
update.annex_merge(ok): subds (dataset) [Merged annex branch]
update(ok): subds (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
add(ok): bar (file)
save(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): subds (dataset) [Merged c8b0db902ae091c1a7cbed7f6411f501c3152adf]
update.annex_merge(ok): subds (dataset) [Merged annex branch]
update(ok): subds (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
PASSED
datalad/distribution/tests/test_update.py::test_merge_follow_parentds_subdataset_adjusted_warning create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_adjusted_warning_c_1mac8/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_adjusted_warning_c_1mac8/clone/subds (dataset)
action summary:
install (ok: 2)
add(ok): foo (file)
save(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
update(impossible): subds (dataset) [follow='parentds' is incompatible with adjusted branches]
action summary:
merge (ok: 1)
update (impossible: 1, ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_merge_follow_parentds_subdataset_detached[True] create(ok): . (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 2, ok: 1)
action summary:
save (notneeded: 3)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detachedp8zoohq8/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detachedp8zoohq8/clone/s0 (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detachedp8zoohq8/clone/s0/s1 (dataset)
action summary:
install (ok: 3)
add(ok): foo (file)
save(ok): s0/s1 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): s0 (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
update.annex_sync(ok): . (dataset) [Ran git-annex-sync]
update(ok): . (dataset)
update(impossible): s0 (dataset) [follow='parentds' is incompatible with adjusted branches]
update(impossible): s0/s1 (dataset) [follow='parentds' is incompatible with adjusted branches]
action summary:
update (impossible: 2, ok: 1)
update.annex_sync (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_merge_follow_parentds_subdataset_detached[False] create(ok): . (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 2, ok: 1)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detached8jkuqb53/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detached8jkuqb53/clone/s0 (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detached8jkuqb53/clone/s0/s1 (dataset)
action summary:
install (ok: 3)
add(ok): foo (file)
save(ok): s0/s1 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): s0 (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): s0 (dataset) [Merged a46b7c5eced26e3177461eaf752f31539d19092a]
update.annex_merge(ok): s0 (dataset) [Merged annex branch]
update(ok): s0 (dataset)
merge(ok): s0/s1 (dataset) [Merged 235f5e98ab089a90741620db06b63c92245dc257]
update.annex_merge(ok): s0/s1 (dataset) [Merged annex branch]
update(ok): s0/s1 (dataset)
action summary:
merge (ok: 3)
save (notneeded: 2)
update (ok: 3)
update.annex_merge (ok: 3)
add(ok): bar (file)
save(ok): s0/s1 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): s0 (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): s0 (dataset) [Merged cbcf8bd2bc0ebefed3ed2ab441734a9dd350debb]
update.annex_merge(ok): s0 (dataset) [Merged annex branch]
update(ok): s0 (dataset)
FAILED
datalad/distribution/tests/test_update.py::test_update_unborn_master create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_update_unborn_mastera3eyghra/ds-b (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(impossible): . (dataset) [Could not determine update target]
merge(ok): . (dataset) [Merged dl-test-remote/other]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_update_follow_parentds_lazy create(ok): . (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 5, ok: 1)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazybrxpz8zt/clone (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazybrxpz8zt/clone/s0 (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazybrxpz8zt/clone/s1 (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazybrxpz8zt/clone/s2 (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazybrxpz8zt/clone/s0/s0 (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazybrxpz8zt/clone/s0/s1 (dataset)
action summary:
install (ok: 6)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): s1 (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): s0 (dataset)
add(ok): s0 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (notneeded: 3, ok: 3)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): s0 (dataset) [Merged 6d43a66bd941e6f05923fc11915fa8e33331501d]
update.annex_merge(ok): s0 (dataset) [Merged annex branch]
update(ok): s0 (dataset)
merge(ok): s0/s0 (dataset) [Merged cb7bb3825166715db391ec2fea65c02c8a871ed6]
update.annex_merge(ok): s0/s0 (dataset) [Merged annex branch]
update(ok): s0/s0 (dataset)
merge(ok): s1 (dataset) [Merged f0d87675cb4d025fab1619ef56636c6b8b6d0a9d]
update.annex_merge(ok): s1 (dataset) [Merged annex branch]
update(ok): s1 (dataset)
action summary:
merge (ok: 4)
save (notneeded: 2)
update (notneeded: 2, ok: 4)
update.annex_merge (ok: 4)
PASSED
datalad/distribution/tests/test_update.py::test_update_follow_parentds_lazy_other_branch create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
action summary:
save (notneeded: 2)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazy_other_branch7k86i0hl/clone (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazy_other_branch7k86i0hl/clone/sub (dataset)
action summary:
install (ok: 2)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 1, ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): sub (dataset) [Merged 54844b6978201b1fb9bf1c5edbbd021a2a33104d]
update.annex_merge(ok): sub (dataset) [Merged annex branch]
update(ok): sub (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (notneeded: 1, ok: 1)
update.annex_merge (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): sub (dataset) [Merged a6e77c21f05e9c9ea9eb6276e5033004629ae26b]
update.annex_merge(ok): sub (dataset) [Merged annex branch]
update(ok): sub (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
PASSED
datalad/distribution/tests/test_update.py::test_update_adjusted_incompatible_with_ff_only create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_update_adjusted_incompatible_with_ff_onlyuojksucb/clone (dataset)
update(impossible): . (dataset) [Updating via 'ff-only' is incompatible with adjusted branches]
update(ok): . (dataset)
PASSED
datalad/distribution/tests/test_update.py::test_update_how_subds_different[parentds-reset] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_update_how_subds_differentp34oz35l/clone (dataset)
install(ok): /tmp/datalad_temp_test_update_how_subds_differentp34oz35l/clone/sub (dataset)
action summary:
install (ok: 2)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): bar (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
add(ok): baz (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
update.reset(ok): sub (dataset) [Reset to 16447e84b6056e5c36b39eed54334e8933b92bed]
update(ok): sub (dataset)
action summary:
merge (ok: 1)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 1)
update.reset (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_update_how_subds_different[sibling-checkout] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_update_how_subds_differentvliriqyh/clone (dataset)
install(ok): /tmp/datalad_temp_test_update_how_subds_differentvliriqyh/clone/sub (dataset)
action summary:
install (ok: 2)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): bar (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
add(ok): baz (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
update.checkout(ok): sub (dataset) [Checkout dl-test-remote/dl-test-branch]
update(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
merge (ok: 1)
save (ok: 1)
update (ok: 2)
update.annex_merge (ok: 1)
update.checkout (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_update_reset_dirty create(ok): . (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_update_reset_dirty_pr1b295/clone (dataset)
install(ok): /tmp/datalad_temp_test_update_reset_dirty_pr1b295/clone/s1 (dataset)
install(ok): /tmp/datalad_temp_test_update_reset_dirty_pr1b295/clone/s2 (dataset)
action summary:
install (ok: 3)
add(ok): bar (file)
save(ok): s2 (dataset)
add(ok): foo (file)
save(ok): s1 (dataset)
add(ok): s1 (dataset)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
update.reset(error): . (dataset) [Refusing to reset dirty working tree]
update(error): . (dataset) [Update of dl-test-remote/dl-test-branch failed]
update.reset(error): s1 (dataset) [Refusing to reset dirty working tree]
update(error): s1 (dataset) [Update of dl-test-remote/dl-test-branch failed]
update.reset(ok): s2 (dataset) [Reset to dl-test-remote/dl-test-branch]
update(ok): s2 (dataset)
action summary:
update (error: 2, ok: 1)
update.reset (error: 2, ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_process_how_args PASSED
datalad/distribution/tests/test_update.py::test_update_fetch_failure create(ok): . (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_update_fetch_failure4h7l_syf/ds-b (dataset)
install(ok): /tmp/datalad_temp_test_update_fetch_failure4h7l_syf/ds-b/s1 (dataset)
install(ok): /tmp/datalad_temp_test_update_fetch_failure4h7l_syf/ds-b/s2 (dataset)
action summary:
install (ok: 3)
update(ok): . (dataset)
FAILED
datalad/distribution/tests/test_utils.py::test_get_flexible_source_candidates PASSED
datalad/downloaders/tests/test_base.py::test_docstring PASSED
datalad/downloaders/tests/test_credentials.py::test_cred1_enter_new PASSED
datalad/downloaders/tests/test_credentials.py::test_cred1_call PASSED
datalad/downloaders/tests/test_credentials.py::test_keyring SKIPPED
datalad/downloaders/tests/test_credentials.py::test_composite_credential1 PASSED
datalad/downloaders/tests/test_credentials.py::test_credentials_from_env PASSED
datalad/downloaders/tests/test_credentials.py::test_delete_not_crashing PASSED
datalad/downloaders/tests/test_credentials.py::test_gitcredential_read create(ok): . (dataset)
PASSED
datalad/downloaders/tests/test_credentials.py::test_gitcredential create(ok): . (dataset)
PASSED
datalad/downloaders/tests/test_docker_registry.py::test_download_docker_blob SKIPPED
datalad/downloaders/tests/test_http.py::test_docstring PASSED
datalad/downloaders/tests/test_http.py::test_process_www_authenticate PASSED
datalad/downloaders/tests/test_http.py::test_HTTPDownloader_basic PASSED
datalad/downloaders/tests/test_http.py::test_access_denied PASSED
datalad/downloaders/tests/test_http.py::test_authenticate_external_portals SKIPPED
datalad/downloaders/tests/test_http.py::test_detect_login_error1 SKIPPED
datalad/downloaders/tests/test_http.py::test_detect_login_error2 SKIPPED
datalad/downloaders/tests/test_http.py::test_download_ftp SKIPPED (S...)
datalad/downloaders/tests/test_http.py::test_mtime PASSED
datalad/downloaders/tests/test_http.py::test_get_status_from_headers PASSED
datalad/downloaders/tests/test_http.py::test_HTMLFormAuthenticator_httpretty PASSED
datalad/downloaders/tests/test_http.py::test_auth_but_no_cred PASSED
datalad/downloaders/tests/test_http.py::test_authfail404_interactive PASSED
datalad/downloaders/tests/test_http.py::test_authfail404_noninteractive PASSED
datalad/downloaders/tests/test_http.py::test_auth_bytes_content PASSED
datalad/downloaders/tests/test_http.py::test_scenario_2 PASSED
datalad/downloaders/tests/test_http.py::test_HTTPBearerTokenAuthenticator PASSED
datalad/downloaders/tests/test_http.py::test_HTTPLorisTokenAuthenticator PASSED
datalad/downloaders/tests/test_http.py::test_lorisadapter
http://example.com/crap.txt: 0%| | 0.00/12.0 [00:00<?, ?B/s]
PASSED
datalad/downloaders/tests/test_http.py::test_download_url PASSED
datalad/downloaders/tests/test_providers.py::test_Providers_OnStockConfiguration PASSED
datalad/downloaders/tests/test_providers.py::test_Providers_default_ones PASSED
datalad/downloaders/tests/test_providers.py::test_Providers_process_credential PASSED
datalad/downloaders/tests/test_providers.py::test_get_downloader_class PASSED
datalad/downloaders/tests/test_providers.py::test_Providers_from_config__files PASSED
datalad/downloaders/tests/test_providers.py::test_providers_enter_new ERROR: File /tmp/datalad_temp_test_providers_enter_new8afdhv1z/providers/exists.cfg already exists, choose another name
ERROR: Provided regular expression doesn't match original url. Please re-enter
PASSED
datalad/downloaders/tests/test_providers.py::test_providers_multiple_matches PASSED
datalad/downloaders/tests/test_providers.py::test_providers_badre PASSED
datalad/downloaders/tests/test_shub.py::test_downloader_bad_query PASSED
datalad/downloaders/tests/test_shub.py::test_downloader_bad_json PASSED
datalad/downloaders/tests/test_shub.py::test_downloader_download PASSED
datalad/interface/tests/test_base.py::test_status_custom_summary_no_repeats create(ok): . (dataset)
PASSED
datalad/interface/tests/test_base.py::test_update_docstring_with_parameters_no_kwds PASSED
datalad/interface/tests/test_base.py::test_update_docstring_with_parameters_single_line_prefix PASSED
datalad/interface/tests/test_docs.py::test_dedent PASSED
datalad/interface/tests/test_docs.py::test_alter_interface_docs_for_api PASSED
datalad/interface/tests/test_results.py::test_annexjson2result PASSED
datalad/interface/tests/test_results.py::tests_status_dict_exit_code PASSED
datalad/interface/tests/test_shell_completion.py::test_shell_completion_python PASSED
datalad/interface/tests/test_shell_completion.py::test_shell_completion_source PASSED
datalad/interface/tests/test_utils.py::test_dirty create(ok): . (dataset)
save(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): subds (dataset)
PASSED
datalad/interface/tests/test_utils.py::test_save_hierarchy create(ok): . (dataset)
add(ok): a (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): a (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): aa (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): aa (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): b (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): b (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): ba (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): ba (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): bb (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): bb (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): bba (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): bba (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): bbaa (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): bbaa (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): c (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): c (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): ca (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): ca (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): d (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): d (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): da (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): da (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): db (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): db (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_db (file)
save(ok): d/db (dataset)
add(ok): file_da (file)
save(ok): d/da (dataset)
add(ok): da (dataset)
add(ok): db (dataset)
add(ok): .gitmodules (file)
add(ok): file_d (file)
save(ok): d (dataset)
add(ok): file_ca (file)
save(ok): c/ca (dataset)
add(ok): ca (dataset)
add(ok): .gitmodules (file)
add(ok): file_c (file)
save(ok): c (dataset)
add(ok): file_bbaa (file)
save(ok): b/bb/bba/bbaa (dataset)
add(ok): bbaa (dataset)
add(ok): .gitmodules (file)
save(ok): b/bb/bba (dataset)
add(ok): bba (dataset)
add(ok): .gitmodules (file)
add(ok): file_bb (file)
save(ok): b/bb (dataset)
add(ok): file_ba (file)
save(ok): b/ba (dataset)
add(ok): ba (dataset)
add(ok): bb (dataset)
add(ok): .gitmodules (file)
save(ok): b (dataset)
add(ok): file_aa (file)
save(ok): a/aa (dataset)
add(ok): aa (dataset)
add(ok): .gitmodules (file)
save(ok): a (dataset)
add(ok): a (dataset)
add(ok): b (dataset)
add(ok): c (dataset)
add(ok): d (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 28)
save (ok: 13)
delete(ok): file_bbaa (symlink)
save(ok): bba/bbaa (dataset)
add(ok): bbaa (dataset)
add(ok): .gitmodules (file)
save(ok): bba (dataset)
add(ok): bba (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
delete (ok: 1)
save (ok: 3)
delete(ok): file_db (symlink)
save(ok): db (dataset)
delete(ok): file_da (symlink)
save(ok): da (dataset)
add(ok): da (dataset)
add(ok): db (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
delete (ok: 2)
save (ok: 3)
delete(ok): file_d (symlink)
save(ok): d (dataset)
delete(ok): file_ca (symlink)
save(ok): c/ca (dataset)
delete(ok): file_c (symlink)
save(ok): c (dataset)
delete(ok): file_bb (symlink)
save(ok): b/bb (dataset)
delete(ok): file_ba (symlink)
save(ok): b/ba (dataset)
add(ok): ba (dataset)
add(ok): bb (dataset)
add(ok): .gitmodules (file)
save(ok): b (dataset)
delete(ok): file_aa (symlink)
save(ok): a/aa (dataset)
add(ok): aa (dataset)
add(ok): .gitmodules (file)
save(ok): a (dataset)
add(ok): d (dataset)
add(ok): c (dataset)
add(ok): a (dataset)
add(ok): b (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 10)
delete (ok: 6)
save (ok: 9)
PASSED
datalad/interface/tests/test_utils.py::test_eval_results_plus_build_doc off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 3)
off(ok): some
off(ok): some
action summary:
off (ok: 2)
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 3)
off(ok): some
off(ok): some
action summary:
off (ok: 2)
PASSED
datalad/interface/tests/test_utils.py::test_result_filter off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
PASSED
datalad/interface/tests/test_utils.py::test_discover_ds_trace create(ok): . (dataset)
add(ok): a (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): a (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): aa (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): aa (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): d (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): d (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): da (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): da (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): db (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): db (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_db (file)
save(ok): d/db (dataset)
add(ok): file_da (file)
save(ok): d/da (dataset)
add(ok): da (dataset)
add(ok): db (dataset)
add(ok): .gitmodules (file)
add(ok): file_d (file)
save(ok): d (dataset)
add(ok): file_aa (file)
save(ok): a/aa (dataset)
add(ok): aa (dataset)
add(ok): .gitmodules (file)
save(ok): a (dataset)
add(ok): a (dataset)
add(ok): d (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 12)
save (ok: 6)
PASSED
datalad/interface/tests/test_utils.py::test_utils_suppress_similar PASSED
datalad/interface/tests/test_utils.py::test_incorrect_msg_interpolation test(ok): %eatthis [all good my friend]
PASSED
datalad/interface/tests/test_utils.py::test_custom_result_renderer PASSED
datalad/interface/tests/test_utils.py::test_custom_result_summary_renderer test.one(ok): [message]
test.two(ok): [message]
test.one(ok): [message]
test.one(ok): [message]
test.two(ok): [message]
test.one(ok): [message]
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_dirs create(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_dirssa_lso11 (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_content create(ok): . (dataset)
add-archive-content(impossible): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset) [No such file: /tmp/datalad_temp_test_add_archive_content1i_uwk00/nonexisting.tar.gz]
add-archive-content(impossible): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset) [Can not add archive outside of the dataset]
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset)
add-archive-content(error): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset) [/tmp/datalad_temp_test_add_archive_content1i_uwk00/1/1 f.txt exists, but would be overwritten by new file 1/1 f.txt. Consider adjusting --existing]
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content1i_uwk00 (dataset)
drop(ok): 1/1 f.txt (file)
get(ok): 1/1 f.txt (file) [from datalad-archives...]
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_content_strip_leading create(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content_strip_leadingu5c1v32x (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_content_zip create(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_content_zipl9uixuk0 (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_content_absolute_path create(ok): . (dataset)
add(ok): 1.tar.gz (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_content_absolute_path6zo330im/ds (dataset)
add-archive-content(impossible): /tmp/datalad_temp_tree_test_add_archive_content_absolute_path6zo330im/ds (dataset) [Can not add archive outside of the dataset]
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_use_archive_dir create(ok): . (dataset)
add-archive-content(impossible): /tmp/datalad_temp_tree_test_add_archive_use_archive_dir6z272ggq (dataset) [Can not add an untracked archive. Run 'datalad save 4u/1.tar.gz']
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_use_archive_dir6z272ggq (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_use_archive_dir6z272ggq (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_use_archive_dir6z272ggq (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_single_file create(ok): . (dataset)
add(ok): archives/1.gz (file)
add(ok): archives/2.xz (file)
add(ok): archives/3.lzma (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_single_filegi1mnwb5 (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_single_filegi1mnwb5 (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_single_filegi1mnwb5 (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::TestAddArchiveOptions::test_add_delete create(ok): . (dataset)
add(ok): 1.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_waq__3uk (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::TestAddArchiveOptions::test_add_archive_leading_dir create(ok): . (dataset)
add(ok): 1.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
delete(ok): 1.tar (symlink)
add(ok): sub/123.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
delete (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_251wfusj (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::TestAddArchiveOptions::test_add_delete_after_and_drop create(ok): . (dataset)
add(ok): 1.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_hiuswr3f (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_hiuswr3f (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::TestAddArchiveOptions::test_add_delete_after_and_drop_subdir create(ok): . (dataset)
add(ok): 1.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_326v2csb (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_326v2csb (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::TestAddArchiveOptions::test_override_existing_under_git create(ok): . (dataset)
add(ok): 1.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): 1.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_hjijhuay (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_hjijhuay (dataset)
PASSED
datalad/local/tests/test_add_readme.py::test_add_readme create(ok): . (dataset)
add(ok): datapackage.json (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): .gitattributes (file)
save(ok): . (dataset)
add_readme(ok): /tmp/datalad_temp_tree_test_add_readmefif5g6wb/README.md (file)
add(ok): README.md (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
add_readme (ok: 1)
save (ok: 2)
PASSED
datalad/local/tests/test_addurls.py::test_formatter PASSED
datalad/local/tests/test_addurls.py::test_formatter_lower_case PASSED
datalad/local/tests/test_addurls.py::test_formatter_no_idx_map PASSED
datalad/local/tests/test_addurls.py::test_formatter_no_mapping_arg PASSED
datalad/local/tests/test_addurls.py::test_formatter_placeholder_with_spaces PASSED
datalad/local/tests/test_addurls.py::test_formatter_placeholder_nonpermitted_chars PASSED
datalad/local/tests/test_addurls.py::test_formatter_missing_arg PASSED
datalad/local/tests/test_addurls.py::test_repformatter PASSED
datalad/local/tests/test_addurls.py::test_clean_meta_args PASSED
datalad/local/tests/test_addurls.py::test_get_subpaths PASSED
datalad/local/tests/test_addurls.py::test_sort_paths PASSED
datalad/local/tests/test_addurls.py::test_is_legal_metafield PASSED
datalad/local/tests/test_addurls.py::test_filter_legal_metafield PASSED
datalad/local/tests/test_addurls.py::test_fmt_to_name PASSED
datalad/local/tests/test_addurls.py::test_get_file_parts PASSED
datalad/local/tests/test_addurls.py::test_get_url_parts PASSED
datalad/local/tests/test_addurls.py::test_extract PASSED
datalad/local/tests/test_addurls.py::test_extract_disable_autometa PASSED
datalad/local/tests/test_addurls.py::test_extract_exclude_autometa_regexp PASSED
datalad/local/tests/test_addurls.py::test_extract_csv_json_equal[csv] PASSED
datalad/local/tests/test_addurls.py::test_extract_csv_json_equal[tsv] PASSED
datalad/local/tests/test_addurls.py::test_extract_wrong_input_type PASSED
datalad/local/tests/test_addurls.py::test_registerurl_constructor create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::test_addurls_nonannex_repo create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::test_addurls_unknown_placeholder create(ok): . (dataset)
FAILED
datalad/local/tests/test_addurls.py::test_addurls_dry_run create(ok): . (dataset)
add(ok): links.json (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls create(ok): . (dataset)
unlock(ok): a (file)
add(ok): a (file) [Copied metadata from old version of a to new version. If you don't want this copied metadata, run: git annex metadata --remove-all a]
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
FAILED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_unbound_dataset create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_create_newdataset PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_from_list create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_subdataset create(ok): . (dataset)
add(ok): bar-nosave (dataset)
add(ok): foo-nosave (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
subdataset(ok): bar-nosave (dataset)
subdataset(ok): bar-save (dataset)
subdataset(ok): foo-nosave (dataset)
subdataset(ok): foo-save (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_repindex create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_on_collision_error_if_different create(ok): . (dataset)
addurls(error): /tmp/datalad_temp_test_addurls_url_on_collision_error_if_differents_mqe726 (dataset) [1 file name collided across rows; troubleshoot by logging at debug level or consider using {_repindex}]
action summary:
addurls (error: 1)
addurls(error): /tmp/datalad_temp_test_addurls_url_on_collision_error_if_differents_mqe726 (dataset) [1 file name collided across rows; troubleshoot by logging at debug level or consider using {_repindex}]
action summary:
addurls (error: 1)
addurl(ok): /tmp/datalad_temp_test_addurls_url_on_collision_error_if_differents_mqe726/a (file) [to a]
save(ok): . (dataset)
action summary:
addurl (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_on_collision_choose create(ok): . (dataset)
addurls(error): /tmp/datalad_temp_test_addurls_url_on_collision_choose8us3vgxw (dataset) [1 file name collided across rows; troubleshoot by logging at debug level or consider using {_repindex}]
action summary:
addurls (error: 1)
addurls(error): /tmp/datalad_temp_test_addurls_url_on_collision_choose8us3vgxw (dataset) [1 file name collided across rows; troubleshoot by logging at debug level or consider using {_repindex}]
action summary:
addurls (error: 1)
addurl(ok): /tmp/datalad_temp_test_addurls_url_on_collision_choose8us3vgxw/a-first (file) [to a-first]
metadata(ok): /tmp/datalad_temp_test_addurls_url_on_collision_choose8us3vgxw/a-first (file)
save(ok): . (dataset)
action summary:
addurl (ok: 1)
metadata (ok: 1)
save (ok: 1)
addurl(ok): /tmp/datalad_temp_test_addurls_url_on_collision_choose8us3vgxw/a-last (file) [to a-last]
metadata(ok): /tmp/datalad_temp_test_addurls_url_on_collision_choose8us3vgxw/a-last (file)
save(ok): . (dataset)
action summary:
addurl (ok: 1)
metadata (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_parts create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_filename create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_filename_fail create(ok): . (dataset)
FAILED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_special_key_fail create(ok): . (dataset)
FAILED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_metafail create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_dropped_urls create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_version --- Logging error ---
Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/addurls.py", line 1507, in addurls_to_ds
row["url"] = get_versioned_url(url)
~~~~~~~~~~~~~~~~~^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests/test_addurls.py", line 792, in version_fn
raise ValueError("Scheme error")
ValueError: Scheme error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.13/logging/__init__.py", line 1150, in emit
msg = self.format(record)
File "/usr/lib/python3.13/logging/__init__.py", line 998, in format
return fmt.format(record)
~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 711, in format
record.message = record.getMessage()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/logging/__init__.py", line 400, in getMessage
msg = msg % self.args
~~~~^~~~~~~~~~~
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 123, in __str__
return self.format_short()
~~~~~~~~~~~~~~~~~^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 94, in format_short
return self.name + '(' + self.message + ')'
^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 120, in name
return self.tb.exc_type.__qualname__
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/traceback.py", line 1181, in exc_type
warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning, stacklevel=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
Call stack:
File "/usr/lib/python3.13/threading.py", line 1012, in _bootstrap
self._bootstrap_inner()
File "/usr/lib/python3.13/threading.py", line 1041, in _bootstrap_inner
self.run()
File "/usr/lib/python3.13/threading.py", line 992, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.13/concurrent/futures/thread.py", line 92, in _worker
work_item.run()
File "/usr/lib/python3.13/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/parallel.py", line 329, in consumer_worker
for r in res:
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/addurls.py", line 1514, in addurls_to_ds
lgr.warning("error getting version of %s: %s", row["url"], ce)
Message: 'error getting version of %s: %s'
Arguments: ('http://127.0.0.1:42139/udir/b.dat', Scheme error [addurls.py:addurls_to_ds:1507,test_addurls.py:version_fn:792])
--- Logging error ---
Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/addurls.py", line 1507, in addurls_to_ds
row["url"] = get_versioned_url(url)
~~~~~~~~~~~~~~~~~^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests/test_addurls.py", line 792, in version_fn
raise ValueError("Scheme error")
ValueError: Scheme error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/parallel.py", line 401, in _iter_threads
done_useful |= self._pop_done_futures(lgr)
~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/parallel.py", line 463, in _pop_done_futures
raise exception
File "/usr/lib/python3.13/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/parallel.py", line 329, in consumer_worker
for r in res:
^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/addurls.py", line 1514, in addurls_to_ds
lgr.warning("error getting version of %s: %s", row["url"], ce)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 1531, in warning
self._log(WARNING, msg, args, **kwargs)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 1664, in _log
self.handle(record)
~~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 1680, in handle
self.callHandlers(record)
~~~~~~~~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 1736, in callHandlers
hdlr.handle(record)
~~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 1026, in handle
self.emit(record)
~~~~~~~~~^^^^^^^^
File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 386, in emit
super().emit(record)
~~~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 1158, in emit
self.handleError(record)
~~~~~~~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 1150, in emit
msg = self.format(record)
File "/usr/lib/python3.13/logging/__init__.py", line 998, in format
return fmt.format(record)
~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 139, in format
return super().format(record)
~~~~~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 711, in format
record.message = record.getMessage()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/logging/__init__.py", line 400, in getMessage
msg = msg % self.args
~~~~^~~~~~~~~~~
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 123, in __str__
return self.format_short()
~~~~~~~~~~~~~~~~~^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 94, in format_short
return self.name + '(' + self.message + ')'
^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 120, in name
return self.tb.exc_type.__qualname__
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/traceback.py", line 1181, in exc_type
warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning, stacklevel=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.13/logging/__init__.py", line 1150, in emit
msg = self.format(record)
File "/usr/lib/python3.13/logging/__init__.py", line 998, in format
return fmt.format(record)
~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 711, in format
record.message = record.getMessage()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/logging/__init__.py", line 400, in getMessage
msg = msg % self.args
~~~~^~~~~~~~~~~
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 123, in __str__
return self.format_short()
~~~~~~~~~~~~~~~~~^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 94, in format_short
return self.name + '(' + self.message + ')'
^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 120, in name
return self.tb.exc_type.__qualname__
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/traceback.py", line 1181, in exc_type
warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning, stacklevel=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
Call stack:
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module>
raise SystemExit(pytest.console_main())
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201, in console_main
code = main()
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 175, in main
ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 330, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 283, in wrap_session
session.exitstatus = doit(config, session) or 0
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 337, in _main
config.hook.pytest_runtestloop(session=session)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 362, in pytest_runtestloop
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol
runtestprotocol(item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 132, in runtestprotocol
reports.append(call_and_report(item, "call", log))
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 241, in call_and_report
call = CallInfo.from_call(
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call
result: TResult | None = func()
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call
item.runtest()
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call
result = testfunction(**testargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/utils_pytest.py", line 927, in _wrap_with_tempfile
return t(*(arg + (filename,)), **kw)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests/test_addurls.py", line 797, in test_addurls_version
ds.addurls(self.json_file, "{url}", "{name}",
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/dataset.py", line 507, in apply_func
return f(*args, **kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/base.py", line 773, in eval_func
return return_func(*args, **kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/base.py", line 763, in return_func
results = list(results)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/base.py", line 873, in _execute_command_
for r in _process_results(
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/interface/utils.py", line 319, in _process_results
for res in results:
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/addurls.py", line 1562, in __call__
yield from ProducerConsumerProgressLog(
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/parallel.py", line 535, in __iter__
for res in super().__iter__():
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/parallel.py", line 265, in __iter__
yield from self._iter_threads(self._jobs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/parallel.py", line 435, in _iter_threads
lgr.warning(
Message: 'Received an exception %s. Canceling not-yet running jobs and waiting for completion of running. You can force earlier forceful exit by Ctrl-C.'
Arguments: (Deprecated in 3.13. Use exc_type_str instead. [parallel.py:_iter_threads:401,parallel.py:_pop_done_futures:463,thread.py:run:58,parallel.py:consumer_worker:329,addurls.py:addurls_to_ds:1514,__init__.py:warning:1531,__init__.py:_log:1664,__init__.py:handle:1680,__init__.py:callHandlers:1736,__init__.py:handle:1026,logging.py:emit:386,__init__.py:emit:1158,__init__.py:emit:1150,__init__.py:format:998,logging.py:format:139,__init__.py:format:711,__init__.py:getMessage:400,exceptions.py:__str__:123,exceptions.py:format_short:94,exceptions.py:name:120,traceback.py:exc_type:1181,addurls.py:addurls_to_ds:1507,test_addurls.py:version_fn:792],)
create(ok): . (dataset)
FAILED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_deeper create(ok): . (dataset)
subdataset(ok): bar (dataset)
subdataset(ok): bar/adir/bar-again (dataset)
subdataset(ok): bar/adir/bar-again/other-ds (dataset)
subdataset(ok): foo (dataset)
subdataset(ok): foo/adir/foo-again (dataset)
subdataset(ok): foo/adir/foo-again/other-ds (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_invalid_input create(ok): . (dataset)
FAILED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_no_rows create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_stdin_input create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_stdin_input_command_line addurl(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_line9h32cv_i/a (file) [to a]
addurl(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_line9h32cv_i/b (file) [to b]
addurl(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_line9h32cv_i/c (file) [to c]
metadata(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_line9h32cv_i/a (file)
metadata(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_line9h32cv_i/b (file)
metadata(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_line9h32cv_i/c (file)
save(ok): . (dataset)
action summary:
addurl (ok: 3)
metadata (ok: 3)
save (ok: 1)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_drop_after create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_from_key_invalid_format create(ok): . (dataset)
FAILED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_from_key create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_row_missing_key_fields create(ok): . (dataset)
PASSED
datalad/local/tests/test_check_dates.py::test_check_dates_invalid_repo PASSED
datalad/local/tests/test_check_dates.py::test_check_dates_invalid_date FAILED
datalad/local/tests/test_check_dates.py::test_check_dates PASSED
datalad/local/tests/test_clean.py::test_clean nothing to clean, no temporary locations present.
clean(ok): .git/datalad/tmp/archives (directory) [Removed 1 temporary archive directory: somebogus]
clean(ok): .git/annex/tmp (directory) [Removed 1 temporary annex file: somebogus]
clean(ok): .git/annex/transfer (directory) [Removed 1 annex temporary transfer directory: somebogus]
clean(ok): .git/datalad/tmp/archives (directory) [Removed empty temporary archive directory]
clean(ok): .git/annex/tmp (directory) [Removed empty temporary annex directory]
clean(ok): .git/annex/transfer (directory) [Removed empty annex temporary transfer directory]
PASSED
datalad/local/tests/test_configuration.py::test_something create(ok): . (dataset)
4
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_copy_filea0zd0og9/src/myfile1.txt (file)
add(ok): myfile1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_copy_filea0zd0og9/src/subdir/myfile2.txt (file)
add(ok): subdir/myfile2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
create(ok): . (dataset)
drop(ok): myfile1.txt (file)
copy_file(ok): /tmp/datalad_temp_test_copy_filea0zd0og9/src/myfile1.txt [/tmp/datalad_temp_test_copy_filea0zd0og9/dest/myfile1.txt]
save(ok): . (dataset)
action summary:
copy_file (ok: 1)
save (ok: 1)
get(ok): myfile1.txt (file) [from web...]
copy_file(ok): /tmp/datalad_temp_test_copy_filea0zd0og9/src/myfile1.txt [/tmp/datalad_temp_test_copy_filea0zd0og9/dest/renamed.txt]
save(ok): . (dataset)
action summary:
copy_file (ok: 1)
save (ok: 1)
copy_file(ok): /tmp/datalad_temp_test_copy_filea0zd0og9/src/myfile1.txt [/tmp/datalad_temp_test_copy_filea0zd0og9/dest/myfile1.txt]
copy_file(ok): /tmp/datalad_temp_test_copy_filea0zd0og9/src/subdir/myfile2.txt [/tmp/datalad_temp_test_copy_filea0zd0og9/dest/myfile2.txt]
save(ok): . (dataset)
action summary:
copy_file (ok: 2)
save (ok: 1)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file4_76h4w2/webfile1
add(ok): webfile1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
copy_file (ok: 1)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_test_copy_filea0zd0og9/src/subdir/myfile2.txt
add(ok): myfile2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
copy_file (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_errors create(ok): . (dataset)
copy_file(error): /tmp/datalad_temp_test_copy_file_errorsn2y3gehj [reference dataset does not contain destination path: /tmp/datalad_temp_test_copy_file_errorsn2y3gehj]
create(ok): . (dataset)
copy_file(error): /tmp/datalad_temp_test_copy_file_errorsh116ok1y [reference dataset does not contain destination path: /tmp/datalad_temp_test_copy_file_errorsh116ok1y]
copy_file(impossible): /tmp/datalad_temp_test_copy_file_errorsn2y3gehj [recursion not enabled, omitting directory]
copy_file(impossible): /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/funky [no such file or directory]
copy_file(impossible): somepath [need destination path or target directory]
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_datalad_specialremote create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_copy_file_datalad_specialremoteo0nlat4g/src/myfile1.txt (file)
add(ok): myfile1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_copy_file_datalad_specialremoteo0nlat4g/src/myfile2.txt (file)
add(ok): myfile2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_test_copy_file_datalad_specialremoteo0nlat4g/src/myfile1.txt [/tmp/datalad_temp_test_copy_file_datalad_specialremoteo0nlat4g/dest/myfile1.txt]
save(ok): . (dataset)
action summary:
copy_file (ok: 1)
save (ok: 1)
drop(ok): myfile1.txt (file)
copy_file(ok): /tmp/datalad_temp_test_copy_file_datalad_specialremoteo0nlat4g/src/myfile2.txt [/tmp/datalad_temp_test_copy_file_datalad_specialremoteo0nlat4g/dest/myfile1.txt]
save(ok): . (dataset)
action summary:
copy_file (ok: 1)
save (ok: 1)
drop(ok): myfile1.txt (file)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_into_nonannex create(ok): . (dataset)
add(ok): gone.txt (file)
add(ok): present.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
drop(ok): gone.txt (file)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_test_copy_file_into_nonannexcvr18_sw/src/present.txt
copy_file(impossible): /tmp/datalad_temp_test_copy_file_into_nonannexcvr18_sw/src/gone.txt [file has no content available]
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_recursion create(ok): . (dataset)
add(ok): subdir/file1 (file)
add(ok): subdir/file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_recursionelr8d2f8/subdir/file1 [/tmp/datalad_temp_test_copy_file_recursion0y72mecp/subdir/file1]
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_recursionelr8d2f8/subdir/file2 [/tmp/datalad_temp_test_copy_file_recursion0y72mecp/subdir/file2]
action summary:
copy_file (ok: 2)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_into_dshierarchy create(ok): . (dataset)
add(ok): lvl1/file1 (file)
add(ok): lvl1/lvl2/file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
add(ok): lvl2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): lvl2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_into_dshierarchyo7sl6rpy/lvl1/file1 [/tmp/datalad_temp_test_copy_file_into_dshierarchyfa3zgn77/lvl1/file1]
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_into_dshierarchyo7sl6rpy/lvl1/lvl2/file2 [/tmp/datalad_temp_test_copy_file_into_dshierarchyfa3zgn77/lvl1/lvl2/file2]
save(ok): . (dataset)
action summary:
copy_file (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_specs_from create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_fromvdxq5vxy/lvl1/file1
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_fromvdxq5vxy/lvl1/lvl2/file2
add(ok): file1 (file)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
copy_file (ok: 2)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): lvl1/file1
copy_file(ok): lvl1/lvl2/file2
add(ok): file1 (file)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
copy_file (ok: 2)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_fromvdxq5vxy/lvl1/file1
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_fromvdxq5vxy/lvl1/lvl2/file2
add(ok): file1 (file)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
copy_file (ok: 2)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): lvl1/file1
copy_file(ok): lvl1/lvl2/file2
add(ok): file1 (file)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
copy_file (ok: 2)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_fromvdxq5vxy/lvl1/file1
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_fromvdxq5vxy/lvl1/lvl2/file2
add(ok): file1 (file)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
copy_file (ok: 2)
save (ok: 1)
copy_file(error): /tmp/datalad_temp_test_copy_file_specs_fromg09nktab/srcdest_wrong/lvl1/file1 [copy destination not within a dataset]
copy_file(error): /tmp/datalad_temp_test_copy_file_specs_fromg09nktab/srcdest_wrong/lvl1/lvl2/file2 [copy destination not within a dataset]
action summary:
copy_file (error: 2)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_prevent_dotgit_placement create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8bq75xek/sub/.datalad/.gitattributes
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8bq75xek/sub/.datalad/config
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8bq75xek/sub/.gitattributes
add(ok): sub/.datalad/.gitattributes (file)
add(ok): sub/.datalad/config (file)
add(ok): sub/.gitattributes (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
copy_file (ok: 3)
save (ok: 1)
copy_file(impossible): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8bq75xek/sub/.git [refuse to place '.git' into destination dataset]
copy_file(impossible): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8bq75xek/sub/.git/config [refuse to place '.git' into destination dataset]
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8bq75xek/sub/.git/config
add(ok): config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
copy_file (ok: 1)
save (ok: 1)
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8bq75xek/sub/.git/config
add(ok): some (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
copy_file (ok: 1)
save (ok: 1)
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8bq75xek/sub/.git/config
action summary:
copy_file (ok: 1)
save (notneeded: 1)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_nourl create(ok): . (dataset)
add(ok): myfile.dat (file)
add(ok): noavail.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
drop(ok): noavail.dat (file)
create(ok): . (dataset)
install(ok): serv (dataset)
add(ok): serv (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
copy_file(impossible): /tmp/datalad_temp_test_copy_file_nourlaa55wc6f/serv/noavail.dat [no known location of file content]
PASSED
datalad/local/tests/test_download_url.py::test_download_url_exceptions download_url(error): /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests/test_download_url.py (file) [When specifying multiple urls, --path should point to a directory target (with a trailing separator). Got '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/local/tests/test_download_url.py']
FAILED
datalad/local/tests/test_download_url.py::test_download_url_existing_dir_no_slash_exception download_url(error): /tmp/datalad_temp_tree_test_download_url_existing_dir_no_slash_exceptiontexk53pt/dir (file) [Non-directory path given (no trailing separator) but a directory with that name (after adding archive suffix) exists]
PASSED
datalad/local/tests/test_download_url.py::test_download_url_return download_url(ok): /tmp/datalad_temp_test_download_url_returng7du_kjl/file1.txt (file)
FAILED
datalad/local/tests/test_download_url.py::test_download_url_dataset download_url(ok): /tmp/datalad_temp_test_download_url_dataset5id256z3/file1.txt (file)
create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_download_url_dataset5id256z3/ds/file1.txt (file)
download_url(ok): /tmp/datalad_temp_test_download_url_dataset5id256z3/ds/file2.txt (file)
add(ok): file1.txt (file)
add(ok): file2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
download_url (ok: 2)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_dataset5id256z3/ds/file3.txt (file)
download_url(ok): /tmp/datalad_temp_test_download_url_dataset5id256z3/ds/l1/l2/f (file)
add(ok): l1/l2/f (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_dataset5id256z3/ds/subdir/file4.txt (file)
add(ok): subdir/file4.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_dataset5id256z3/ds/subdir/five.txt (file)
add(ok): subdir/five.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_dataset5id256z3/ds/file6.txt (file)
add(ok): file6.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_dataset5id256z3/ds/subdir/file7.txt (file)
add(ok): subdir/file7.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_dataset5id256z3/file8.txt (file)
status(error): ../file8.txt [path not underneath the reference dataset /tmp/datalad_temp_test_download_url_dataset5id256z3/ds]
action summary:
download_url (ok: 1)
save (notneeded: 1)
status (error: 1)
PASSED
datalad/local/tests/test_download_url.py::test_download_url_archive create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_download_url_archivee7ube03x/archive.tar.gz (file)
add(ok): archive.tar.gz (file)
save(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_download_url_archivee7ube03x (dataset)
action summary:
add (ok: 1)
add-archive-content (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_archivee7ube03x/archive.tar.gz (file)
add(ok): archive.tar.gz (file)
save(ok): . (dataset)
add-archive-content(impossible): /tmp/datalad_temp_test_download_url_archivee7ube03x (dataset) [clean dataset required. Use `datalad status` to inspect unsaved changes]
action summary:
add (ok: 1)
add-archive-content (impossible: 1)
download_url (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_download_url.py::test_download_url_archive_from_subdir create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_download_url_archive_from_subdir5yi_bmt2/subdir/archive.tar.gz (file)
add(ok): subdir/archive.tar.gz (file)
save(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_download_url_archive_from_subdir5yi_bmt2 (dataset)
action summary:
add (ok: 1)
add-archive-content (ok: 1)
download_url (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_download_url.py::test_download_url_archive_trailing_separator create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_download_url_archive_trailing_separator8d2rk434/with-slash/a0.tar.gz (file)
add(ok): with-slash/a0.tar.gz (file)
save(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_download_url_archive_trailing_separator8d2rk434 (dataset)
action summary:
add (ok: 1)
add-archive-content (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_archive_trailing_separator8d2rk434/no-slash.tar.gz (file)
add(ok): no-slash.tar.gz (file)
save(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_download_url_archive_trailing_separator8d2rk434 (dataset)
action summary:
add (ok: 1)
add-archive-content (ok: 1)
download_url (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_download_url.py::test_download_url_need_datalad_remote SKIPPED
datalad/local/tests/test_export_archive.py::test_failure PASSED
datalad/local/tests/test_export_archive.py::test_archive create(ok): . (dataset)
add(ok): dir/file1_down (file)
add(ok): dir/file2_down (file)
add(ok): file_up (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
export_archive(ok): /tmp/datalad_temp_tree_test_archivegpatyqyp/datalad_ebc950fe-d338-4d45-bb79-97af26bb7e0e.tar.gz (file)
export_archive(ok): /tmp/datalad_temp_tree_test_archivegpatyqyp/myexport.tar.gz (file)
export_archive(ok): /tmp/datalad_temp_tree_test_archivegpatyqyp/myexport.tar.tar.gz (file)
drop(ok): file_up (file)
export_archive(ok): /tmp/datalad_temp_tree_test_archivegpatyqyp/partial.tar.gz (file)
PASSED
datalad/local/tests/test_export_archive.py::test_zip_archive create(ok): . (dataset)
add(ok): dir/file1_down (file)
add(ok): dir/file2_down (file)
add(ok): file_up (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
export_archive(ok): /tmp/datalad_temp_tree_test_zip_archivebaxwwelv/my.zip (file)
export_archive(ok): /tmp/datalad_temp_tree_test_zip_archivebaxwwelv/my.zip (file)
export_archive(ok): /tmp/datalad_temp_tree_test_zip_archivebaxwwelv/ds/datalad_aa1035e4-8efc-431c-953b-437083c11e2f.zip (file)
PASSED
datalad/local/tests/test_foreach_dataset.py::test_basic_resilience[__call__] /tmp/datalad_temp_check_basic_resilience92pnq8fo
Removing dirt
create(ok): /tmp/datalad_temp_check_basic_resilience92pnq8fo (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience92pnq8fo (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience92pnq8fo (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience92pnq8fo (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience92pnq8fo (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience92pnq8fo (dataset)
PASSED
datalad/local/tests/test_foreach_dataset.py::test_basic_resilience[get_deeply_nested_structure] /tmp/datalad_temp_check_basic_resilienceot1252sn
/tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified
/tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified/subds_lvl1_modified
Removing dirt
Removing dirt
Removing link2superdsdir
Removing dirt
create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
add(ok): |;&%b5{}'"<> .datc file_modified_ (file)
add(ok): directory_untracked/link2dir (file)
add(ok): link2dir (file)
add(ok): link2subdsdir (file)
add(ok): link2subdsroot (file)
add(ok): subdir/file_modified (file)
add(ok): subdir/link2annex_files.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 9)
save (ok: 1)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified/subds_lvl1_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified/subds_lvl1_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified/subds_lvl1_modified (dataset)
subdataset(ok): subds_modified (dataset)
subdataset(ok): subds_modified/subds_lvl1_modified (dataset)
subdataset(ok): subds_modified/subds_lvl1_modified (dataset)
subdataset(ok): subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified/subds_lvl1_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilienceot1252sn/subds_modified/subds_lvl1_modified (dataset)
PASSED
datalad/local/tests/test_foreach_dataset.py::test_python create(ok): . (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_python_evalsjauaftq (dataset)
create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
foreach-dataset(ok): /tmp/datalad_temp_check_python_exec5qv8awrc (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_python_exec5qv8awrc/sub (dataset)
create(ok): . (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_python_evalnokeiadp (dataset)
PASSED
datalad/local/tests/test_gitcredential.py::test_gitcredential_interface create(ok): . (dataset)
PASSED
datalad/local/tests/test_gitcredential.py::test_datalad_credential_helper create(ok): . (dataset)
PASSED
datalad/local/tests/test_gitcredential.py::test_credential_cycle create(ok): . (dataset)
add(ok): .datalad/providers/test_cycle.cfg (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_no_annex.py::test_no_annex create(ok): /tmp/datalad_temp_test_no_annex0e8h0m86 (dataset)
add(ok): code/inannex (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
no_annex(ok): /tmp/datalad_temp_test_no_annex0e8h0m86 (dataset)
add(ok): .gitattributes (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
no_annex (ok: 1)
save (ok: 1)
add(ok): README (file)
add(ok): code/notinannex (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_remove.py::test_remove create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
remove(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
drop (notneeded: 1)
remove (ok: 1)
save (ok: 1)
drop(error): subdir/annexed_file.txt (file) [unsafe; Could not verify the existence of the 1 necessary copy.; (Use --reckless availability to override this check, or adjust numcopies.)]
remove(ok): subdir/annexed_file.txt (symlink)
save(ok): . (dataset)
action summary:
remove (ok: 1)
save (ok: 1)
drop(impossible): subdir (directory) [cannot drop untracked content, save first]
add(ok): subdir/file_modified (file)
add(ok): subdir/link2annex_files.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
remove(ok): subdir/file_modified (symlink)
remove(ok): subdir/link2annex_files.txt (symlink)
save(ok): . (dataset)
action summary:
remove (ok: 2)
save (ok: 1)
add(ok): |;&%b5{}'"<> .datc _directory_untracked/untracked_file (file)
save(ok): subds_modified/subds_lvl1_modified (dataset)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
uninstall(error): subds_modified/subds_lvl1_modified (dataset) [to-be-dropped dataset has revisions that are not available at any known sibling. Use `datalad push --to ...` to push these before dropping the local dataset, or ignore via `--reckless availability`. Unique revisions: ['dl-test-branch']]
drop(ok): subds_modified/subds_lvl1_modified (key)
uninstall(ok): subds_modified/subds_lvl1_modified (dataset)
remove(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
drop (ok: 1)
remove (ok: 1)
save (ok: 2)
uninstall (ok: 1)
add(ok): |;&%b5{}'"<> .datc file_modified_ (file)
add(ok): directory_untracked/link2dir (file)
add(ok): link2dir (file)
add(ok): link2subdsdir (file)
add(ok): link2subdsroot (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 1)
uninstall(ok): subds_modified (dataset)
remove(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall(ok): . (dataset)
PASSED
datalad/local/tests/test_remove.py::test_remove_subdataset_nomethod create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
uninstall(error): subds (dataset) [to-be-dropped dataset has revisions that are not available at any known sibling. Use `datalad push --to ...` to push these before dropping the local dataset, or ignore via `--reckless availability`. Unique revisions: ['dl-test-branch']]
uninstall(ok): subds (dataset)
remove(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall (ok: 1)
PASSED
datalad/local/tests/test_remove.py::test_remove_uninstalled PASSED
datalad/local/tests/test_remove.py::test_remove_nowhining create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_remove_nowhininge12nar_z/subds (dataset)
uninstall(ok): . (dataset)
PASSED
datalad/local/tests/test_remove.py::test_remove_recreation create(ok): . (dataset)
uninstall(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_remove.py::test_remove_more_than_one create(ok): . (dataset)
add(ok): one (file)
add(ok): three (file)
add(ok): two (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
remove(ok): one (symlink)
remove(ok): two (symlink)
save(ok): . (dataset)
action summary:
remove (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_remove.py::test_no_interaction_with_untracked_content create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
remove(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
remove (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_remove.py::test_kill create(ok): . (dataset)
add(ok): file.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): deep1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): deep1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): deep1 (dataset)
uninstall(error): deep1 (dataset) [to-be-dropped dataset has revisions that are not available at any known sibling. Use `datalad push --to ...` to push these before dropping the local dataset, or ignore via `--reckless availability`. Unique revisions: ['dl-test-branch']]
uninstall(error): . (dataset) [cannot drop dataset, subdataset(s) still present (forgot --recursive?): ['/tmp/datalad_temp_test_killqos86lw1/deep1']]
action summary:
uninstall (error: 2)
uninstall(ok): deep1 (dataset)
drop(ok): . (key)
uninstall(ok): . (dataset)
action summary:
drop (ok: 1)
uninstall (ok: 2)
PASSED
datalad/local/tests/test_remove.py::test_clean_subds_removal create(ok): . (dataset)
add(ok): one (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): one (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): two (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): two (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): one (dataset)
subdataset(ok): two (dataset)
uninstall(ok): one (dataset)
remove(ok): one (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall (ok: 1)
subdataset(ok): two (dataset)
add(ok): three (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): three (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): three (dataset)
subdataset(ok): two (dataset)
uninstall(ok): two (dataset)
subdataset(ok): three (dataset)
subdataset(ok): two (dataset)
remove(ok): two (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
subdataset(ok): three (dataset)
PASSED
datalad/local/tests/test_rerun.py::test_rerun cat: sub/sequence: No such file or directory
cat: sub/sequence: No such file or directory
create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
run(impossible): /tmp/datalad_temp_test_rerungqnhzosw/sub (dataset) [4bcec49 was ran from a different dataset; skipping]
run(impossible): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [clean dataset required to detect changes from command; use `datalad status` to inspect unsaved changes]
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
run (ok: 1)
save (ok: 2)
unlock (ok: 1)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [a3e47b9 does not have a command; skipping]
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
run (ok: 3)
save (ok: 4)
unlock (ok: 2)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [a3e47b9 does not have a command; skipping]
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 15)
run (ok: 6)
save (ok: 10)
unlock (ok: 5)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset) [a3e47b9 does not have a command; skipping or cherry picking]
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset)
run(ok): /tmp/datalad_temp_test_rerungqnhzosw (dataset)
action summary:
run (ok: 11)
drop(ok): sub/sequence (file)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_empty_branch run(impossible): /tmp/datalad_temp_test_rerun_empty_branchrqxrj9i6 (dataset) [cannot rerun command, nothing recorded]
PASSED
datalad/local/tests/test_rerun.py::test_rerun_onto cat: grows: No such file or directory
cat: grows: No such file or directory
cat: grows: No such file or directory
create(ok): . (dataset)
run(impossible): /tmp/datalad_temp_test_rerun_ontot5t57so3 (dataset) [No run commits found in range HEAD]
run(impossible): /tmp/datalad_temp_test_rerun_ontot5t57so3 (dataset) [No run commits found in range HEAD..HEAD]
run(ok): /tmp/datalad_temp_test_rerun_ontot5t57so3 (dataset) [echo static-content > static]
add(ok): static (file)
save(ok): . (dataset)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_ontot5t57so3 (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
unlock(ok): static (file)
run(ok): /tmp/datalad_temp_test_rerun_ontot5t57so3 (dataset) [echo static-content > static]
add(ok): static (file)
action summary:
add (ok: 1)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_ontot5t57so3 (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
run(error): /tmp/datalad_temp_test_rerun_ontot5t57so3 (dataset) [branch 'from-base' already exists]
PASSED
datalad/local/tests/test_rerun.py::test_rerun_chain cat: grows: No such file or directory
create(ok): . (dataset)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_chaingbr_ncr1 (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_chaingbr_ncr1 (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_chaingbr_ncr1 (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_chaingbr_ncr1 (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_just_one_commit create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_just_one_commitr4i0cqhy (dataset) [echo static-content > static]
add(ok): static (file)
save(ok): . (dataset)
run(impossible): /tmp/datalad_temp_test_rerun_just_one_commitr4i0cqhy (dataset) [No run commits found in range orph]
run(impossible): /tmp/datalad_temp_test_rerun_just_one_commitr4i0cqhy (dataset) [No run commits found in range orph]
run(impossible): /tmp/datalad_temp_test_rerun_just_one_commitr4i0cqhy (dataset) [No run commits found in range orph]
PASSED
datalad/local/tests/test_rerun.py::test_run_failure cat: sub/grows: No such file or directory
create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): grows (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
unlock(ok): sub/grows (file)
run(ok): /tmp/datalad_temp_test_run_failure93wn3xgq (dataset) [echo x$(cat sub/grows) > sub/grows && fa...]
add(ok): grows (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
run (ok: 1)
save (ok: 2)
unlock (ok: 1)
run(ok): /tmp/datalad_temp_test_run_failure93wn3xgq (dataset) [[ ! -e bar ] && echo c >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(error): /tmp/datalad_temp_test_run_failure93wn3xgq (dataset) [false]
PASSED
datalad/local/tests/test_rerun.py::test_rerun_branch cat: run-file: No such file or directory
cat: run-file: No such file or directory
create(ok): . (dataset)
unlock(ok): run-file (file)
run(ok): /tmp/datalad_temp_test_rerun_branchnc50pnkb (dataset) [echo x$(cat run-file) > run-file]
add(ok): run-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): run-file (file)
run(ok): /tmp/datalad_temp_test_rerun_branchnc50pnkb (dataset) [echo x$(cat run-file) > run-file]
add(ok): run-file (file)
save(ok): . (dataset)
unlock(ok): run-file (file)
run(ok): /tmp/datalad_temp_test_rerun_branchnc50pnkb (dataset) [echo x$(cat run-file) > run-file]
add(ok): run-file (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_branchnc50pnkb (dataset) [4612eeb does not have a command; skipping]
action summary:
add (ok: 2)
run (ok: 3)
save (ok: 2)
unlock (ok: 2)
run(error): /tmp/datalad_temp_test_rerun_branchnc50pnkb (dataset) [branch 'rerun2' already exists]
PASSED
datalad/local/tests/test_rerun.py::test_rerun_cherry_pick create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_cherry_pick0z4obshh (dataset) [echo abc > runfile]
add(ok): runfile (file)
save(ok): . (dataset)
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): runfile (file)
run(ok): /tmp/datalad_temp_test_rerun_cherry_pick0z4obshh (dataset) [echo abc > runfile]
add(ok): runfile (file)
run(ok): /tmp/datalad_temp_test_rerun_cherry_pick0z4obshh (dataset) [3f8e285 does not have a command; skipping]
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_cherry_pick0z4obshh (dataset) [echo abc > runfile]
add(ok): runfile (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_cherry_pick0z4obshh (dataset) [3f8e285 does not have a command; cherry picking]
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_invalid_merge_run_commit create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_invalid_merge_run_commit5610hy9h (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_invalid_merge_run_commit5610hy9h (dataset) [echo invalid >>invalid]
add(ok): invalid (file)
save(ok): . (dataset)
add(ok): non-run (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_invalid_merge_run_commit5610hy9h (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_invalid_merge_run_commit5610hy9h (dataset) [67eec71 does not have a command; skipping]
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_outofdate_tree grep: foo: No such file or directory
create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_outofdate_treeznt1g0te (dataset) [grep def foo > out]
add(ok): out (file)
save(ok): . (dataset)
remove(ok): foo (file)
save(ok): . (dataset)
action summary:
remove (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_ambiguous_revision_file create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_ambiguous_revision_filet5ojqcam (dataset) [echo ambig > ambig]
add(ok): ambig (file)
save(ok): . (dataset)
unlock(ok): ambig (file)
run(ok): /tmp/datalad_temp_test_rerun_ambiguous_revision_filet5ojqcam (dataset) [echo ambig > ambig]
add(ok): ambig (file)
action summary:
add (ok: 1)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_subdir create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_rerun_subdirauehcoh4 (dataset) [touch test.dat]
add(ok): subdir/test.dat (file)
save(ok): . (dataset)
unlock(ok): subdir/test.dat (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_subdirauehcoh4 (dataset) [touch test.dat]
add(ok): subdir/test.dat (file)
action summary:
add (ok: 1)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_rerun_subdirauehcoh4 (dataset) [touch test2.dat]
add(ok): test2.dat (file)
save(ok): . (dataset)
unlock(ok): test2.dat (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_subdirauehcoh4 (dataset) [touch test2.dat]
add(ok): test2.dat (file)
action summary:
add (ok: 1)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_new_or_modified create(ok): . (dataset)
add(ok): d/to_modify (file)
add(ok): to_modify (file)
add(ok): to_remove (file)
add(ok): unchanged (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
add(ok): d/to_modify (file)
add(ok): to_modify (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_script create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_scriptlpk9b8jt (dataset) [echo a >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_scriptlpk9b8jt (dataset) [touch bar]
add(ok): .datalad/runinfo/677cba7d1d114c08acb393905c5baa4e (file)
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_scriptlpk9b8jt (dataset)
run(ok): /tmp/datalad_temp_test_rerun_scriptlpk9b8jt/commands.sh (dataset) [Script written to /tmp/datalad_temp_test_rerun_scriptlpk9b8jt/commands.sh]
run(ok): /tmp/datalad_temp_test_rerun_scriptlpk9b8jt/commands.sh (dataset) [Script written to /tmp/datalad_temp_test_rerun_scriptlpk9b8jt/commands.sh]
PASSED
datalad/local/tests/test_rerun.py::test_run_inputs_outputs create(ok): . (dataset)
add(ok): a.dat (file)
add(ok): b.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
add(ok): c.dat (file)
add(ok): d.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
add(ok): e.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
add(ok): s1_0 (dataset)
add(ok): s1_1 (dataset)
add(ok): ss (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
create(ok): . (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
add(ok): extra-input.dat (file)
add(ok): input.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_run_inputs_outputsorh84tej (dataset)
get(ok): input.dat (file) [from dl-test-remote...]
get(ok): extra-input.dat (file) [from dl-test-remote...]
unlock(ok): doubled.dat (file)
run(ok): /tmp/datalad_temp_test_run_inputs_outputsorh84tej (dataset) [cat input.dat input.dat >doubled.dat]
add(ok): doubled.dat (file)
action summary:
add (ok: 1)
get (ok: 2)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
add(ok): a.dat (file)
add(ok): b.dat (file)
add(ok): c.txt (file)
add(ok): d.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
copy(ok): a.dat (file) [to dl-test-remote...]
copy(ok): b.dat (file) [to dl-test-remote...]
copy(ok): c.txt (file) [to dl-test-remote...]
copy(ok): d.txt (file) [to dl-test-remote...]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex 8293ab8..758689d]
publish(error): . (dataset) [refs/heads/dl-test-branch->dl-test-remote:refs/heads/dl-test-branch [remote rejected] (branch is currently checked out)]
action summary:
copy (ok: 4)
publish (error: 1, ok: 1)
XFAIL (pu...)
datalad/local/tests/test_rerun.py::test_run_inputs_no_annex_repo create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_run_inputs_no_annex_repoym3v3n0u (dataset) [cd .> dummy]
add(ok): dummy (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_run_inputs_no_annex_repoym3v3n0u (dataset) [cd .> dummy]
action summary:
get (notneeded: 2)
run (ok: 1)
save (notneeded: 1)
unlock (notneeded: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_explicit create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicito09qomit (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicito09qomit (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicito09qomit (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicito09qomit (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
run (ok: 2)
save (ok: 2)
unlock (ok: 2)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicito09qomit (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicito09qomit (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicito09qomit (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicito09qomit (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
run (ok: 4)
save (ok: 4)
unlock (ok: 3)
save(ok): . (dataset)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_assume_ready create(ok): . (dataset)
add(ok): f1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_assume_ready4i15rcvo (dataset) [/usr/bin/python3.13 -c 'import sys; impo...]
add(ok): out1 (file)
add(ok): out2 (file)
save(ok): . (dataset)
drop(ok): out1 (file)
drop(ok): out2 (file)
action summary:
drop (ok: 2)
run(ok): /tmp/datalad_temp_test_rerun_assume_ready4i15rcvo (dataset) [/usr/bin/python3.13 -c 'import sys; impo...]
add(ok): out1 (file)
add(ok): out2 (file)
action summary:
add (ok: 2)
run (ok: 1)
save (notneeded: 1)
PASSED
datalad/local/tests/test_rerun.py::test_placeholders create(ok): . (dataset)
add(ok): a.in (file)
add(ok): b.in (file)
add(ok): c.out (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
unlock(ok): c.out (file)
run(ok): /tmp/datalad_temp_tree_test_placeholders2cuh_8t3 (dataset) [echo a.in b.in>c.out]
add(ok): c.out (file)
save(ok): . (dataset)
unlock(ok): c.out (file)
run(ok): /tmp/datalad_temp_tree_test_placeholders2cuh_8t3 (dataset) [echo a.in b.in>c.out]
add(ok): c.out (file)
action summary:
add (ok: 1)
get (notneeded: 2)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_placeholders2cuh_8t3 (dataset) [echo a.in>getitem]
add(ok): getitem (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_placeholders2cuh_8t3 (dataset) [echo /tmp/datalad_temp_tree_test_placeho...]
add(ok): expanded-pwd (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_placeholders2cuh_8t3 (dataset) [echo /tmp/datalad_temp_tree_test_placeho...]
add(ok): expanded-dspath (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_placeholders2cuh_8t3 (dataset) [echo /tmp/datalad_temp_tree_test_placeho...]
add(ok): subdir/expanded-pwd (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_placeholders2cuh_8t3 (dataset) [cd .> {inputs}]
add(ok): {inputs} (file)
save(ok): . (dataset)
run(impossible): /tmp/datalad_temp_tree_test_placeholders2cuh_8t3 (dataset) [command has an unrecognized placeholder: 'unknown_placeholder']
run(ok): /tmp/datalad_temp_tree_test_placeholders2cuh_8t3 (dataset) [echo gpl3 >configured-license]
add(ok): configured-license (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_placeholders2cuh_8t3 (dataset) [echo /tmp/datalad-run-_ev65o2g >tout]
add(ok): tout (file)
save(ok): . (dataset)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_commit_message_check PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_fastforwardable create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable6ev0gd4p (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable6ev0gd4p (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable6ev0gd4p (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable6ev0gd4p (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable6ev0gd4p (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable6ev0gd4p (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable6ev0gd4p (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_fastforwardable_mutator create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable_mutator8w4k1uo3 (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable_mutator8w4k1uo3 (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable_mutator8w4k1uo3 (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable_mutator8w4k1uo3 (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable_mutator8w4k1uo3 (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_left_right_runs create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset)
action summary:
add (ok: 2)
run (ok: 3)
save (ok: 2)
unlock(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset) [echo bar >bar]
add(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset)
action summary:
add (ok: 2)
run (ok: 3)
save (notneeded: 1, ok: 1)
unlock (ok: 1)
unlock(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset) [echo bar >bar]
add(ok): bar (file)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runszgg3nspp (dataset)
action summary:
add (ok: 2)
run (ok: 3)
save (notneeded: 2)
unlock (ok: 2)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_run_left_mutator_right create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_mutator_right9my00uhu (dataset) [echo ichange >>ichange]
add(ok): ichange (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_mutator_right9my00uhu (dataset) [echo idont >idont]
add(ok): idont (file)
save(ok): . (dataset)
unlock(ok): idont (file)
run(ok): /tmp/datalad_temp_test_rerun_run_left_mutator_right9my00uhu (dataset) [echo idont >idont]
add(ok): idont (file)
unlock(ok): ichange (file)
run(ok): /tmp/datalad_temp_test_rerun_run_left_mutator_right9my00uhu (dataset) [echo ichange >>ichange]
add(ok): ichange (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_mutator_right9my00uhu (dataset)
action summary:
add (ok: 2)
run (ok: 3)
save (notneeded: 1, ok: 1)
unlock (ok: 2)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_nonrun_left_run_right create(ok): . (dataset)
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_righthx8g723c (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_righthx8g723c (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_righthx8g723c (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_righthx8g723c (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_righthx8g723c (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_righthx8g723c (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_righthx8g723c (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_run_left_nonrun_right create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rightkxf5hk3z (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rightkxf5hk3z (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rightkxf5hk3z (dataset) [394f682 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rightkxf5hk3z (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rightkxf5hk3z (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rightkxf5hk3z (dataset) [394f682 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rightkxf5hk3z (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rightkxf5hk3z (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rightkxf5hk3z (dataset) [394f682 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rightkxf5hk3z (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_mutator_left_nonrun_right create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_left_nonrun_right3j9ynrys (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_mutator_left_nonrun_right3j9ynrys (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_left_nonrun_right3j9ynrys (dataset) [ad2f1f3 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_mutator_left_nonrun_right3j9ynrys (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_mutator_stem_nonrun_merges create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
add(ok): nonrun-file0 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): nonrun-file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset) [40416e6 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset) [88d51cf does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset)
action summary:
add (ok: 1)
run (ok: 4)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset) [40416e6 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset) [88d51cf does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset)
action summary:
add (ok: 1)
run (ok: 4)
save (ok: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset) [40416e6 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset) [88d51cf does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_merges5nswoyvu (dataset)
action summary:
add (ok: 1)
run (ok: 4)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_exclude_side create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_exclude_side1yvmwa5h (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_exclude_side1yvmwa5h (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_exclude_side1yvmwa5h (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_exclude_side1yvmwa5h (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_unrelated_run_left_nonrun_right create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightvhmupq_k (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightvhmupq_k (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightvhmupq_k (dataset) [5eab2b9 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightvhmupq_k (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightvhmupq_k (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightvhmupq_k (dataset) [5eab2b9 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightvhmupq_k (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightvhmupq_k (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightvhmupq_k (dataset) [5eab2b9 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightvhmupq_k (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_unrelated_mutator_left_nonrun_right create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_mutator_left_nonrun_rightv2shmc8i (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_mutator_left_nonrun_rightv2shmc8i (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_mutator_left_nonrun_rightv2shmc8i (dataset) [f5c8b72 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_unrelated_mutator_left_nonrun_rightv2shmc8i (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_unrelated_nonrun_left_run_right create(ok): . (dataset)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_rightc3e_qrjf (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_rightc3e_qrjf (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_rightc3e_qrjf (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_rightc3e_qrjf (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_rightc3e_qrjf (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_rightc3e_qrjf (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_rightc3e_qrjf (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_unrelated_nonrun_left_mutator_right create(ok): . (dataset)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_mutator_rightehewx5jx (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_mutator_rightehewx5jx (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_mutator_rightehewx5jx (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_mutator_rightehewx5jx (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_mutator_rightehewx5jx (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_multifork create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
add(ok): nonrun-file0 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): nonrun-file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
add(ok): nonrun-file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo onside0 >onside0]
add(ok): onside0 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo after-side-side >after-side-side]
add(ok): after-side-side (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [a9e1f00 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [37c3694 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo onside0 >onside0]
add(ok): onside0 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo after-side-side >after-side-side]
add(ok): after-side-side (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [932a345 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset)
action summary:
add (ok: 4)
run (ok: 10)
save (ok: 4)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [a9e1f00 does not have a command; skipping]
unlock(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo bar >bar]
add(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [37c3694 does not have a command; skipping]
unlock(ok): onside0 (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo onside0 >onside0]
add(ok): onside0 (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset)
unlock(ok): after-side-side (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [echo after-side-side >after-side-side]
add(ok): after-side-side (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset) [932a345 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_multiforku5bxxjd3 (dataset)
action summary:
add (ok: 4)
run (ok: 10)
save (notneeded: 4)
unlock (ok: 4)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_octopus create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
add(ok): non-run (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [echo baz >baz]
add(ok): baz (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [1af29f4 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [echo baz >baz]
add(ok): baz (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset)
action summary:
add (ok: 3)
run (ok: 5)
save (ok: 3)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [1af29f4 does not have a command; skipping]
unlock(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [echo bar >bar]
add(ok): bar (file)
unlock(ok): baz (file)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset) [echo baz >baz]
add(ok): baz (file)
run(ok): /tmp/datalad_temp_test_rerun_octopuszxvsgsuj (dataset)
action summary:
add (ok: 3)
run (ok: 5)
save (notneeded: 2, ok: 1)
unlock (ok: 3)
PASSED
datalad/local/tests/test_run_procedure.py::test_invalid_call PASSED
datalad/local/tests/test_run_procedure.py::test_dirty Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/resources/procedures/cfg_yoda.py", line 37, in <module>
raise RuntimeError(
...<3 lines>...
))
RuntimeError: Stopping, because to be modified dataset content was found dirty: ['/tmp/datalad_temp_tree_test_dirtyiuoi8x4m/README.md']
create(ok): . (dataset)
add(ok): README.md (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_dirtyiuoi8x4m (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
PASSED
datalad/local/tests/test_run_procedure.py::test_procedure_discovery create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_procedure_discoveryvy7arm3g (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): cfg_yoda.sh (file)
add(ok): code/datalad_test_proc.py (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
install(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/local/tests/test_run_procedure.py::test_configs add(ok): fromproc.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): fromproc.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): fromproc.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_configsk7m0v4y0 (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
run(ok): /tmp/datalad_temp_tree_test_configsk7m0v4y0 (dataset) [/usr/bin/python3.13 /tmp/datalad_temp_tr...]
unlock(ok): fromproc.txt (file)
run(ok): /tmp/datalad_temp_tree_test_configsk7m0v4y0 (dataset) [/usr/bin/python3.13 /tmp/datalad_temp_tr...]
unlock(ok): fromproc.txt (file)
run(ok): /tmp/datalad_temp_tree_test_configsk7m0v4y0 (dataset) [/usr/bin/python3.13 /tmp/datalad_temp_tr...]
procedure_help(impossible): code/datalad_test_proc.py (file) [No help available for 'datalad_test_proc']
datalad_test_proc (code/datalad_test_proc.py)
This is a help message
PASSED
datalad/local/tests/test_run_procedure.py::test_spaces add(ok): with spaces (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_spacesykq_29l3 (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
run(ok): /tmp/datalad_temp_tree_test_spacesykq_29l3 (dataset) [/usr/bin/python3.13 /tmp/datalad_temp_tr...]
PASSED
datalad/local/tests/test_run_procedure.py::test_quoting ['/tmp/datalad_temp_tree_test_quotinguouibm62/ |;&%b5{}\'"<> .datc /code/just2args.py', '/tmp/datalad_temp_tree_test_quotinguouibm62/ |;&%b5{}\'"<> .datc ', "with ' sing", 'with " doub']
['/tmp/datalad_temp_tree_test_quotinguouibm62/ |;&%b5{}\'"<> .datc /code/just2args.py', '/tmp/datalad_temp_tree_test_quotinguouibm62/ |;&%b5{}\'"<> .datc ', 'still-one arg']
Traceback (most recent call last):
File "/tmp/datalad_temp_tree_test_quotinguouibm62/ |;&%b5{}'"<> .datc /code/just2args.py", line 5, in <module>
assert len(sys.argv) == 4
^^^^^^^^^^^^^^^^^^
AssertionError
create(ok): . (dataset)
PASSED
datalad/local/tests/test_run_procedure.py::test_text2git create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_text2gits3yuvguz (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
add(ok): 0blob (file)
add(ok): JSON (file)
add(ok): MARKDOWN (file)
add(ok): YAML (file)
add(ok): empty (file)
add(ok): emptyline (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
PASSED
datalad/local/tests/test_run_procedure.py::test_name_with_underscore ['/tmp/datalad_temp_tree_test_name_with_underscore0rehcjcz/.datalad/procedures/print_args']
create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_name_with_underscore0rehcjcz (dataset) [/usr/bin/python3.13 /tmp/datalad_temp_tr...]
PASSED
datalad/local/tests/test_run_procedure.py::test_call_fmt_from_env_requires_reload create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_call_fmt_from_env_requires_reloadc6ttnshe (dataset) [/usr/bin/python3.13 /tmp/datalad_temp_te...]
PASSED
datalad/local/tests/test_run_procedure.py::test_run_proc_with_dict create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_proc_with_dict7_83ge7s (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
PASSED
datalad/local/tests/test_subdataset.py::test_get_subdatasets create(ok): . (dataset)
add(ok): sub dataset1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub dataset1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): 2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): 2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub sub dataset1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub sub dataset1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): 2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub sub dataset1 (dataset)
add(ok): sub sub dataset1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub sub dataset1/2 (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): sub sub dataset1 (dataset)
add(ok): sub sub dataset1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub sub dataset1/subm 1 (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): sub dataset1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 6, ok: 1)
install(ok): /tmp/datalad_temp_test_get_subdatasets5tg4zur2 (dataset)
add(ok): subdir/.lots.of.dots (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/.lots.of.dots (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): sub dataset1 (dataset)
install(ok): /tmp/datalad_temp_test_get_subdatasets5tg4zur2/sub dataset1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdatasets5tg4zur2/sub dataset1]
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
install(ok): /tmp/datalad_temp_test_get_subdatasets5tg4zur2/sub dataset1/sub sub dataset1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdatasets5tg4zur2/sub dataset1/sub sub dataset1]
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
subdataset(ok): sub dataset1 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
add(ok): sub dataset1/sub sub dataset1/.gitmodules (file)
save(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
add(ok): sub dataset1/sub sub dataset1/.gitmodules (file)
save(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
subdataset(ok): sub dataset1 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
add(ok): sub dataset1/sub sub dataset1/.gitmodules (file)
save(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
add(ok): sub dataset1/sub sub dataset1/.gitmodules (file)
save(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(impossible): /tmp/datalad_temp_test_get_subdatasets5tg4zur2 [path not contained in any matching subdataset]
subdataset(impossible): /tmp/datalad_temp_test_get_subdatasets5tg4zur2/impossible_yes [path not contained in any matching subdataset]
subdataset(impossible): /tmp/datalad_temp_test_get_subdatasets5tg4zur2/../impossible_yes [path not contained in any matching subdataset]
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
PASSED
datalad/local/tests/test_subdataset.py::test_state create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): sub (dataset)
uninstall(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
PASSED
datalad/local/tests/test_subdataset.py::test_get_subdatasets_types create(ok): /tmp/datalad_temp_test_get_subdatasets_typestp47h7yc (dataset)
add(ok): 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): true (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): true (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): 1 (dataset)
subdataset(ok): true (dataset)
PASSED
datalad/local/tests/test_subdataset.py::test_parent_on_unborn_branch subdataset(ok): sub (dataset)
PASSED
datalad/local/tests/test_subdataset.py::test_name_starts_with_hyphen create(ok): . (dataset)
add(ok): -sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): -sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): -sub (dataset)
create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_name_starts_with_hyphenhbgvzt64/-clone (dataset)
add(ok): -clone (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
subdataset(ok): -clone (dataset)
uninstall(ok): -clone (dataset)
subdataset(ok): -clone (dataset)
install(ok): /tmp/datalad_temp_test_name_starts_with_hyphenhbgvzt64/-clone (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_name_starts_with_hyphenhbgvzt64/-clone]
subdataset(ok): -clone (dataset)
PASSED
datalad/local/tests/test_unlock.py::test_unlock_raises create(ok): /tmp/datalad_temp_test_unlock_raisesn1afyoca (dataset)
unlock(impossible): notexistent.txt (file) [path does not exist]
status(error): ../datalad_temp_test_unlock_raises7q61o26f [path not underneath the reference dataset /tmp/datalad_temp_test_unlock_raisesn1afyoca]
PASSED
datalad/local/tests/test_unlock.py::test_unlock create(ok): . (dataset)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_unlockpc_f_g8c (dataset)
unlock(impossible): test-annex.dat (file) [no content present; cannot unlock]
unlock(ok): test-annex.dat (file)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): test-annex.dat (file)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_unlock.py::test_unlock_directory create(ok): . (dataset)
add(ok): dir/a (file)
add(ok): dir/b (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
unlock(ok): dir/a (file)
unlock(ok): dir/b (file)
action summary:
unlock (ok: 2)
add(ok): dir/a (file)
add(ok): dir/b (file)
action summary:
add (ok: 2)
save (notneeded: 1)
drop(ok): dir/a (file)
unlock(ok): dir/b (file)
unlock(impossible): dir/a (file) [no content present; cannot unlock]
PASSED
datalad/local/tests/test_unlock.py::test_unlock_cant_unlock create(ok): . (dataset)
add(ok): regular_git (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): already_unlocked (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): already_unlocked (file)
unlock(impossible): untracked (file) [untracked; cannot unlock]
PASSED
datalad/local/tests/test_unlock.py::test_unlock_gh_5456 create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_wtf.py::test_wtf create(ok): /tmp/datalad_temp_tree_test_wtff2df1fh6/ |;&%b5{}'"<> .datc (dataset)
# WTF
SKIPPED ()
datalad/resources/procedures/tests/test_noannex.py::test_noannex_simple create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_noannex_simplevkj7ibm0 (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
PASSED
datalad/resources/procedures/tests/test_noannex.py::test_noannex_create_force run(ok): /tmp/datalad_temp_tree_test_noannex_create_force3ujsrztm (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
create(ok): . (dataset)
action summary:
create (ok: 1)
run (ok: 1)
PASSED
datalad/resources/procedures/tests/test_noannex.py::test_noannex_fail_if_has_annexed Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/resources/procedures/cfg_noannex.py", line 43, in <module>
no_annex(sys.argv[1])
~~~~~~~~^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/resources/procedures/cfg_noannex.py", line 28, in no_annex
raise RuntimeError("Annex has some annexed files, unsafe")
RuntimeError: Annex has some annexed files, unsafe
create(ok): . (dataset)
add(ok): data (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(error): /tmp/datalad_temp_tree_test_noannex_fail_if_has_annexedom0jp910 (dataset) [/usr/bin/python3.13 /build/datalad-fCpM1...]
XFAIL
datalad/runner/tests/test_exception.py::test_format_error_with_duplicates PASSED
datalad/runner/tests/test_exception.py::test_format_no_errors PASSED
datalad/runner/tests/test_exception.py::test_command_error_rendering PASSED
datalad/runner/tests/test_generatormixin.py::test_generator_mixin_basic PASSED
datalad/runner/tests/test_generatormixin.py::test_generator_mixin_runner PASSED
datalad/runner/tests/test_generatormixin.py::test_post_pipe_callbacks PASSED
datalad/runner/tests/test_generatormixin.py::test_file_number_activity_detection a
PASSED
datalad/runner/tests/test_generatormixin.py::test_failing_process PASSED
datalad/runner/tests/test_gitrunner.py::test_gitrunner_generator PASSED
datalad/runner/tests/test_gitrunner.py::test_gitrunner_list PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_interactive_communication PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_thread_exit deque([])
PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_read_exception_catching PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_read_closing PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_write_exception_catching PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_writer_closing PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_writer_closing_timeout_signal PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_writer_closing_no_signal PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_inside_async PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_popen_invocation create(ok): . (dataset)
add(ok): file.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_popen_invocationd0rfz1v0 (dataset)
get(ok): file.dat (file) [from dl-test-remote...]
PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_timeout PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_timeout_nothing PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_timeout_stdout_stderr PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_timeout_process PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_exit_3 PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_exit_4 PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_generator_throw PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_exiting_process exit
PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_stalling_detection_1 PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_stalling_detection_2 PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_concurrent_waiting_run PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_concurrent_generator_reading PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_same_thread_reenter_detection PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_reenter_generator_detection PASSED
datalad/runner/tests/test_threadsafety.py::test_thread_serialization PASSED
datalad/runner/tests/test_threadsafety.py::test_reentry_detection PASSED
datalad/runner/tests/test_threadsafety.py::test_leave_handling PASSED
datalad/runner/tests/test_threadsafety.py::test_thread_leave_handling PASSED
datalad/runner/tests/test_utils.py::test_line_splitter_basic PASSED
datalad/runner/tests/test_utils.py::test_line_splitter_basic_keep PASSED
datalad/runner/tests/test_utils.py::test_line_splitter_zero PASSED
datalad/runner/tests/test_utils.py::test_line_splitter_zero_keep PASSED
datalad/runner/tests/test_utils.py::test_line_splitter_corner_cases PASSED
datalad/runner/tests/test_utils.py::test_assembling_decoder_mix_in_basic PASSED
datalad/runner/tests/test_utils.py::test_assembling_decoder_mix_in_multiple PASSED
datalad/runner/tests/test_utils.py::test_assembling_decoder_mix_in_multiple_fail PASSED
datalad/runner/tests/test_utils.py::test_assembling_decoder_mix_in_warning PASSED
datalad/runner/tests/test_witless_runner.py::test_runner PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_stderr_capture PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_stdout_capture PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_failure PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_fix_PWD PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_cwd_encoding PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_stdin PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_stdin_no_capture STUVWXYZ-
PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_no_stdin_no_capture a b c
PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_empty_stdin
PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_parametrized_protocol PASSED
datalad/runner/tests/test_witless_runner.py::test_asyncio_loop_noninterference1 /tmp/datalad_temp_test_asyncio_loop_noninterference1ph7kthdq/reproducer.py:2: DeprecationWarning: There is no current event loop
asyncio.get_event_loop()
install(ok): /tmp/datalad_temp_test_asyncio_loop_noninterference150kpg3oa (dataset)
nothing to save, working tree clean
create(ok): /tmp/datalad_temp_test_asyncio_loop_noninterference1ph7kthdq (dataset)
PASSED
datalad/runner/tests/test_witless_runner.py::test_asyncio_forked PASSED
datalad/runner/tests/test_witless_runner.py::test_done_deprecation PASSED
datalad/runner/tests/test_witless_runner.py::test_faulty_poll_detection PASSED
datalad/runner/tests/test_witless_runner.py::test_kill_output PASSED
datalad/runner/tests/test_witless_runner.py::test_too_long PASSED
datalad/runner/tests/test_witless_runner.py::test_path_to_str_conversion PASSED
datalad/runner/tests/test_witless_runner.py::test_env_copying PASSED
datalad/runner/tests/test_witless_runner.py::test_environment PASSED
datalad/runner/tests/test_witless_runner.py::test_argument_priority PASSED
datalad/runner/tests/test_witless_runner.py::test_concurrent_execution PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_instance_from_clone PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_instance_from_existing PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_instance_brand_new PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_crippled_filesystem PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_is_direct_mode PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_is_direct_mode_gitrepo PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_file_key PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_outofspace PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_remote_na PASSED
datalad/support/tests/test_annexrepo.py::test_annex_repo_sameas_special SKIPPED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_file_has_content[False] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_file_has_content[True] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_is_under_annex[False] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_is_under_annex[True] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_web_remote PASSED
datalad/support/tests/test_annexrepo.py::test_find_batch_equivalence PASSED
datalad/support/tests/test_annexrepo.py::test_repo_info PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_migrating_backends PASSED
datalad/support/tests/test_annexrepo.py::test_dropkey[False] PASSED
datalad/support/tests/test_annexrepo.py::test_dropkey[True] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_backend_option PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_file_backend PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_always_commit PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_on_uninited_annex Cloning into '/tmp/datalad_temp_test_AnnexRepo_on_uninited_annexgfm1vbwt'...
done.
PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_commit PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_add_to_annex PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_add_to_git PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get PASSED
datalad/support/tests/test_annexrepo.py::test_v7_detached_get PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_contentlocation[False] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_contentlocation[True] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_addurl_to_file_batched SKIPPED
datalad/support/tests/test_annexrepo.py::test_annexrepo_fake_dates_disables_batched PASSED
datalad/support/tests/test_annexrepo.py::test_annex_backends PASSED
datalad/support/tests/test_annexrepo.py::test_annex_ssh SKIPPED (Run...)
datalad/support/tests/test_annexrepo.py::test_annex_remove PASSED
datalad/support/tests/test_annexrepo.py::test_repo_version_upgrade PASSED
datalad/support/tests/test_annexrepo.py::test_repo_version_supported[8] PASSED
datalad/support/tests/test_annexrepo.py::test_repo_version_supported[9] PASSED
datalad/support/tests/test_annexrepo.py::test_repo_version_supported[10] PASSED
datalad/support/tests/test_annexrepo.py::test_init_scanning_message SKIPPED
datalad/support/tests/test_annexrepo.py::test_annex_copy_to PASSED
datalad/support/tests/test_annexrepo.py::test_annex_drop PASSED
datalad/support/tests/test_annexrepo.py::test_annex_get_annexed_files PASSED
datalad/support/tests/test_annexrepo.py::test_is_available[True] create(ok): . (dataset)
save(ok): . (dataset)
drop(ok): test-annex.dat (file)
install(ok): /tmp/datalad_temp_test_is_availablewfqu2a82 (dataset)
PASSED
datalad/support/tests/test_annexrepo.py::test_is_available[False] create(ok): . (dataset)
save(ok): . (dataset)
drop(ok): test-annex.dat (file)
install(ok): /tmp/datalad_temp_test_is_availablea6_lxsvo (dataset)
PASSED
datalad/support/tests/test_annexrepo.py::test_get_urls_none PASSED
datalad/support/tests/test_annexrepo.py::test_annex_add_no_dotfiles /tmp/datalad_temp_test_annex_add_no_dotfiles9752g3hw
PASSED
datalad/support/tests/test_annexrepo.py::test_annex_version_handling_at_min_version PASSED
datalad/support/tests/test_annexrepo.py::test_annex_version_handling_bad_git_annex PASSED
datalad/support/tests/test_annexrepo.py::test_get_description PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_flyweight PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_toppath PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_submodules SKIPPED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_dirty PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_set_remote_url PASSED
datalad/support/tests/test_annexrepo.py::test_wanted PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_metadata PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_addurl_batched_and_set_metadata PASSED
datalad/support/tests/test_annexrepo.py::test_change_description PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_corresponding_branch PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_tracking_branch PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_is_managed_branch PASSED
datalad/support/tests/test_annexrepo.py::test_fake_is_not_special PASSED
datalad/support/tests/test_annexrepo.py::test_is_special PASSED
datalad/support/tests/test_annexrepo.py::test_fake_dates PASSED
datalad/support/tests/test_annexrepo.py::test_error_reporting PASSED
datalad/support/tests/test_annexrepo.py::test_annexjson_protocol PASSED
datalad/support/tests/test_annexrepo.py::test_annexjson_protocol_long PASSED
datalad/support/tests/test_annexrepo.py::test_annexjson_protocol_incorrect[] PASSED
datalad/support/tests/test_annexrepo.py::test_annexjson_protocol_incorrect[, end=""] PASSED
datalad/support/tests/test_annexrepo.py::test_commit_annex_commit_changed[True] PASSED
datalad/support/tests/test_annexrepo.py::test_commit_annex_commit_changed[False] PASSED
datalad/support/tests/test_annexrepo.py::test_unannex_etc PASSED
datalad/support/tests/test_annexrepo.py::test_files_split_exc[GitRepo] PASSED
datalad/support/tests/test_annexrepo.py::test_files_split_exc[AnnexRepo] PASSED
datalad/support/tests/test_annexrepo.py::test_files_split[GitRepo] PASSED
datalad/support/tests/test_annexrepo.py::test_files_split[AnnexRepo] PASSED
datalad/support/tests/test_annexrepo.py::test_ro_operations SKIPPED
datalad/support/tests/test_annexrepo.py::test_save_noperms SKIPPED (...)
datalad/support/tests/test_annexrepo.py::test_get_size_from_key PASSED
datalad/support/tests/test_annexrepo.py::test_call_annex PASSED
datalad/support/tests/test_annexrepo.py::test_whereis_zero_copies PASSED
datalad/support/tests/test_annexrepo.py::test_whereis_batch_eqv PASSED
datalad/support/tests/test_annexrepo.py::test_done_deprecation PASSED
datalad/support/tests/test_annexrepo.py::test_generator_annex_json_protocol PASSED
datalad/support/tests/test_annexrepo.py::test_captured_exception PASSED
datalad/support/tests/test_annexrepo.py::test_stderr_rejecting_protocol_trigger PASSED
datalad/support/tests/test_annexrepo.py::test_stderr_rejecting_protocol_ignore PASSED
datalad/support/tests/test_ansi_colors.py::test_color_enabled PASSED
datalad/support/tests/test_ansi_colors.py::test_format_msg PASSED
datalad/support/tests/test_ansi_colors.py::test_color_word PASSED
datalad/support/tests/test_ansi_colors.py::test_color_status PASSED
datalad/support/tests/test_cache.py::test_DictCache PASSED
datalad/support/tests/test_captured_exception.py::test_CapturedException FAILED
datalad/support/tests/test_captured_exception.py::test_format_exception_with_cause FAILED
datalad/support/tests/test_cookies.py::test_no_blows PASSED
datalad/support/tests/test_digests.py::test_digester PASSED
datalad/support/tests/test_due_utils.py::test_duecredit_dataset --- Logging error ---
Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/due_utils.py", line 57, in duecredit_dataset
res = dataset.metadata(
^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/distribution/dataset.py", line 193, in __getattr__
return super(Dataset, self).__getattribute__(attr)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
AttributeError: 'Dataset' object has no attribute 'metadata'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.13/logging/__init__.py", line 1150, in emit
msg = self.format(record)
File "/usr/lib/python3.13/logging/__init__.py", line 998, in format
return fmt.format(record)
~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 711, in format
record.message = record.getMessage()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/logging/__init__.py", line 400, in getMessage
msg = msg % self.args
~~~~^~~~~~~~~~~
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 123, in __str__
return self.format_short()
~~~~~~~~~~~~~~~~~^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 94, in format_short
return self.name + '(' + self.message + ')'
^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 120, in name
return self.tb.exc_type.__qualname__
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/traceback.py", line 1181, in exc_type
warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning, stacklevel=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
Call stack:
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module>
raise SystemExit(pytest.console_main())
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201, in console_main
code = main()
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 175, in main
ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 330, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 283, in wrap_session
session.exitstatus = doit(config, session) or 0
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 337, in _main
config.hook.pytest_runtestloop(session=session)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 362, in pytest_runtestloop
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol
runtestprotocol(item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 132, in runtestprotocol
reports.append(call_and_report(item, "call", log))
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 241, in call_and_report
call = CallInfo.from_call(
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call
result: TResult | None = func()
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call
item.runtest()
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call
result = testfunction(**testargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/utils_pytest.py", line 927, in _wrap_with_tempfile
return t(*(arg + (filename,)), **kw)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests/test_due_utils.py", line 44, in test_duecredit_dataset
duecredit_dataset(dataset) # should not crash or anything
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/utils.py", line 1262, in wrapped_func
return f(*args, **kwargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/due_utils.py", line 63, in duecredit_dataset
lgr.debug(
Message: 'Failed to obtain metadata for %s. Will not provide duecredit entry: %s'
Arguments: (Dataset('/tmp/datalad_temp_test_duecredit_dataset48uzv6ro'), 'Dataset' object has no attribute 'metadata' [due_utils.py:duecredit_dataset:57,dataset.py:__getattr__:193])
create(ok): . (dataset)
PASSED
datalad/support/tests/test_extensions.py::test_register_config PASSED
datalad/support/tests/test_external_versions.py::test_external_versions_basic PASSED
datalad/support/tests/test_external_versions.py::test_external_version_contains PASSED
datalad/support/tests/test_external_versions.py::test_external_versions_unknown PASSED
datalad/support/tests/test_external_versions.py::test_external_versions_popular_packages SKIPPED
datalad/support/tests/test_external_versions.py::test_external_versions_rogue_module --- Logging error ---
Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/external_versions.py", line 309, in __getitem__
module = __import__(modname)
File "/tmp/datalad_temp_test_external_versions_rogue_moduleygvhisoj/verycustomrogue__.py", line 1, in <module>
raise Exception("pickaboo")
Exception: pickaboo
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.13/logging/__init__.py", line 1150, in emit
msg = self.format(record)
File "/usr/lib/python3.13/logging/__init__.py", line 998, in format
return fmt.format(record)
~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 711, in format
record.message = record.getMessage()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/logging/__init__.py", line 400, in getMessage
msg = msg % self.args
~~~~^~~~~~~~~~~
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 123, in __str__
return self.format_short()
~~~~~~~~~~~~~~~~~^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 94, in format_short
return self.name + '(' + self.message + ')'
^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 120, in name
return self.tb.exc_type.__qualname__
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/traceback.py", line 1181, in exc_type
warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning, stacklevel=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
Call stack:
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module>
raise SystemExit(pytest.console_main())
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201, in console_main
code = main()
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 175, in main
ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 330, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 283, in wrap_session
session.exitstatus = doit(config, session) or 0
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 337, in _main
config.hook.pytest_runtestloop(session=session)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 362, in pytest_runtestloop
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol
runtestprotocol(item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 132, in runtestprotocol
reports.append(call_and_report(item, "call", log))
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 241, in call_and_report
call = CallInfo.from_call(
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call
result: TResult | None = func()
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call
item.runtest()
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call
result = testfunction(**testargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/utils_pytest.py", line 927, in _wrap_with_tempfile
return t(*(arg + (filename,)), **kw)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests/test_external_versions.py", line 144, in test_external_versions_rogue_module
assert ev[modname] is None
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/external_versions.py", line 314, in __getitem__
lgr.warning("Failed to import module %s due to %s",
Message: 'Failed to import module %s due to %s'
Arguments: ('verycustomrogue__', pickaboo [external_versions.py:__getitem__:309,verycustomrogue__.py:<module>:1])
FAILED
datalad/support/tests/test_external_versions.py::test_custom_versions FAILED
datalad/support/tests/test_external_versions.py::test_ancient_annex PASSED
datalad/support/tests/test_external_versions.py::test_annex_version_comparison PASSED
datalad/support/tests/test_external_versions.py::test_list_tuple PASSED
datalad/support/tests/test_external_versions.py::test_system_ssh_version PASSED
datalad/support/tests/test_external_versions.py::test_ssh_versions PASSED
datalad/support/tests/test_external_versions.py::test_humanize PASSED
datalad/support/tests/test_external_versions.py::test_check PASSED
datalad/support/tests/test_external_versions.py::test_add PASSED
datalad/support/tests/test_fileinfo.py::test_get_content_info PASSED
datalad/support/tests/test_fileinfo.py::test_compare_content_info create(ok): . (dataset)
PASSED
datalad/support/tests/test_fileinfo.py::test_subds_path create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): some.txt (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
PASSED
datalad/support/tests/test_fileinfo.py::test_report_absent_keys create(ok): . (dataset)
add(ok): dummy (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(ok): dummy (file)
get(ok): mehasurlkey (file) [from web...]
PASSED
datalad/support/tests/test_fileinfo.py::test_annexinfo_init create(ok): . (dataset)
add(ok): bar (file)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/support/tests/test_fileinfo.py::test_info_path_inside_submodule create(ok): . (dataset)
add(ok): submod (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): submod (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): submod (dataset)
add(ok): submod (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
PASSED
datalad/support/tests/test_fileinfo.py::test_get_content_info_dotgit create(ok): . (dataset)
PASSED
datalad/support/tests/test_fileinfo.py::test_get_content_info_paths_empty_list create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/support/tests/test_fileinfo.py::test_status_paths_empty_list create(ok): . (dataset)
PASSED
datalad/support/tests/test_fileinfo.py::test_get_file_annexinfo create(ok): . (dataset)
add(ok): ingit.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): dir1/dropped (file)
add(ok): dir2/d21 (file)
add(ok): dir2/d22 (file)
add(ok): inannex.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
drop(ok): dir1/dropped (file)
drop(ok): dir1 (directory)
action summary:
drop (ok: 2)
PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_invalid_path PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_instance_from_clone PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_instance_from_existing PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_instance_from_not_existing PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_init_options PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_bare PASSED
datalad/support/tests/test_gitrepo.py::test_init_fail_under_known_subdir PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_equals PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_add PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_remove PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_commit PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_indexed_files PASSED
datalad/support/tests/test_gitrepo.py::test_normalize_path PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_files_decorator PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_remote_add SKIPPED
datalad/support/tests/test_gitrepo.py::test_GitRepo_remote_remove PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_remote_url PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_fetch PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_ssh_fetch SKIPPED
datalad/support/tests/test_gitrepo.py::test_GitRepo_ssh_push SKIPPED
datalad/support/tests/test_gitrepo.py::test_GitRepo_push_n_checkout PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_remote_update PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_files PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_toppath PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_dirty PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_merge_base PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_git_get_branch_commits_ PASSED
datalad/support/tests/test_gitrepo.py::test_get_tracking_branch PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_submodules PASSED
datalad/support/tests/test_gitrepo.py::test_get_submodules_parent_on_unborn_branch PASSED
datalad/support/tests/test_gitrepo.py::test_to_options PASSED
datalad/support/tests/test_gitrepo.py::test_to_options_from_gitpython PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_count_objects PASSED
datalad/support/tests/test_gitrepo.py::test_optimized_cloning PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_flyweight PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_gitignore PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_set_remote_url PASSED
datalad/support/tests/test_gitrepo.py::test_gitattributes PASSED
datalad/support/tests/test_gitrepo.py::test_get_hexsha_tag PASSED
datalad/support/tests/test_gitrepo.py::test_get_tags PASSED
datalad/support/tests/test_gitrepo.py::test_get_commit_date PASSED
datalad/support/tests/test_gitrepo.py::test_fake_dates PASSED
datalad/support/tests/test_gitrepo.py::test_duecredit PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_revisions PASSED
datalad/support/tests/test_gitrepo.py::test_gitrepo_add_to_git_with_annex_v7 PASSED
datalad/support/tests/test_gitrepo.py::test_gitrepo_call_git_methods PASSED
datalad/support/tests/test_gitrepo.py::test_protocols[https] SKIPPED
datalad/support/tests/test_gitrepo.py::test_gitrepo_push_default_first_kludge PASSED
datalad/support/tests/test_globbedpaths.py::test_globbedpaths_get_sub_patterns PASSED
datalad/support/tests/test_globbedpaths.py::test_globbedpaths PASSED
datalad/support/tests/test_globbedpaths.py::test_globbedpaths_misses PASSED
datalad/support/tests/test_globbedpaths.py::test_globbedpaths_partial_matches PASSED
datalad/support/tests/test_globbedpaths.py::test_globbedpaths_cached PASSED
datalad/support/tests/test_json_py.py::test_load_screwy_unicode --- Logging error ---
Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/json_py.py", line 174, in load
return json.load(jreader, **kw)
~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/json/__init__.py", line 293, in load
return loads(fp.read(),
cls=cls, object_hook=object_hook,
parse_float=parse_float, parse_int=parse_int,
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib/python3.13/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
~~~~~~~~~~~~~~~~~~~~~~~^^^
File "/usr/lib/python3.13/json/decoder.py", line 345, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/json/decoder.py", line 361, in raw_decode
obj, end = self.scan_once(s, idx)
~~~~~~~~~~~~~~^^^^^^^^
json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 18 (char 17)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.13/logging/__init__.py", line 1150, in emit
msg = self.format(record)
File "/usr/lib/python3.13/logging/__init__.py", line 998, in format
return fmt.format(record)
~~~~~~~~~~^^^^^^^^
File "/usr/lib/python3.13/logging/__init__.py", line 711, in format
record.message = record.getMessage()
~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/logging/__init__.py", line 400, in getMessage
msg = msg % self.args
~~~~^~~~~~~~~~~
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 123, in __str__
return self.format_short()
~~~~~~~~~~~~~~~~~^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 94, in format_short
return self.name + '(' + self.message + ')'
^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/exceptions.py", line 120, in name
return self.tb.exc_type.__qualname__
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/traceback.py", line 1181, in exc_type
warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning, stacklevel=2)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
Call stack:
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module>
raise SystemExit(pytest.console_main())
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201, in console_main
code = main()
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 175, in main
ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 330, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 283, in wrap_session
session.exitstatus = doit(config, session) or 0
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 337, in _main
config.hook.pytest_runtestloop(session=session)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 362, in pytest_runtestloop
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 113, in pytest_runtest_protocol
runtestprotocol(item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 132, in runtestprotocol
reports.append(call_and_report(item, "call", log))
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 241, in call_and_report
call = CallInfo.from_call(
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call
result: TResult | None = func()
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call
item.runtest()
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call
result = testfunction(**testargs)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/tests/utils_pytest.py", line 927, in _wrap_with_tempfile
return t(*(arg + (filename,)), **kw)
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/tests/test_json_py.py", line 35, in test_load_screwy_unicode
eq_(load(fname), {'Authors': ['A1', 'A2']})
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build/datalad/support/json_py.py", line 179, in load
lgr.warning(
Message: 'Failed to decode content in %s: %s. Trying few tricks'
Arguments: ('/tmp/datalad_temp_test_load_screwy_unicode2rd1jmsr', Expecting ',' delimiter: line 1 column 18 (char 17) [json_py.py:load:174,__init__.py:load:293,__init__.py:loads:346,decoder.py:decode:345,decoder.py:raw_decode:361])
FAILED
datalad/support/tests/test_json_py.py::test_load_unicode_line_separator PASSED
datalad/support/tests/test_json_py.py::test_loads PASSED
datalad/support/tests/test_json_py.py::test_compression PASSED
datalad/support/tests/test_json_py.py::test_dump PASSED
datalad/support/tests/test_json_py.py::test_dump2stream PASSED
datalad/support/tests/test_locking.py::test_lock_if_check_fails PASSED
datalad/support/tests/test_locking.py::test_try_lock_informatively PASSED
datalad/support/tests/test_network.py::test_same_website PASSED
datalad/support/tests/test_network.py::test_get_tld PASSED
datalad/support/tests/test_network.py::test_dlurljoin PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[] PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[#] PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[#tag] PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[#tag/obscure] PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[?param=1] PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[?param=1&another=/] PASSED
datalad/support/tests/test_network.py::test_rfc2822_to_epoch PASSED
datalad/support/tests/test_network.py::test_get_response_disposition_filename PASSED
datalad/support/tests/test_network.py::test_parse_url_opts PASSED
datalad/support/tests/test_network.py::test_split_colon PASSED
datalad/support/tests/test_network.py::test_url_eq PASSED
datalad/support/tests/test_network.py::test_url_base PASSED
datalad/support/tests/test_network.py::test_pathri_guessing PASSED
datalad/support/tests/test_network.py::test_pathri_windows_anchor SKIPPED
datalad/support/tests/test_network.py::test_url_samples SKIPPED (TOD...)
datalad/support/tests/test_network.py::test_git_transport_ri PASSED
datalad/support/tests/test_network.py::test_url_quote_path[SSHRI-clskwargs0-example.com:/ "';a&b&cd `| ] PASSED
datalad/support/tests/test_network.py::test_url_quote_path[URL-clskwargs1-http://example.com/%20%22%27%3Ba%26b%26cd%20%60%7C%20] PASSED
datalad/support/tests/test_network.py::test_url_quote_path[PathRI-clskwargs2-/ "';a&b&cd `| ] PASSED
datalad/support/tests/test_network.py::test_url_compose_archive_one PASSED
datalad/support/tests/test_network.py::test_url_fragments_and_query PASSED
datalad/support/tests/test_network.py::test_url_dicts PASSED
datalad/support/tests/test_network.py::test_get_url_path_on_fileurls PASSED
datalad/support/tests/test_network.py::test_is_url PASSED
datalad/support/tests/test_network.py::test_is_datalad_compat_ri PASSED
datalad/support/tests/test_network.py::test_get_local_file_url D: test.txt
D: |;&%b5{}'"<> .datc
D: /a
D: /a/b/c
D: /a~
D: /a b/name
PASSED
datalad/support/tests/test_network.py::test_get_local_file_url_compatibility create(ok): . (dataset)
create(ok): . (dataset)
install(ok): ds2 (dataset)
add(ok): ds2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/support/tests/test_network.py::test_is_ssh PASSED
datalad/support/tests/test_network.py::test_iso8601_to_epoch PASSED
datalad/support/tests/test_network.py::test_mapping_identity temp_dir: /tmp
PASSED
datalad/support/tests/test_network.py::test_auto_resolve_path PASSED
datalad/support/tests/test_network.py::test_hostname_detection SKIPPED
datalad/support/tests/test_network.py::test_url_path2local_path_excceptions PASSED
datalad/support/tests/test_network.py::test_quote_path PASSED
datalad/support/tests/test_parallel.py::test_ProducerConsumer FAILED
datalad/support/tests/test_parallel.py::test_creatsubdatasets create(ok): . (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds0/subsub0 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds0/subsub1 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds1/subsub1 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds1 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds1/subsub0 (dataset)
create(error): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds0 (dataset) [will not create a dataset in a non-empty directory, use `--force` option to ignore]
create(ok): . (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds0 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds1 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds0/subsub0 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds0/subsub1 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds1/subsub0 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasets7uuo9r8y/subds1/subsub1 (dataset)
add(ok): subsub0 (dataset)
add(ok): subsub1 (dataset)
add(ok): .gitmodules (file)
save(ok): subds1 (dataset)
add(ok): subsub0 (dataset)
add(ok): subsub1 (dataset)
add(ok): .gitmodules (file)
save(ok): subds0 (dataset)
add(ok): subds0 (dataset)
add(ok): subds1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 9)
save (ok: 3)
PASSED
datalad/support/tests/test_parallel.py::test_stalling PASSED
datalad/support/tests/test_parallel.py::test_parallel_flyweights PASSED
datalad/support/tests/test_path.py::test_robust_abspath PASSED
datalad/support/tests/test_path.py::test_split_ext PASSED
datalad/support/tests/test_path.py::test_get_parent_paths[None] PASSED
datalad/support/tests/test_path.py::test_get_parent_paths[/] PASSED
datalad/support/tests/test_path.py::test_get_parent_paths[\\] PASSED
datalad/support/tests/test_path.py::test_get_filtered_paths_ PASSED
datalad/support/tests/test_repo_save.py::test_save_basics PASSED
datalad/support/tests/test_repo_save.py::test_gitrepo_save_all add(ok): file_untracked (file)
save(ok): subds_modified/someds/dirtyds (dataset)
add(ok): dirtyds (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified/someds (dataset)
add(ok): someds (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): progressedds (dataset)
add(ok): .gitmodules (file)
save(ok): subdir/subds_modified (dataset)
add(ok): subdir/subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 10)
save (notneeded: 7, ok: 5)
PASSED
datalad/support/tests/test_repo_save.py::test_annexrepo_save_all add(ok): file_untracked (file)
save(ok): subds_modified/someds/dirtyds (dataset)
add(ok): dirtyds (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified/someds (dataset)
add(ok): someds (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): progressedds (dataset)
add(ok): .gitmodules (file)
save(ok): subdir/subds_modified (dataset)
add(ok): subdir/subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 10)
save (notneeded: 7, ok: 5)
PASSED
datalad/support/tests/test_repo_save.py::test_save_typechange PASSED
datalad/support/tests/test_repo_save.py::test_save_to_git PASSED
datalad/support/tests/test_repo_save.py::test_save_subds_change PASSED
datalad/support/tests/test_repodates.py::test_check_dates_empty_repo PASSED
datalad/support/tests/test_repodates.py::test_check_dates PASSED
datalad/support/tests/test_sshconnector.py::test_ssh_get_connection SKIPPED
datalad/support/tests/test_sshconnector.py::test_ssh_open_close SKIPPED
datalad/support/tests/test_sshconnector.py::test_ssh_manager_close SKIPPED
datalad/support/tests/test_sshconnector.py::test_ssh_manager_close_no_throw PASSED
datalad/support/tests/test_sshconnector.py::test_ssh_copy SKIPPED (R...)
datalad/support/tests/test_sshconnector.py::test_ssh_compound_cmds SKIPPED
datalad/support/tests/test_sshconnector.py::test_ssh_custom_identity_file SKIPPED
datalad/support/tests/test_sshconnector.py::test_ssh_git_props SKIPPED
datalad/support/tests/test_sshconnector.py::test_bundle_invariance SKIPPED
datalad/support/tests/test_sshrun.py::test_exit_code SKIPPED (Run th...)
datalad/support/tests/test_sshrun.py::test_no_stdin_swallow SKIPPED
datalad/support/tests/test_sshrun.py::test_fancy_quotes SKIPPED (Run...)
datalad/support/tests/test_sshrun.py::test_ssh_option SKIPPED (Run t...)
datalad/support/tests/test_sshrun.py::test_ssh_ipv4_6_incompatible SKIPPED
datalad/support/tests/test_sshrun.py::test_ssh_ipv4_6 SKIPPED (Run t...)
datalad/support/tests/test_stats.py::test_ActivityStats_basic PASSED
datalad/support/tests/test_stats.py::test_ActivityStats_comparisons PASSED
datalad/support/tests/test_stats.py::test_add PASSED
datalad/support/tests/test_status.py::test_FileStatus_basic PASSED
datalad/support/tests/test_vcr_.py::test_use_cassette_if_no_vcr SKIPPED
datalad/tests/test__main__.py::test_main_help PASSED
datalad/tests/test__main__.py::test_main_version PASSED
datalad/tests/test_api.py::test_basic_setup PASSED
datalad/tests/test_api.py::test_consistent_order_of_args PASSED
datalad/tests/test_archives.py::test_decompress_file[None] PASSED
datalad/tests/test_archives.py::test_decompress_file[strip] PASSED
datalad/tests/test_archives.py::test_decompress_file_unknown PASSED
datalad/tests/test_archives.py::test_compress_dir[.tar.xz] PASSED
datalad/tests/test_archives.py::test_compress_dir[.tar.gz] PASSED
datalad/tests/test_archives.py::test_compress_dir[.tgz] PASSED
datalad/tests/test_archives.py::test_compress_dir[.tbz2] PASSED
datalad/tests/test_archives.py::test_compress_dir[.tar] PASSED
datalad/tests/test_archives.py::test_compress_dir[.zip] PASSED
datalad/tests/test_archives.py::test_compress_dir[.7z] PASSED
datalad/tests/test_archives.py::test_compress_file[.xz-True] PASSED
datalad/tests/test_archives.py::test_compress_file[.xz-False] PASSED
datalad/tests/test_archives.py::test_compress_file[.gz-True] PASSED
datalad/tests/test_archives.py::test_compress_file[.gz-False] PASSED
datalad/tests/test_archives.py::test_compress_file[.zip-True] PASSED
datalad/tests/test_archives.py::test_compress_file[.zip-False] PASSED
datalad/tests/test_archives.py::test_compress_file[.7z-True] PASSED
datalad/tests/test_archives.py::test_compress_file[.7z-False] PASSED
datalad/tests/test_archives.py::test_ExtractedArchive PASSED
datalad/tests/test_archives.py::test_ArchivesCache PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value0-None-kwargs0] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value1-None-kwargs1] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value2-None-kwargs2] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value3-d-kwargs3] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value4-d-kwargs4] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value5-None-kwargs5] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value6-None-kwargs6] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value7-d/d2-kwargs7] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value8-d-kwargs8] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value9-d-kwargs9] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value10-d/d1-kwargs10] PASSED
datalad/tests/test_base.py::test_paths_with_forward_slashes /tmp/datalad_temp_tree_test_paths_with_forward_slashesknljy_47
PASSED
datalad/tests/test_base.py::test_not_under_git PASSED
datalad/tests/test_base.py::test_no_empty_http_proxy PASSED
datalad/tests/test_base.py::test_git_config_warning PASSED
datalad/tests/test_cmd.py::test_readline_rstripped_deprecation PASSED
datalad/tests/test_cmd.py::test_batched_command PASSED
datalad/tests/test_cmd.py::test_batched_close_abandon PASSED
datalad/tests/test_cmd.py::test_batched_close_timeout_exception PASSED
datalad/tests/test_cmd.py::test_batched_close_wait PASSED
datalad/tests/test_cmd.py::test_batched_close_ok PASSED
datalad/tests/test_cmd.py::test_tuple_requests PASSED
datalad/tests/test_cmd.py::test_batched_restart PASSED
datalad/tests/test_cmd.py::test_command_fail_1 PASSED
datalad/tests/test_cmd.py::test_command_fail_2 PASSED
datalad/tests/test_config.py::test_parse_gitconfig_dump PASSED
datalad/tests/test_config.py::test_something fatal: no such section: nothere
fatal: --local can only be used inside a git repository
PASSED
datalad/tests/test_config.py::test_includeif_breaking PASSED
datalad/tests/test_config.py::test_crazy_cfg PASSED
datalad/tests/test_config.py::test_obtain create(ok): /tmp/datalad_temp_test_obtainkn3zhrc3 (dataset)
PASSED
datalad/tests/test_config.py::test_from_env PASSED
datalad/tests/test_config.py::test_from_env_overrides PASSED
datalad/tests/test_config.py::test_overrides PASSED
datalad/tests/test_config.py::test_rewrite_url PASSED
datalad/tests/test_config.py::test_no_leaks create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/tests/test_config.py::test_no_local_write_if_no_dataset create(ok): . (dataset)
PASSED
datalad/tests/test_config.py::test_dataset_local_mode create(ok): /tmp/datalad_temp_test_dataset_local_modeswpz6dp7 (dataset)
PASSED
datalad/tests/test_config.py::test_dataset_systemglobal_mode create(ok): /tmp/datalad_temp_test_dataset_systemglobal_mode7x559cc4 (dataset)
PASSED
datalad/tests/test_config.py::test_global_config PASSED
datalad/tests/test_config.py::test_bare create(ok): . (dataset)
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/tests/test_config.py::test_write_config_section PASSED
datalad/tests/test_config.py::test_external_modification PASSED
datalad/tests/test_config.py::test_where_to_scope PASSED
datalad/tests/test_config.py::test_cross_cfgman_update PASSED
datalad/tests/test_constraints.py::test_int PASSED
datalad/tests/test_constraints.py::test_float PASSED
datalad/tests/test_constraints.py::test_bool PASSED
datalad/tests/test_constraints.py::test_str PASSED
datalad/tests/test_constraints.py::test_str_min_len PASSED
datalad/tests/test_constraints.py::test_none PASSED
datalad/tests/test_constraints.py::test_callable PASSED
datalad/tests/test_constraints.py::test_choice PASSED
datalad/tests/test_constraints.py::test_keychoice PASSED
datalad/tests/test_constraints.py::test_range PASSED
datalad/tests/test_constraints.py::test_listof PASSED
datalad/tests/test_constraints.py::test_tupleof PASSED
datalad/tests/test_constraints.py::test_constraints PASSED
datalad/tests/test_constraints.py::test_altconstraints PASSED
datalad/tests/test_constraints.py::test_both PASSED
datalad/tests/test_constraints.py::test_type_str PASSED
datalad/tests/test_direct_mode.py::test_direct_cfg PASSED
datalad/tests/test_dochelpers.py::test_basic PASSED
datalad/tests/test_dochelpers.py::test_borrow_doc PASSED
datalad/tests/test_dochelpers.py::test_borrow_kwargs PASSED
datalad/tests/test_installed.py::test_run_datalad_help FAILED
datalad/tests/test_interface.py::test_param PASSED
datalad/tests/test_interface.py::test_interface PASSED
datalad/tests/test_interface.py::test_name_generation PASSED
datalad/tests/test_log.py::test_logging_to_a_file PASSED
datalad/tests/test_log.py::test_logtarget_via_env_variable PASSED
datalad/tests/test_log.py::test_mutliple_targets PASSED
datalad/tests/test_log.py::test_filters PASSED
datalad/tests/test_log.py::test_traceback PASSED
datalad/tests/test_log.py::test_color_formatter PASSED
datalad/tests/test_log.py::test_log_progress_noninteractive_filter PASSED
datalad/tests/test_log.py::test_with_result_progress_generator PASSED
datalad/tests/test_log.py::test_with_progress_generator PASSED
datalad/tests/test_misc.py::test_is_url_quoted PASSED
datalad/tests/test_misc.py::test_get_response_stamp PASSED
datalad/tests/test_s3.py::test_add_version_to_url PASSED
datalad/tests/test_s3.py::test_get_versioned_url SKIPPED (Skipping s...)
datalad/tests/test_s3.py::test_get_versioned_url_anon SKIPPED (Skipp...)
datalad/tests/test_s3.py::test_version_url_deleted SKIPPED (Skipping...)
datalad/tests/test_strings.py::test_apply_replacement_rules PASSED
datalad/tests/test_utils.py::test_better_wraps PASSED
datalad/tests/test_utils.py::test_getargspec PASSED
datalad/tests/test_utils.py::test_get_sig_param_names PASSED
datalad/tests/test_utils.py::test_rotree PASSED
datalad/tests/test_utils.py::test_swallow_outputs PASSED
datalad/tests/test_utils.py::test_swallow_logs PASSED
datalad/tests/test_utils.py::test_swallow_logs_assert PASSED
datalad/tests/test_utils.py::test_disable_logger PASSED
datalad/tests/test_utils.py::test_md5sum PASSED
datalad/tests/test_utils.py::test_md5sum_archive PASSED
datalad/tests/test_utils.py::test_updated PASSED
datalad/tests/test_utils.py::test_get_local_file_url_windows SKIPPED
datalad/tests/test_utils.py::test_getpwd_basic PASSED
datalad/tests/test_utils.py::test_getpwd_change_mode PASSED
datalad/tests/test_utils.py::test_getpwd_symlink PASSED
datalad/tests/test_utils.py::test_chpwd_obscure_name PASSED
datalad/tests/test_utils.py::test_auto_repr PASSED
datalad/tests/test_utils.py::test_todo_interface_for_extensions PASSED
datalad/tests/test_utils.py::test_assure_iter PASSED
datalad/tests/test_utils.py::test_assure_list_copy PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[-None] PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[value1-None] PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[somestring-result2] PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[some\nmultiline\nstring-result3] PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[value4-result4] PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[value5-result5] PASSED
datalad/tests/test_utils.py::test_assure_dict_from_str PASSED
datalad/tests/test_utils.py::test_assure_bool PASSED
datalad/tests/test_utils.py::test_generate_chunks PASSED
datalad/tests/test_utils.py::test_any_re_search PASSED
datalad/tests/test_utils.py::test_find_files PASSED
datalad/tests/test_utils.py::test_find_files_exclude_vcs PASSED
datalad/tests/test_utils.py::test_not_supported_on_windows PASSED
datalad/tests/test_utils.py::test_file_basename PASSED
datalad/tests/test_utils.py::test_expandpath PASSED
datalad/tests/test_utils.py::test_is_explicit_path PASSED
datalad/tests/test_utils.py::test_knows_annex PASSED
datalad/tests/test_utils.py::test_make_tempfile PASSED
datalad/tests/test_utils.py::test_unique PASSED
datalad/tests/test_utils.py::test_partition PASSED
datalad/tests/test_utils.py::test_path_ PASSED
datalad/tests/test_utils.py::test_get_timestamp_suffix PASSED
datalad/tests/test_utils.py::test_memoized_generator PASSED
datalad/tests/test_utils.py::test_assure_unicode PASSED
datalad/tests/test_utils.py::test_pathlib_unicode PASSED
datalad/tests/test_utils.py::test_path_prefix PASSED
datalad/tests/test_utils.py::test_get_trace PASSED
datalad/tests/test_utils.py::test_get_dataset_root PASSED
datalad/tests/test_utils.py::test_path_startswith PASSED
datalad/tests/test_utils.py::test_path_is_subpath PASSED
datalad/tests/test_utils.py::test_probe_known_failure PASSED
datalad/tests/test_utils.py::test_skip_if SKIPPED (condition was True)
datalad/tests/test_utils.py::test_skip_known_failure SKIPPED (Skip t...)
datalad/tests/test_utils.py::test_known_failure SKIPPED (Skip test k...)
datalad/tests/test_utils.py::test_known_failure_direct_mode PASSED
datalad/tests/test_utils.py::test_read_csv_lines_basic PASSED
datalad/tests/test_utils.py::test_read_csv_lines_tsv_unicode PASSED
datalad/tests/test_utils.py::test_read_csv_lines_one_column PASSED
datalad/tests/test_utils.py::test_import_modules PASSED
datalad/tests/test_utils.py::test_import_module_from_file PASSED
datalad/tests/test_utils.py::test_import_modules_fail PASSED
datalad/tests/test_utils.py::test_line_profile SKIPPED (Module line_...)
datalad/tests/test_utils.py::test_dlabspath PASSED
datalad/tests/test_utils.py::test_get_open_files SKIPPED (Module psu...)
datalad/tests/test_utils.py::test_map_items PASSED
datalad/tests/test_utils.py::test_CMD_MAX_ARG PASSED
datalad/tests/test_utils.py::test_create_tree PASSED
datalad/tests/test_utils.py::test_never_fail PASSED
datalad/tests/test_utils.py::test_is_interactive XPASS (TODO: for so...)
datalad/tests/test_utils.py::test_splitjoin_cmdline PASSED
datalad/tests/test_utils.py::test_obtain_write_permission PASSED
datalad/tests/test_utils.py::test_ensure_write_permission PASSED
datalad/tests/test_utils_cached_dataset.py::test_get_cached_dataset SKIPPED
datalad/tests/test_utils_cached_dataset.py::test_cached_dataset SKIPPED
datalad/tests/test_utils_cached_dataset.py::test_cached_url SKIPPED
datalad/tests/test_utils_testrepos.py::test_BasicAnnexTestRepo_random_location_generated PASSED
datalad/tests/test_utils_testrepos.py::test_BasicAnnexTestRepo PASSED
datalad/tests/test_utils_testrepos.py::test_BasicGitTestRepo PASSED
datalad/tests/test_version.py::test__version__ SKIPPED (no /build/da...)
datalad/ui/tests/test_base.py::test_ui_switcher PASSED
datalad/ui/tests/test_base.py::test_with_testsui PASSED
datalad/ui/tests/test_dialog.py::test_yesno PASSED
datalad/ui/tests/test_dialog.py::test_question_choices PASSED
datalad/ui/tests/test_dialog.py::test_hidden_doubleentry PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-0-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-0-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-0-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-0-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-0-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-4-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-4-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-4-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-4-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-4-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-10-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-10-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-10-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-10-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-10-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-1000-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-1000-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-1000-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-1000-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-1000-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-0-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-0-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-0-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-0-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-0-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-4-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-4-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-4-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-4-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-4-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-10-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-10-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-10-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-10-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-10-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-1000-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-1000-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-1000-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-1000-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-1000-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_IPythonUI PASSED
datalad/ui/tests/test_dialog.py::test_silent_question PASSED
datalad/ui/tests/test_dialog.py::test_message_pbar_state_logging_is_demoted testing 0
testing 1
PASSEDVersions: annexremote=1.6.4 boto3=1.34.46 cmd:7z=24.08 cmd:annex=10.20241031 cmd:bundled-git=UNKNOWN cmd:git=2.45.2 cmd:ssh=9.9p1 cmd:system-git=2.45.2 cmd:system-ssh=9.9p1 datalad=1.1.3 humanize=4.11.0 iso8601=2.1.0 keyring=25.4.1 keyrings.alt=UNKNOWN msgpack=1.0.3 patoolib=2.0.0 platformdirs=4.3.6 requests=2.32.3
Obscure filename: str=b' |;&%b5{}\'"<> .datc ' repr=' |;&%b5{}\'"<> .datc '
Encodings: default='utf-8' filesystem='utf-8' locale.prefered='UTF-8'
Environment: PATH='/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' LANG='en_US.UTF-8' LC_ALL='C.UTF-8' PYTHONPATH='/<<PKGBUILDDIR>>/debian/python3-datalad/usr/lib/python3.13/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build' 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_y707augp/.gitconfig' GIT_ASKPASS='true'
=================================== FAILURES ===================================
_________________________________ test_version _________________________________
def test_version():
# we just get a version if not asking for a version of some command
> stdout, stderr = run_main(['--version'], expect_stderr=True)
datalad/cli/tests/test_main.py:115:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/cli/tests/test_main.py:83: in run_main
assert_equal(cm.value.code, exit_code)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = 2, second = 0, msg = None
def assert_equal(first, second, msg=None):
if msg is None:
> assert first == second
E assert 2 == 0
datalad/tests/utils_pytest.py:80: AssertionError
_________________________________ test_help_np _________________________________
def test_help_np():
> stdout, stderr = run_main(['--help-np'])
datalad/cli/tests/test_main.py:134:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/cli/tests/test_main.py:83: in run_main
assert_equal(cm.value.code, exit_code)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = 2, second = 0, msg = None
def assert_equal(first, second, msg=None):
if msg is None:
> assert first == second
E assert 2 == 0
datalad/tests/utils_pytest.py:80: AssertionError
__________________________________ test_dashh __________________________________
def test_dashh():
> stdout, stderr = run_main(['-h'])
datalad/cli/tests/test_main.py:182:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/cli/tests/test_main.py:83: in run_main
assert_equal(cm.value.code, exit_code)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = 2, second = 0, msg = None
def assert_equal(first, second, msg=None):
if msg is None:
> assert first == second
E assert 2 == 0
datalad/tests/utils_pytest.py:80: AssertionError
__________________________ test_combined_short_option __________________________
def test_combined_short_option():
stdout, stderr = run_main(['-fjson'], exit_code=2, expect_stderr=True)
assert_not_in("unrecognized argument", stderr)
> assert_in("too few arguments", stderr)
datalad/cli/tests/test_main.py:211:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = 'too few arguments'
second = 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,st...ve-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n'
msg = None
def assert_in(first, second, msg=None):
if msg is None:
> assert first in second
E assert 'too few arguments' in "usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion} ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: 'datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n"
datalad/tests/utils_pytest.py:104: AssertionError
_ test_incorrect_option[opts0-error: (invalid|too few arguments|unrecognized argument)] _
opts = ('--buga',)
err_str = 'error: (invalid|too few arguments|unrecognized argument)'
@pytest.mark.parametrize(
"opts,err_str",
[
(('--buga',), err_invalid),
(('--dbg', '--buga'), err_invalid),
(('--dbg',), err_insufficient),
(tuple(), err_insufficient),
]
)
def test_incorrect_option(opts, err_str):
# The first line used to be:
# stdout, stderr = run_main((sys.argv[0],) + opts, expect_stderr=True, exit_code=2)
# But: what do we expect to be in sys.argv[0] here?
# It depends on how we invoke the test.
# - nosetests -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='nosetests'
# - python -m nose -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='python -m nose'
# - python -c "import nose; nose.main()" -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0]=='-c'
# This led to failure in case sys.argv[0] contained an option, that was
# defined to be a datalad option too, therefore was a 'known_arg' and was
# checked to meet its constraints.
# But sys.argv[0] actually isn't used by main at all. It simply doesn't
# matter what's in there. The only thing important to pass here is `opts`.
stdout, stderr = run_main(opts, expect_stderr=True, exit_code=2)
out = stdout + stderr
assert_in("usage: ", out)
> assert_re_in(err_str, out, match=False)
datalad/cli/tests/test_main.py:256:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
regex = 'error: (invalid|too few arguments|unrecognized argument)'
c = ['usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,s...e-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n']
flags = 0, match = False, msg = None
def assert_re_in(regex, c, flags=0, match=True, msg=None):
"""Assert that container (list, str, etc) contains entry matching the regex
"""
if not isinstance(c, (list, tuple)):
c = [c]
for e in c:
if (re.match if match else re.search)(regex, e, flags=flags):
return
> raise AssertionError(
msg or "Not a single entry matched %r in %r" % (regex, c)
)
E AssertionError: Not a single entry matched 'error: (invalid|too few arguments|unrecognized argument)' in ["usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion} ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: 'datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n"]
datalad/tests/utils_pytest.py:1266: AssertionError
_ test_incorrect_option[opts1-error: (invalid|too few arguments|unrecognized argument)] _
opts = ('--dbg', '--buga')
err_str = 'error: (invalid|too few arguments|unrecognized argument)'
@pytest.mark.parametrize(
"opts,err_str",
[
(('--buga',), err_invalid),
(('--dbg', '--buga'), err_invalid),
(('--dbg',), err_insufficient),
(tuple(), err_insufficient),
]
)
def test_incorrect_option(opts, err_str):
# The first line used to be:
# stdout, stderr = run_main((sys.argv[0],) + opts, expect_stderr=True, exit_code=2)
# But: what do we expect to be in sys.argv[0] here?
# It depends on how we invoke the test.
# - nosetests -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='nosetests'
# - python -m nose -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='python -m nose'
# - python -c "import nose; nose.main()" -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0]=='-c'
# This led to failure in case sys.argv[0] contained an option, that was
# defined to be a datalad option too, therefore was a 'known_arg' and was
# checked to meet its constraints.
# But sys.argv[0] actually isn't used by main at all. It simply doesn't
# matter what's in there. The only thing important to pass here is `opts`.
stdout, stderr = run_main(opts, expect_stderr=True, exit_code=2)
out = stdout + stderr
assert_in("usage: ", out)
> assert_re_in(err_str, out, match=False)
datalad/cli/tests/test_main.py:256:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
regex = 'error: (invalid|too few arguments|unrecognized argument)'
c = ['usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,s...e-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n']
flags = 0, match = False, msg = None
def assert_re_in(regex, c, flags=0, match=True, msg=None):
"""Assert that container (list, str, etc) contains entry matching the regex
"""
if not isinstance(c, (list, tuple)):
c = [c]
for e in c:
if (re.match if match else re.search)(regex, e, flags=flags):
return
> raise AssertionError(
msg or "Not a single entry matched %r in %r" % (regex, c)
)
E AssertionError: Not a single entry matched 'error: (invalid|too few arguments|unrecognized argument)' in ["usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion} ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: 'datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n"]
datalad/tests/utils_pytest.py:1266: AssertionError
_ test_incorrect_option[opts2-error: (invalid|too few arguments|unrecognized argument)] _
opts = ('--dbg',)
err_str = 'error: (invalid|too few arguments|unrecognized argument)'
@pytest.mark.parametrize(
"opts,err_str",
[
(('--buga',), err_invalid),
(('--dbg', '--buga'), err_invalid),
(('--dbg',), err_insufficient),
(tuple(), err_insufficient),
]
)
def test_incorrect_option(opts, err_str):
# The first line used to be:
# stdout, stderr = run_main((sys.argv[0],) + opts, expect_stderr=True, exit_code=2)
# But: what do we expect to be in sys.argv[0] here?
# It depends on how we invoke the test.
# - nosetests -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='nosetests'
# - python -m nose -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='python -m nose'
# - python -c "import nose; nose.main()" -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0]=='-c'
# This led to failure in case sys.argv[0] contained an option, that was
# defined to be a datalad option too, therefore was a 'known_arg' and was
# checked to meet its constraints.
# But sys.argv[0] actually isn't used by main at all. It simply doesn't
# matter what's in there. The only thing important to pass here is `opts`.
stdout, stderr = run_main(opts, expect_stderr=True, exit_code=2)
out = stdout + stderr
assert_in("usage: ", out)
> assert_re_in(err_str, out, match=False)
datalad/cli/tests/test_main.py:256:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
regex = 'error: (invalid|too few arguments|unrecognized argument)'
c = ['usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,s...e-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n']
flags = 0, match = False, msg = None
def assert_re_in(regex, c, flags=0, match=True, msg=None):
"""Assert that container (list, str, etc) contains entry matching the regex
"""
if not isinstance(c, (list, tuple)):
c = [c]
for e in c:
if (re.match if match else re.search)(regex, e, flags=flags):
return
> raise AssertionError(
msg or "Not a single entry matched %r in %r" % (regex, c)
)
E AssertionError: Not a single entry matched 'error: (invalid|too few arguments|unrecognized argument)' in ["usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion} ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: 'datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n"]
datalad/tests/utils_pytest.py:1266: AssertionError
_ test_incorrect_option[opts3-error: (invalid|too few arguments|unrecognized argument)] _
opts = (), err_str = 'error: (invalid|too few arguments|unrecognized argument)'
@pytest.mark.parametrize(
"opts,err_str",
[
(('--buga',), err_invalid),
(('--dbg', '--buga'), err_invalid),
(('--dbg',), err_insufficient),
(tuple(), err_insufficient),
]
)
def test_incorrect_option(opts, err_str):
# The first line used to be:
# stdout, stderr = run_main((sys.argv[0],) + opts, expect_stderr=True, exit_code=2)
# But: what do we expect to be in sys.argv[0] here?
# It depends on how we invoke the test.
# - nosetests -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='nosetests'
# - python -m nose -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='python -m nose'
# - python -c "import nose; nose.main()" -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0]=='-c'
# This led to failure in case sys.argv[0] contained an option, that was
# defined to be a datalad option too, therefore was a 'known_arg' and was
# checked to meet its constraints.
# But sys.argv[0] actually isn't used by main at all. It simply doesn't
# matter what's in there. The only thing important to pass here is `opts`.
stdout, stderr = run_main(opts, expect_stderr=True, exit_code=2)
out = stdout + stderr
assert_in("usage: ", out)
> assert_re_in(err_str, out, match=False)
datalad/cli/tests/test_main.py:256:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
regex = 'error: (invalid|too few arguments|unrecognized argument)'
c = ['usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,s...e-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n']
flags = 0, match = False, msg = None
def assert_re_in(regex, c, flags=0, match=True, msg=None):
"""Assert that container (list, str, etc) contains entry matching the regex
"""
if not isinstance(c, (list, tuple)):
c = [c]
for e in c:
if (re.match if match else re.search)(regex, e, flags=flags):
return
> raise AssertionError(
msg or "Not a single entry matched %r in %r" % (regex, c)
)
E AssertionError: Not a single entry matched 'error: (invalid|too few arguments|unrecognized argument)' in ["usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion} ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: 'datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n"]
datalad/tests/utils_pytest.py:1266: AssertionError
__________________________ test_script_shims[datalad] __________________________
script = 'datalad'
@pytest.mark.parametrize(
"script",
[
'datalad',
'git-annex-remote-datalad-archives',
'git-annex-remote-datalad',
]
)
def test_script_shims(script):
runner = Runner()
if not on_windows:
from shutil import which
which(script)
# and let's check that it is our script
> out = runner.run([script, '--version'], protocol=StdOutErrCapture)
datalad/cli/tests/test_main.py:275:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <datalad.runner.runner.WitlessRunner object at 0xffffa8180f40>
cmd = ['datalad', '--version']
protocol = <class 'datalad.runner.coreprotocols.StdOutErrCapture'>, stdin = None
cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {}
applied_cwd = None, applied_env = None
threaded_runner = <datalad.runner.nonasyncrunner.ThreadedRunner object at 0xffffa80e3890>
results_or_iterator = {'code': 2, 'stderr': 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failu...to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n', 'stdout': ''}
results = {'code': 2, 'stderr': 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failu...to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n', 'stdout': ''}
return_code = 2
def run(self,
cmd: list | str,
protocol: type[WitlessProtocol] | None = None,
stdin: bytes | IO | Queue | None = None,
cwd: PathLike | str | None = None,
env: dict | None = None,
timeout: float | None = None,
exception_on_error: bool = True,
**kwargs) -> dict | _ResultGenerator:
"""Execute a command and communicate with it.
Parameters
----------
cmd : list or str
Sequence of program arguments. Passing a single string causes
execution via the platform shell.
protocol : WitlessProtocol, optional
Protocol class handling interaction with the running process
(e.g. output capture). A number of pre-crafted classes are
provided (e.g `KillOutput`, `NoCapture`, `GitProgress`).
If the protocol has the GeneratorMixIn-mixin, the run-method
will return an iterator and can therefore be used in a for-clause.
stdin : file-like, bytes, Queue, or None
If stdin is a file-like, it will be directly used as stdin for the
subprocess. The caller is responsible for writing to it and closing it.
If stdin is a bytes, it will be fed to stdin of the subprocess.
If all data is written, stdin will be closed.
If stdin is a Queue, all elements (bytes) put into the Queue will
be passed to stdin until None is read from the queue. If None is read,
stdin of the subprocess is closed.
cwd : str or path-like, optional
If given, commands are executed with this path as PWD,
the PWD of the parent process is used otherwise. Overrides
any `cwd` given to the constructor.
env : dict, optional
Environment to be used for command execution. If given, it will
completely replace any environment provided to theconstructor. If
`cwd` is given, 'PWD' in the environment is set to its value.
This must be a complete environment definition, no values
from the current environment will be inherited. Overrides
any `env` given to the constructor.
timeout: float, optional
None or the seconds after which a timeout callback is
invoked, if no progress was made in communicating with
the sub-process, or if waiting for the subprocess exit
took more than the specified time. See the protocol and
`ThreadedRunner` descriptions for a more detailed discussion
on timeouts.
exception_on_error : bool, optional
This argument is first interpreted if the protocol is a subclass
of `GeneratorMixIn`. If it is `True` (default), a
`CommandErrorException` is raised by the generator if the
sub process exited with a return code not equal to zero. If the
parameter is `False`, no exception is raised. In both cases the
return code can be read from the attribute `return_code` of
the generator. Then this argument interpreted within this function
to not raise `CommandError` if value is False in case of non-0 exit.
kwargs :
Passed to the Protocol class constructor.
Returns
-------
dict | _ResultGenerator
If the protocol is not a subclass of `GeneratorMixIn`, the
result of protocol._prepare_result will be returned.
If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e.
a `_ResultGenerator`, will be returned. This allows to use this
method in constructs like:
for protocol_output in runner.run():
...
Where the iterator yields whatever protocol.pipe_data_received
sends into the generator.
If all output was yielded and the process has terminated, the
generator will raise StopIteration(return_code), where
return_code is the return code of the process. The return code
of the process will also be stored in the "return_code"-attribute
of the runner. So you could write:
gen = runner.run()
for file_descriptor, data in gen:
...
# get the return code of the process
result = gen.return_code
Raises
------
CommandError
On execution failure (non-zero exit code) this exception is
raised which provides the command (cmd), stdout, stderr,
exit code (status), and a message identifying the failed
command, as properties.
FileNotFoundError
When a given executable does not exist.
"""
if protocol is None:
# by default let all subprocess stream pass through
protocol = NoCapture
applied_cwd = cwd or self.cwd
applied_env = self._get_adjusted_env(
env=env or self.env,
cwd=applied_cwd,
)
lgr.debug(
'Run %r (protocol_class=%s) (cwd=%s)',
cmd,
protocol.__name__,
applied_cwd
)
threaded_runner = ThreadedRunner(
cmd=cmd,
protocol_class=protocol,
stdin=stdin,
protocol_kwargs=kwargs,
timeout=timeout,
exception_on_error=exception_on_error,
cwd=applied_cwd,
env=applied_env
)
results_or_iterator = threaded_runner.run()
if issubclass(protocol, GeneratorMixIn):
return results_or_iterator
results = cast(dict, results_or_iterator)
# log before any exception is raised
lgr.debug("Finished %r with status %s", cmd, results['code'])
# make it such that we always blow if a protocol did not report
# a return code at all or it was non-0 and we were not asked ignore
# errors
return_code = results.get('code', None)
if return_code is None or (return_code and exception_on_error):
# the runner has a better idea, doc string warns Protocol
# implementations not to return these
results.pop('cmd', None)
results.pop('cwd', None)
> raise CommandError(
# whatever the results were, we carry them forward
cmd=cmd,
cwd=applied_cwd,
**results,
)
E datalad.runner.exception.CommandError: CommandError: 'datalad --version' failed with exitcode 2 [err: 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]
E [--on-failure {ignore,continue,stop}]
E [--report-status {success,failure,ok,notneeded,impossible,error}]
E [--report-type {dataset,file}]
E [-f {generic,json,json_pp,tailored,disabled,'<template>'}]
E [--dbg] [--idbg] [--version]
E {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion} ...
E datalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: '/<<PKGBUILDDIR>>/bin/datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)']
datalad/runner/runner.py:242: CommandError
_______________________________ test_completion ________________________________
out_fn = '/tmp/datalad_temp_test_completion7wzjmszj'
@with_tempfile
def test_completion(out_fn=None):
skip_if_no_module('argcomplete')
from datalad.cmd import WitlessRunner
runner = WitlessRunner()
def get_completions(s: str, expected) -> list:
"""Run 'datalad' external command and collect completions
Parameters
----------
s: str
what to append to 'datalad ' invocation
expected: iterable of str
What entries to expect - would raise AssertionError if any is
not present in output
exit_code: int, optional
If incomplete/malformed we seems to get 2, most frequently used
so default
Returns
-------
list of str
Entries output
"""
if os.path.exists(out_fn): # reuse but ensure it is gone
os.unlink(out_fn)
comp_line = f'datalad {s}'
runner.run(
comp_line.split(' '),
env=dict(os.environ,
_ARGCOMPLETE='1',
_ARGCOMPLETE_STDOUT_FILENAME=out_fn,
COMP_LINE=comp_line,
# without -1 seems to get "finished completion", someone can investigate more
COMP_POINT=str(len(comp_line)-1), # always at the end ATM
))
with open(out_fn, 'rb') as f:
entries = f.read().split(b'\x0b')
entries = [e.decode() for e in entries]
diff = set(expected).difference(entries)
if diff:
raise AssertionError(
f"Entries {sorted(diff)} were expected but not found in the completion output: {entries}"
)
return entries # for extra analyzes if so desired
all_commands = get_all_commands()
> get_completions('i', {'install'})
datalad/cli/tests/test_main.py:421:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/cli/tests/test_main.py:401: in get_completions
runner.run(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <datalad.runner.runner.WitlessRunner object at 0xffff9b80dcc0>
cmd = ['datalad', 'i']
protocol = <class 'datalad.runner.coreprotocols.NoCapture'>, stdin = None
cwd = None
env = {'APT_CONFIG': '/var/lib/sbuild/apt.conf', 'ASFLAGS': '', 'ASFLAGS_FOR_BUILD': '', 'CCACHE_DIR': '/<<PKGBUILDDIR>>/.pybuild/ccache', ...}
timeout = None, exception_on_error = True, kwargs = {}, applied_cwd = None
applied_env = {'APT_CONFIG': '/var/lib/sbuild/apt.conf', 'ASFLAGS': '', 'ASFLAGS_FOR_BUILD': '', 'CCACHE_DIR': '/<<PKGBUILDDIR>>/.pybuild/ccache', ...}
threaded_runner = <datalad.runner.nonasyncrunner.ThreadedRunner object at 0xffff9b8f6fd0>
results_or_iterator = {'code': 1, 'stderr': '', 'stdout': ''}
results = {'code': 1, 'stderr': '', 'stdout': ''}, return_code = 1
def run(self,
cmd: list | str,
protocol: type[WitlessProtocol] | None = None,
stdin: bytes | IO | Queue | None = None,
cwd: PathLike | str | None = None,
env: dict | None = None,
timeout: float | None = None,
exception_on_error: bool = True,
**kwargs) -> dict | _ResultGenerator:
"""Execute a command and communicate with it.
Parameters
----------
cmd : list or str
Sequence of program arguments. Passing a single string causes
execution via the platform shell.
protocol : WitlessProtocol, optional
Protocol class handling interaction with the running process
(e.g. output capture). A number of pre-crafted classes are
provided (e.g `KillOutput`, `NoCapture`, `GitProgress`).
If the protocol has the GeneratorMixIn-mixin, the run-method
will return an iterator and can therefore be used in a for-clause.
stdin : file-like, bytes, Queue, or None
If stdin is a file-like, it will be directly used as stdin for the
subprocess. The caller is responsible for writing to it and closing it.
If stdin is a bytes, it will be fed to stdin of the subprocess.
If all data is written, stdin will be closed.
If stdin is a Queue, all elements (bytes) put into the Queue will
be passed to stdin until None is read from the queue. If None is read,
stdin of the subprocess is closed.
cwd : str or path-like, optional
If given, commands are executed with this path as PWD,
the PWD of the parent process is used otherwise. Overrides
any `cwd` given to the constructor.
env : dict, optional
Environment to be used for command execution. If given, it will
completely replace any environment provided to theconstructor. If
`cwd` is given, 'PWD' in the environment is set to its value.
This must be a complete environment definition, no values
from the current environment will be inherited. Overrides
any `env` given to the constructor.
timeout: float, optional
None or the seconds after which a timeout callback is
invoked, if no progress was made in communicating with
the sub-process, or if waiting for the subprocess exit
took more than the specified time. See the protocol and
`ThreadedRunner` descriptions for a more detailed discussion
on timeouts.
exception_on_error : bool, optional
This argument is first interpreted if the protocol is a subclass
of `GeneratorMixIn`. If it is `True` (default), a
`CommandErrorException` is raised by the generator if the
sub process exited with a return code not equal to zero. If the
parameter is `False`, no exception is raised. In both cases the
return code can be read from the attribute `return_code` of
the generator. Then this argument interpreted within this function
to not raise `CommandError` if value is False in case of non-0 exit.
kwargs :
Passed to the Protocol class constructor.
Returns
-------
dict | _ResultGenerator
If the protocol is not a subclass of `GeneratorMixIn`, the
result of protocol._prepare_result will be returned.
If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e.
a `_ResultGenerator`, will be returned. This allows to use this
method in constructs like:
for protocol_output in runner.run():
...
Where the iterator yields whatever protocol.pipe_data_received
sends into the generator.
If all output was yielded and the process has terminated, the
generator will raise StopIteration(return_code), where
return_code is the return code of the process. The return code
of the process will also be stored in the "return_code"-attribute
of the runner. So you could write:
gen = runner.run()
for file_descriptor, data in gen:
...
# get the return code of the process
result = gen.return_code
Raises
------
CommandError
On execution failure (non-zero exit code) this exception is
raised which provides the command (cmd), stdout, stderr,
exit code (status), and a message identifying the failed
command, as properties.
FileNotFoundError
When a given executable does not exist.
"""
if protocol is None:
# by default let all subprocess stream pass through
protocol = NoCapture
applied_cwd = cwd or self.cwd
applied_env = self._get_adjusted_env(
env=env or self.env,
cwd=applied_cwd,
)
lgr.debug(
'Run %r (protocol_class=%s) (cwd=%s)',
cmd,
protocol.__name__,
applied_cwd
)
threaded_runner = ThreadedRunner(
cmd=cmd,
protocol_class=protocol,
stdin=stdin,
protocol_kwargs=kwargs,
timeout=timeout,
exception_on_error=exception_on_error,
cwd=applied_cwd,
env=applied_env
)
results_or_iterator = threaded_runner.run()
if issubclass(protocol, GeneratorMixIn):
return results_or_iterator
results = cast(dict, results_or_iterator)
# log before any exception is raised
lgr.debug("Finished %r with status %s", cmd, results['code'])
# make it such that we always blow if a protocol did not report
# a return code at all or it was non-0 and we were not asked ignore
# errors
return_code = results.get('code', None)
if return_code is None or (return_code and exception_on_error):
# the runner has a better idea, doc string warns Protocol
# implementations not to return these
results.pop('cmd', None)
results.pop('cwd', None)
> raise CommandError(
# whatever the results were, we carry them forward
cmd=cmd,
cwd=applied_cwd,
**results,
)
E datalad.runner.exception.CommandError: CommandError: 'datalad i' failed with exitcode 1
datalad/runner/runner.py:242: CommandError
__________________________________ test_setup __________________________________
def test_setup():
# insufficient arguments
> check_setup_parser([], 2)
datalad/cli/tests/test_parser.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = [], exit_code = 2
def check_setup_parser(args, exit_code=None):
parser = None
with patch('sys.stderr', new_callable=StringIO) as cmerr:
with patch('sys.stdout', new_callable=StringIO) as cmout:
if exit_code is not None:
> with assert_raises(SystemExit) as cm:
E Failed: DID NOT RAISE <class 'SystemExit'>
datalad/cli/tests/test_parser.py:60: Failed
____________________________ test_cfg_originorigin _____________________________
res = {'action': 'update', 'path': '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3', 'refds': '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3', 'status': 'ok', ...}
rfilter = <function get_result_filter.<locals>._fx at 0xffff9b8c2d40>
kwargs = {'dataset': None, 'description': None, 'git_clone_opts': None, 'on_failure': 'continue', ...}
def keep_result(res, rfilter, **kwargs):
if not rfilter:
return True
try:
> if not rfilter(res, **kwargs):
datalad/interface/utils.py:453:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/interface/utils.py:216: in _fx
return fx(res)
datalad/support/constraints.py:334: in __call__
super(EnsureKeyChoice, self).__call__(value[self._key])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def __call__(self, value):
if value not in self._allowed:
> raise ValueError(f"value {value} is not one of {self._allowed}")
E ValueError: value update is not one of ('install',)
datalad/support/constraints.py:302: ValueError
During handling of the above exception, another exception occurred:
path = PosixPath('/tmp/datalad_temp_test_cfg_originoriginswyzyy0j')
@with_tempfile(mkdir=True)
def test_cfg_originorigin(path=None):
path = Path(path)
origin = Dataset(path / 'origin').create()
(origin.pathobj / 'file1.txt').write_text('content')
origin.save()
clone_lev1 = clone(origin, path / 'clone_lev1')
clone_lev2 = clone(clone_lev1, path / 'clone_lev2')
# the goal is to be able to get file content from origin without
# the need to configure it manually
assert_result_count(
clone_lev2.get('file1.txt', on_failure='ignore'),
1,
action='get',
status='ok',
path=str(clone_lev2.pathobj / 'file1.txt'),
)
eq_((clone_lev2.pathobj / 'file1.txt').read_text(), 'content')
eq_(
Path(clone_lev2.siblings(
'query',
name=DEFAULT_REMOTE + '-2',
return_type='item-or-list')['url']),
origin.pathobj
)
# Clone another level, this time with a relative path. Drop content from
# lev2 so that origin is the only place that the file is available from.
clone_lev2.drop("file1.txt")
with chpwd(path), swallow_logs(new_level=logging.DEBUG) as cml:
> clone_lev3 = clone('clone_lev2', 'clone_lev3')
datalad/core/distributed/tests/test_clone.py:718:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:908: in _execute_command_
if not keep_result(r, result_filter, **allkwargs):
datalad/interface/utils.py:460: in keep_result
lgr.debug('Not reporting result (%s): %s', CapturedException(e), res)
/usr/lib/python3.13/logging/__init__.py:1507: in debug
self._log(DEBUG, msg, args, **kwargs)
/usr/lib/python3.13/logging/__init__.py:1664: in _log
self.handle(record)
/usr/lib/python3.13/logging/__init__.py:1680: in handle
self.callHandlers(record)
/usr/lib/python3.13/logging/__init__.py:1736: in callHandlers
hdlr.handle(record)
/usr/lib/python3.13/logging/__init__.py:1026: in handle
self.emit(record)
/usr/lib/python3/dist-packages/_pytest/logging.py:386: in emit
super().emit(record)
/usr/lib/python3.13/logging/__init__.py:1158: in emit
self.handleError(record)
/usr/lib/python3.13/logging/__init__.py:1150: in emit
msg = self.format(record)
/usr/lib/python3.13/logging/__init__.py:998: in format
return fmt.format(record)
/usr/lib/python3/dist-packages/_pytest/logging.py:139: in format
return super().format(record)
/usr/lib/python3.13/logging/__init__.py:711: in format
record.message = record.getMessage()
/usr/lib/python3.13/logging/__init__.py:400: in getMessage
msg = msg % self.args
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffff9b8b4590>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
------------------------------ Captured log call -------------------------------
DEBUG datalad.utils:utils.py:2724 Determined class of decorated function: <class 'datalad.core.distributed.clone.Clone'>
DEBUG datalad.core.distributed.clone:clone.py:274 Resolved clone target path to: '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3'
INFO datalad.core.distributed.clone:log.py:432 Attempting a clone into /tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3
INFO datalad.core.distributed.clone:log.py:432 Attempting to clone from clone_lev2 to /tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3
DEBUG datalad.gitrepo:gitrepo.py:1056 Git clone from clone_lev2 to /tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'clone', '--progress', 'clone_lev2', '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3'] (protocol_class=GitProgress) (cwd=None)
DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b"Cloning into '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3'...\n"
DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b'done.\n'
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'clone', '--progress', 'clone_lev2', '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3'] with status 0
DEBUG datalad.gitrepo:gitrepo.py:1065 Git clone completed
DEBUG datalad.runner.runner:runner.py:207 Run ['git', 'config', '-z', '-l', '--show-origin'] (protocol_class=StdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', 'config', '-z', '-l', '--show-origin'] with status 0
DEBUG datalad.runner.runner:runner.py:207 Run ['git', 'config', '-z', '-l', '--show-origin', '--file', '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3/.datalad/config'] (protocol_class=StdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', 'config', '-z', '-l', '--show-origin', '--file', '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3/.datalad/config'] with status 0
DEBUG datalad.runner.runner:runner.py:207 Run ['git', 'config', '--local', '--replace-all', 'remote.dl-test-remote.url', '../clone_lev2'] (protocol_class=StdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', 'config', '--local', '--replace-all', 'remote.dl-test-remote.url', '../clone_lev2'] with status 0
DEBUG datalad.runner.runner:runner.py:207 Run ['git', 'config', '-z', '-l', '--show-origin'] (protocol_class=StdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', 'config', '-z', '-l', '--show-origin'] with status 0
INFO datalad.core.distributed.clone:log.py:432 Completed clone attempts for Dataset(/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'for-each-ref', '--format=%(refname:strip=2)', 'refs/heads', 'refs/remotes'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'for-each-ref', '--format=%(refname:strip=2)', 'refs/heads', 'refs/remotes'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', 'config', '-z', '-l', '--show-origin'] (protocol_class=StdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', 'config', '-z', '-l', '--show-origin'] with status 0
DEBUG datalad.runner.runner:runner.py:207 Run ['git', 'config', '-z', '-l', '--show-origin', '--file', '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3/.datalad/config'] (protocol_class=StdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', 'config', '-z', '-l', '--show-origin', '--file', '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3/.datalad/config'] with status 0
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'for-each-ref', '--format=%(refname:strip=2)', 'refs/heads', 'refs/remotes'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.core.distributed.clone:clone_utils.py:813 Determined dl-test-remote to be remote of AnnexRepo(/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'for-each-ref', '--format=%(refname:strip=2)', 'refs/heads', 'refs/remotes'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'rev-parse', '--verify', 'HEAD^{commit}'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'for-each-ref', '--format=%(refname:strip=2)', 'refs/heads', 'refs/remotes'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.core.distributed.clone:clone.py:684 Initializing annex repo at /tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'for-each-ref', '--format=%(refname:strip=2)', 'refs/heads', 'refs/remotes'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'for-each-ref', '--format=%(refname:strip=2)', 'refs/heads'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'init', '-c', 'annex.dotfiles=true'] (protocol_class=AnnexInitOutput) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'init', '-c', 'annex.dotfiles=true'] with status 0
DEBUG datalad.runner.runner:runner.py:207 Run ['git', 'config', '-z', '-l', '--show-origin'] (protocol_class=StdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', 'config', '-z', '-l', '--show-origin'] with status 0
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_test_cfg_originoriginswyzyy0j/clone_lev3)
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'']
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_test_cfg_originoriginswyzyy0j/clone_lev3)
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'']
DEBUG datalad.utils:utils.py:2724 Determined class of decorated function: <class 'datalad.distribution.siblings.Siblings'>
DEBUG datalad.dataset:dataset.py:595 Resolved dataset to configure sibling: /tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'remote', 'add', 'dl-test-remote-2', '/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev1'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', 'config', '-z', '-l', '--show-origin'] (protocol_class=StdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', 'config', '-z', '-l', '--show-origin'] with status 0
DEBUG datalad.utils:utils.py:2724 Determined class of decorated function: <class 'datalad.distribution.update.Update'>
DEBUG datalad.dataset:dataset.py:595 Resolved dataset to update: /tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3
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_test_cfg_originoriginswyzyy0j/clone_lev3)
INFO datalad.distribution.update:update.py:307 Fetching updates for Dataset(/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'fetch', '--verbose', '--progress', '--no-recurse-submodules', '--prune', 'dl-test-remote-2'] (protocol_class=GitProgress) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b'From /tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev1\n'
DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b' * [new branch] dl-test-branch -> dl-test-remote-2/dl-test-branch\n'
DEBUG datalad.gitrepo:gitrepo.py:470 Non-progress stderr: b' * [new branch] git-annex -> dl-test-remote-2/git-annex\n'
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'fetch', '--verbose', '--progress', '--no-recurse-submodules', '--prune', 'dl-test-remote-2'] with status 0
DEBUG datalad.gitrepo:gitrepo.py:2196 git-fetch reported: From /tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev1
INFO datalad:log.py:432 Clear progress bars
INFO datalad:log.py:432 Refresh progress bars
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'enableremote', 'dl-test-remote-2', '-c', 'annex.dotfiles=true'] (protocol_class=StdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'enableremote', 'dl-test-remote-2', '-c', 'annex.dotfiles=true'] with status 0
DEBUG datalad.runner.runner:runner.py:207 Run ['git', 'config', '-z', '-l', '--show-origin'] (protocol_class=StdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', 'config', '-z', '-l', '--show-origin'] with status 0
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'info', '--bytes', '--fast', '--json', '--json-error-messages', '-c', 'annex.dotfiles=true'] (protocol_class=AnnexJsonProtocol) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'info', '--bytes', '--fast', '--json', '--json-error-messages', '-c', 'annex.dotfiles=true'] with status 0
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_test_cfg_originoriginswyzyy0j/clone_lev3)
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'']
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_test_cfg_originoriginswyzyy0j/clone_lev3)
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'']
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'wanted', 'dl-test-remote-2', '-c', 'annex.dotfiles=true'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'required', 'dl-test-remote-2', '-c', 'annex.dotfiles=true'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'group', 'dl-test-remote-2', '-c', 'annex.dotfiles=true'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'groupwanted', 'dl-test-remote-2', '-c', 'annex.dotfiles=true'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_cfg_originoriginswyzyy0j/clone_lev3)
INFO datalad:log.py:432 Clear progress bars
INFO datalad:log.py:432 Refresh progress bars
______________________________ test_invalid_args _______________________________
def __new__(cls, ri=None, **kwargs):
"""Used as a possible factory for known RI types
Returns
-------
RI
uninitialized RI object of appropriate class with _str
set to string representation if was provided
Raises
------
ValueError
Whenever the RI type cannot be determined.
"""
if cls is RI and ri is not None:
# RI class was used as a factory
try:
> cls = _guess_ri_cls(ri)
datalad/support/network.py:452:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/network.py:362: in _guess_ri_cls
fields = URL._pr_to_fields(urlparse(ri), guessing=True)
datalad/support/network.py:710: in _pr_to_fields
return {f: (_getattr(pr, f) or '') for f in cls._FIELDS}
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = ParseResult(scheme='ssh', netloc='mars:Zoidberg', path='', params='', query='', fragment='')
@property
def port(self):
port = self._hostinfo[1]
if port is not None:
if port.isdigit() and port.isascii():
port = int(port)
else:
> raise ValueError(f"Port could not be cast to integer value as {port!r}")
E ValueError: Port could not be cast to integer value as 'Zoidberg'
/usr/lib/python3.13/urllib/parse.py:182: ValueError
The above exception was the direct cause of the following exception:
path = 'ssh://mars:Zoidberg'
@staticmethod
@datasetmethod(name='install')
@eval_results
def __call__(
path=None,
*,
source=None,
dataset=None,
get_data=False,
description=None,
recursive=False,
recursion_limit=None,
reckless=None,
jobs="auto",
branch=None):
# normalize path argument to be equal when called from cmdline and
# python and nothing was passed into `path`
path = ensure_list(path)
if not source and not path:
raise InsufficientArgumentsError(
"Please provide at least a source or a path")
# Common kwargs to pass to underlying git/install calls.
# They might need adjustments (e.g. for recursion_limit, but
# otherwise would be applicable throughout
#
# There should have been more of common options!
# since underneath get could do similar installs
common_kwargs = dict(
get_data=get_data,
recursive=recursive,
recursion_limit=recursion_limit,
# git_opts=git_opts,
# annex_opts=annex_opts,
reckless=reckless,
jobs=jobs,
)
# did we explicitly get a dataset to install into?
# if we got a dataset, path will be resolved against it.
# Otherwise path will be resolved first.
ds = None
if dataset is not None:
ds = require_dataset(dataset, check_installed=True,
purpose='install')
common_kwargs['dataset'] = dataset
# pre-compute for results below
refds_path = ds if ds is None else ds.path
# switch into the two scenarios without --source:
# 1. list of URLs
# 2. list of (sub)dataset content
if source is None:
# we need to collect URLs and paths
to_install = []
to_get = []
# TODO: this approach is problematic, it disrupts the order of input args.
# consequently results will be returned in an unexpected order when a
# mixture of source URL and paths is given. Reordering is only possible when
# everything in here is fully processed before any results can be yielded.
# moreover, I think the semantics of the status quo implementation are a
# bit complicated: in a mixture list a source URL will lead to a new dataset
# at a generated default location, but a path will lead to a subdataset
# at that exact location
for urlpath in path:
ri = RI(urlpath)
(to_get if isinstance(ri, PathRI) else to_install).append(urlpath)
# 1. multiple source URLs
for s in to_install:
lgr.debug("Install passes into install source=%s", s)
for r in Install.__call__(
source=s,
description=description,
# we need to disable error handling in order to have it done at
# the very top, otherwise we are not able to order a global
# "ignore-and-keep-going"
on_failure='ignore',
return_type='generator',
result_renderer='disabled',
result_xfm=None,
result_filter=None,
branch=branch,
**common_kwargs):
# no post-processing of the installed content on disk
# should be necessary here, all done by code further
# down that deals with an install from an actual `source`
# any necessary fixes should go there too!
r['refds'] = refds_path
yield r
# 2. one or more dataset content paths
if to_get:
lgr.debug("Install passes into get %d items", len(to_get))
# all commented out hint on inability to pass those options
# into underlying install-related calls.
# Also need to pass from get:
# annex_get_opts
for r in Get.__call__(
to_get,
# TODO should pass-through description, not sure why disabled
# description=description,
# we need to disable error handling in order to have it done at
# the very top, otherwise we are not able to order a global
# "ignore-and-keep-going"
on_failure='ignore',
return_type='generator',
result_xfm=None,
result_renderer='disabled',
result_filter=None,
**common_kwargs):
# no post-processing of get'ed content on disk should be
# necessary here, this is the responsibility of `get`
# (incl. adjusting parent's gitmodules when submodules end
# up in an "updated" state (done in get helpers)
# any required fixes should go there!
r['refds'] = refds_path
yield r
# we are done here
# the rest is about install from a `source`
return
# an actual `source` was given
if source and path and len(path) > 1:
# exception is ok here, if this fails it is either direct user error
# or we fucked up one of our internal calls
raise ValueError(
"install needs a single PATH when source is provided. "
"Was given multiple PATHs: %s" % str(path))
# parameter constraints:
if not source:
# exception is ok here, if this fails it is either direct user error
# or we fucked up one of our internal calls
raise InsufficientArgumentsError(
"a `source` is required for installation")
# code below deals with a single path only
path = path[0] if path else None
if source == path:
# even if they turn out to be identical after resolving symlinks
# and more sophisticated witchcraft, it would still happily say
# "it appears to be already installed", so we just catch an
# obviously pointless input combination
yield get_status_dict(
'install', path=path, status='impossible', logger=lgr,
source_url=source, refds=refds_path,
message="installation `source` and destination `path` are identical. "
"If you are trying to add a subdataset simply use the `save` command")
return
# resolve the target location (if local) against the provided dataset
# or CWD:
if path is not None:
# MIH everything in here is highly similar to what common
# interface helpers do (or should/could do), but at the same
# is very much tailored to just apply to `install` -- I guess
# it has to stay special
# Should work out just fine for regular paths, so no additional
# conditioning is necessary
try:
> path_ri = RI(path)
datalad/distribution/install.py:355:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def __new__(cls, ri=None, **kwargs):
"""Used as a possible factory for known RI types
Returns
-------
RI
uninitialized RI object of appropriate class with _str
set to string representation if was provided
Raises
------
ValueError
Whenever the RI type cannot be determined.
"""
if cls is RI and ri is not None:
# RI class was used as a factory
try:
cls = _guess_ri_cls(ri)
except Exception as e:
# when anything goes wrong here, ensure a homogeneous
# exception with a regular error
> raise ValueError(
f"Could not determine resource identifier type for {ri!r}"
) from e
E ValueError: Could not determine resource identifier type for 'ssh://mars:Zoidberg'
datalad/support/network.py:456: ValueError
During handling of the above exception, another exception occurred:
path = '/tmp/datalad_temp_test_invalid_args5xl2u955'
@known_failure_githubci_win
@with_tempfile(mkdir=True)
def test_invalid_args(path=None):
assert_raises(IncompleteResultsError, install, 'Zoidberg', source='Zoidberg')
# install to an invalid URL
> assert_raises(ValueError, install, 'ssh://mars:Zoidberg', source='Zoidberg')
datalad/distribution/tests/test_install.py:133:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/distribution/install.py:359: in __call__
"invalid path argument {}: ({})".format(path, ce))
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa8293b90>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
_________________________ test_unrelated_history_merge _________________________
record = {'action': 'merge', 'message': ('Merged %s', 'repo/dl-test-branch')}
fn = <bound method GitRepo.merge of AnnexRepo('/tmp/pytest-of-debusine-worker/pytest-0/test_unrelated_history_merge0/ds')>
args = ()
kwargs = {'expect_fail': True, 'expect_stderr': True, 'name': 'repo/dl-test-branch', 'options': None}
ce = CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge repo/dl-test-branch' failed with exitco....py:send:100,nonasyncrunner.py:_locked_send:125,nonasyncrunner.py:_check_result:96,nonasyncrunner.py:_check_result:298]
def _try_command(record, fn, *args, **kwargs):
"""Call `fn`, catching a `CommandError`.
Parameters
----------
record : dict
A partial result record. It should at least have 'action' and 'message'
fields. A 'status' value of 'ok' or 'error' will be added based on
whether calling `fn` raises a `CommandError`.
Returns
-------
A new record with a 'status' field.
"""
try:
> fn(*args, **kwargs)
datalad/distribution/update.py:537:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/gitrepo.py:2296: in merge
self.call_git(
datalad/dataset/gitrepo.py:461: in call_git
return "".join(
datalad/dataset/gitrepo.py:525: in call_git_items_
for file_no, line in self._generator_call_git(
datalad/dataset/gitrepo.py:363: in _generator_call_git
for file_no, content in generator:
datalad/runner/nonasyncrunner.py:100: in send
return self._locked_send(message)
datalad/runner/nonasyncrunner.py:125: in _locked_send
self._check_result()
datalad/runner/nonasyncrunner.py:96: in _check_result
self.runner._check_result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _check_result(self):
if self.exception_on_error is True:
if self.return_code not in (0, None):
protocol = self.protocol
decoded_output = {
source: protocol.fd_infos[fileno][1].decode(protocol.encoding)
for source, fileno in (
("stdout", protocol.stdout_fileno),
("stderr", protocol.stderr_fileno))
if protocol.fd_infos[fileno][1] is not None
}
> raise CommandError(
cmd=self.cmd,
code=self.return_code,
stdout=decoded_output.get("stdout", None),
stderr=decoded_output.get("stderr", None)
)
E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge repo/dl-test-branch' failed with exitcode 128 [err: 'fatal: refusing to merge unrelated histories']
datalad/runner/nonasyncrunner.py:298: CommandError
During handling of the above exception, another exception occurred:
tmp_path = PosixPath('/tmp/pytest-of-debusine-worker/pytest-0/test_unrelated_history_merge0')
def test_unrelated_history_merge(tmp_path):
# prepare two independent datasets and try merging one into another
ds = Dataset(tmp_path / 'ds').create()
repo = AnnexRepo(tmp_path / 'repo')
f = (tmp_path / 'repo' / 'file.dat')
f.write_text("data")
repo.add(str(f))
repo.commit()
# ATM we do not do any checks and allow such addition
assert_status('ok', ds.siblings(action='add', name='repo', url=repo.path))
> res = ds.update(how='merge', on_failure='ignore')
datalad/distribution/tests/test_update.py:503:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/distribution/update.py:403: in __call__
for ures in update_fn(repo, sibling_, target, opts=fn_opts):
datalad/distribution/update.py:554: in _annex_plain_merge
yield from _plain_merge(repo, _, target, opts=opts)
datalad/distribution/update.py:546: in _plain_merge
yield _try_command(
datalad/distribution/update.py:540: in _try_command
return dict(record, status="error", message=str(ce))
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa8258e90>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
_____________________________ test_merge_conflict ______________________________
record = {'action': 'merge', 'message': ('Merged %s', 'dl-test-remote/dl-test-branch')}
fn = <bound method GitRepo.merge of AnnexRepo('/tmp/datalad_temp_test_merge_conflictchk2gdn3/clone')>
args = ()
kwargs = {'expect_fail': True, 'expect_stderr': True, 'name': 'dl-test-remote/dl-test-branch', 'options': None}
ce = CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge dl-test-remote/dl-test-branch' failed w....py:send:100,nonasyncrunner.py:_locked_send:125,nonasyncrunner.py:_check_result:96,nonasyncrunner.py:_check_result:298]
def _try_command(record, fn, *args, **kwargs):
"""Call `fn`, catching a `CommandError`.
Parameters
----------
record : dict
A partial result record. It should at least have 'action' and 'message'
fields. A 'status' value of 'ok' or 'error' will be added based on
whether calling `fn` raises a `CommandError`.
Returns
-------
A new record with a 'status' field.
"""
try:
> fn(*args, **kwargs)
datalad/distribution/update.py:537:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/gitrepo.py:2296: in merge
self.call_git(
datalad/dataset/gitrepo.py:461: in call_git
return "".join(
datalad/dataset/gitrepo.py:525: in call_git_items_
for file_no, line in self._generator_call_git(
datalad/dataset/gitrepo.py:363: in _generator_call_git
for file_no, content in generator:
datalad/runner/nonasyncrunner.py:100: in send
return self._locked_send(message)
datalad/runner/nonasyncrunner.py:125: in _locked_send
self._check_result()
datalad/runner/nonasyncrunner.py:96: in _check_result
self.runner._check_result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _check_result(self):
if self.exception_on_error is True:
if self.return_code not in (0, None):
protocol = self.protocol
decoded_output = {
source: protocol.fd_infos[fileno][1].decode(protocol.encoding)
for source, fileno in (
("stdout", protocol.stdout_fileno),
("stderr", protocol.stderr_fileno))
if protocol.fd_infos[fileno][1] is not None
}
> raise CommandError(
cmd=self.cmd,
code=self.return_code,
stdout=decoded_output.get("stdout", None),
stderr=decoded_output.get("stderr", None)
)
E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge dl-test-remote/dl-test-branch' failed with exitcode 1
datalad/runner/nonasyncrunner.py:298: CommandError
During handling of the above exception, another exception occurred:
path = PosixPath('/tmp/datalad_temp_test_merge_conflictchk2gdn3')
@skip_if_adjusted_branch
@slow # 17sec on Yarik's laptop
@with_tempfile(mkdir=True)
def test_merge_conflict(path=None):
path = Path(path)
ds_src = Dataset(path / "src").create()
ds_src_s0 = ds_src.create("s0")
ds_src_s1 = ds_src.create("s1")
ds_src.save()
ds_clone = install(source=ds_src.path, path=path / "clone",
recursive=True, result_xfm="datasets")
ds_clone_s0 = Dataset(path / "clone" / "s0")
ds_clone_s1 = Dataset(path / "clone" / "s1")
(ds_src.pathobj / "foo").write_text("src content")
ds_src.save(to_git=True)
(ds_clone.pathobj / "foo").write_text("clone content")
ds_clone.save(to_git=True)
# Top-level merge failure
> res = ds_clone.update(merge=True, on_failure="ignore")
datalad/distribution/tests/test_update.py:550:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/distribution/update.py:403: in __call__
for ures in update_fn(repo, sibling_, target, opts=fn_opts):
datalad/distribution/update.py:554: in _annex_plain_merge
yield from _plain_merge(repo, _, target, opts=opts)
datalad/distribution/update.py:546: in _plain_merge
yield _try_command(
datalad/distribution/update.py:540: in _try_command
return dict(record, status="error", message=str(ce))
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa855f590>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
____________________ test_merge_conflict_in_subdataset_only ____________________
record = {'action': 'merge', 'message': ('Merged %s', 'dl-test-remote/dl-test-branch')}
fn = <bound method GitRepo.merge of AnnexRepo('/tmp/datalad_temp_test_merge_conflict_in_subdataset_only7zw72ras/clone/sub_conflict')>
args = ()
kwargs = {'expect_fail': True, 'expect_stderr': True, 'name': 'dl-test-remote/dl-test-branch', 'options': None}
ce = CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge dl-test-remote/dl-test-branch' failed w....py:send:100,nonasyncrunner.py:_locked_send:125,nonasyncrunner.py:_check_result:96,nonasyncrunner.py:_check_result:298]
def _try_command(record, fn, *args, **kwargs):
"""Call `fn`, catching a `CommandError`.
Parameters
----------
record : dict
A partial result record. It should at least have 'action' and 'message'
fields. A 'status' value of 'ok' or 'error' will be added based on
whether calling `fn` raises a `CommandError`.
Returns
-------
A new record with a 'status' field.
"""
try:
> fn(*args, **kwargs)
datalad/distribution/update.py:537:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/gitrepo.py:2296: in merge
self.call_git(
datalad/dataset/gitrepo.py:461: in call_git
return "".join(
datalad/dataset/gitrepo.py:525: in call_git_items_
for file_no, line in self._generator_call_git(
datalad/dataset/gitrepo.py:363: in _generator_call_git
for file_no, content in generator:
datalad/runner/nonasyncrunner.py:100: in send
return self._locked_send(message)
datalad/runner/nonasyncrunner.py:125: in _locked_send
self._check_result()
datalad/runner/nonasyncrunner.py:96: in _check_result
self.runner._check_result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _check_result(self):
if self.exception_on_error is True:
if self.return_code not in (0, None):
protocol = self.protocol
decoded_output = {
source: protocol.fd_infos[fileno][1].decode(protocol.encoding)
for source, fileno in (
("stdout", protocol.stdout_fileno),
("stderr", protocol.stderr_fileno))
if protocol.fd_infos[fileno][1] is not None
}
> raise CommandError(
cmd=self.cmd,
code=self.return_code,
stdout=decoded_output.get("stdout", None),
stderr=decoded_output.get("stderr", None)
)
E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge dl-test-remote/dl-test-branch' failed with exitcode 1
datalad/runner/nonasyncrunner.py:298: CommandError
During handling of the above exception, another exception occurred:
path = PosixPath('/tmp/datalad_temp_test_merge_conflict_in_subdataset_only7zw72ras')
@skip_if_adjusted_branch
@slow # 13sec on Yarik's laptop
@with_tempfile(mkdir=True)
def test_merge_conflict_in_subdataset_only(path=None):
path = Path(path)
ds_src = Dataset(path / "src").create()
ds_src_sub_conflict = ds_src.create("sub_conflict")
ds_src_sub_noconflict = ds_src.create("sub_noconflict")
ds_src.save()
# Set up a scenario where one subdataset has a conflict between the remote
# and local version, but the parent dataset does not have a conflict
# because it hasn't recorded the subdataset state.
ds_clone = install(source=ds_src.path, path=path / "clone",
recursive=True, result_xfm="datasets")
ds_clone_sub_conflict = Dataset(path / "clone" / "sub_conflict")
ds_clone_sub_noconflict = Dataset(path / "clone" / "sub_noconflict")
(ds_src_sub_conflict.pathobj / "foo").write_text("src content")
ds_src_sub_conflict.save(to_git=True)
(ds_clone_sub_conflict.pathobj / "foo").write_text("clone content")
ds_clone_sub_conflict.save(to_git=True)
(ds_src_sub_noconflict.pathobj / "foo").write_text("src content")
ds_src_sub_noconflict.save()
> res = ds_clone.update(merge=True, recursive=True, on_failure="ignore")
datalad/distribution/tests/test_update.py:609:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/distribution/update.py:403: in __call__
for ures in update_fn(repo, sibling_, target, opts=fn_opts):
datalad/distribution/update.py:554: in _annex_plain_merge
yield from _plain_merge(repo, _, target, opts=opts)
datalad/distribution/update.py:546: in _plain_merge
yield _try_command(
datalad/distribution/update.py:540: in _try_command
return dict(record, status="error", message=str(ce))
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa855fd10>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
______________________________ test_merge_ff_only ______________________________
record = {'action': 'merge', 'message': ('Merged %s', 'dl-test-remote/dl-test-branch')}
fn = <bound method GitRepo.merge of AnnexRepo('/tmp/datalad_temp_test_merge_ff_onlyqgn43lje/clone_nonff')>
args = ()
kwargs = {'expect_fail': True, 'expect_stderr': True, 'name': 'dl-test-remote/dl-test-branch', 'options': ['--ff-only']}
ce = CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge --ff-only dl-test-remote/dl-test-branch....py:send:100,nonasyncrunner.py:_locked_send:125,nonasyncrunner.py:_check_result:96,nonasyncrunner.py:_check_result:298]
def _try_command(record, fn, *args, **kwargs):
"""Call `fn`, catching a `CommandError`.
Parameters
----------
record : dict
A partial result record. It should at least have 'action' and 'message'
fields. A 'status' value of 'ok' or 'error' will be added based on
whether calling `fn` raises a `CommandError`.
Returns
-------
A new record with a 'status' field.
"""
try:
> fn(*args, **kwargs)
datalad/distribution/update.py:537:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/gitrepo.py:2296: in merge
self.call_git(
datalad/dataset/gitrepo.py:461: in call_git
return "".join(
datalad/dataset/gitrepo.py:525: in call_git_items_
for file_no, line in self._generator_call_git(
datalad/dataset/gitrepo.py:363: in _generator_call_git
for file_no, content in generator:
datalad/runner/nonasyncrunner.py:100: in send
return self._locked_send(message)
datalad/runner/nonasyncrunner.py:125: in _locked_send
self._check_result()
datalad/runner/nonasyncrunner.py:96: in _check_result
self.runner._check_result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _check_result(self):
if self.exception_on_error is True:
if self.return_code not in (0, None):
protocol = self.protocol
decoded_output = {
source: protocol.fd_infos[fileno][1].decode(protocol.encoding)
for source, fileno in (
("stdout", protocol.stdout_fileno),
("stderr", protocol.stderr_fileno))
if protocol.fd_infos[fileno][1] is not None
}
> raise CommandError(
cmd=self.cmd,
code=self.return_code,
stdout=decoded_output.get("stdout", None),
stderr=decoded_output.get("stderr", None)
)
E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge --ff-only dl-test-remote/dl-test-branch' failed with exitcode 128 [err: 'hint: Diverging branches can't be fast-forwarded, you need to either:
E hint:
E hint: git merge --no-ff
E hint:
E hint: or:
E hint:
E hint: git rebase
E hint:
E hint: Disable this message with "git config advice.diverging false"
E fatal: Not possible to fast-forward, aborting.']
datalad/runner/nonasyncrunner.py:298: CommandError
During handling of the above exception, another exception occurred:
path = PosixPath('/tmp/datalad_temp_test_merge_ff_onlyqgn43lje')
@skip_if_adjusted_branch
@with_tempfile(mkdir=True)
def test_merge_ff_only(path=None):
path = Path(path)
ds_src = Dataset(path / "src").create()
ds_clone_ff = install(source=ds_src.path, path=path / "clone_ff",
result_xfm="datasets")
ds_clone_nonff = install(source=ds_src.path, path=path / "clone_nonff",
result_xfm="datasets")
(ds_clone_nonff.pathobj / "foo").write_text("local change")
ds_clone_nonff.save(recursive=True)
(ds_src.pathobj / "bar").write_text("remote change")
ds_src.save(recursive=True)
assert_in_results(
ds_clone_ff.update(merge="ff-only", on_failure="ignore"),
action="merge", status="ok")
# ff-only prevents a non-fast-forward ...
assert_in_results(
> ds_clone_nonff.update(merge="ff-only", on_failure="ignore"),
action="merge", status="error")
datalad/distribution/tests/test_update.py:648:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/distribution/update.py:403: in __call__
for ures in update_fn(repo, sibling_, target, opts=fn_opts):
datalad/distribution/update.py:554: in _annex_plain_merge
yield from _plain_merge(repo, _, target, opts=opts)
datalad/distribution/update.py:546: in _plain_merge
yield _try_command(
datalad/distribution/update.py:540: in _try_command
return dict(record, status="error", message=str(ce))
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa825a510>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
____________ test_merge_follow_parentds_subdataset_detached[False] _____________
path = PosixPath('/tmp/datalad_temp_test_merge_follow_parentds_subdataset_detached8jkuqb53')
@slow # 12 + 21sec on Yarik's laptop
@pytest.mark.parametrize("on_adjusted", [True, False])
# Skip non-adjusted case for systems that only support adjusted branches.
@skip_if_adjusted_branch
@with_tempfile(mkdir=True)
def test_merge_follow_parentds_subdataset_detached(path=None, *, on_adjusted):
if on_adjusted and DEFAULT_REMOTE != "origin" and \
external_versions['cmd:annex'] <= "8.20210330":
raise SkipTest(
"'git annex init' with adjusted branch currently fails "
"due to hard-coded 'origin'")
# Note: For the adjusted case, this is not much more than a smoke test that
# on an adjusted branch we fail sensibly. The resulting state is not easy
# to reason about nor desirable.
path = Path(path)
# $path/source/s0/s1
# The additional dataset level is to gain some confidence that this works
# for nested datasets.
ds_src = Dataset(path / "source").create()
ds_src_s0 = ds_src.create("s0")
ds_src_s1 = ds_src_s0.create("s1")
ds_src.save(recursive=True)
if on_adjusted:
# Note: We adjust after creating all the datasets above to avoid a bug
# fixed in git-annex 7.20191024, specifically bbdeb1a1a (sync: Fix
# crash when there are submodules and an adjusted branch is checked
# out, 2019-10-23).
for ds in [ds_src, ds_src_s0, ds_src_s1]:
maybe_adjust_repo(ds.repo)
ds_src.save(recursive=True)
assert_repo_status(ds_src.path)
ds_clone = install(source=ds_src.path, path=path / "clone",
recursive=True, result_xfm="datasets")
ds_clone_s1 = Dataset(ds_clone.pathobj / "s0" / "s1")
ds_src_s1.repo.checkout(DEFAULT_BRANCH + "^0")
(ds_src_s1.pathobj / "foo").write_text("foo content")
ds_src.save(recursive=True)
assert_repo_status(ds_src.path)
res = ds_clone.update(merge=True, recursive=True, follow="parentds",
on_failure="ignore")
if on_adjusted:
# The top-level update is okay because there is no parent revision to
# update to.
assert_in_results(
res,
status="ok",
path=ds_clone.path,
action="update")
# The subdataset, on the other hand, is impossible.
assert_in_results(
res,
status="impossible",
path=ds_clone_s1.path,
action="update")
return
assert_repo_status(ds_clone.path)
# We brought in the revision and got to the same state of the remote.
# Blind saving here without bringing in the current subdataset revision
# would have resulted in a new commit in ds_clone that reverting the
# last subdataset ID recorded in ds_src.
eq_(ds_clone.repo.get_hexsha(), ds_src.repo.get_hexsha())
# Record a revision in the parent and then move HEAD away from it so that
# the explicit revision fetch fails.
(ds_src_s1.pathobj / "bar").write_text("bar content")
ds_src.save(recursive=True)
ds_src_s1.repo.checkout(DEFAULT_BRANCH)
# This is the default, but just in case:
ds_src_s1.repo.config.set("uploadpack.allowAnySHA1InWant", "false",
scope="local")
# Configure the fetcher to use v0 because Git defaults to v2 as of
# v2.26.0, which allows fetching unadvertised objects regardless
# of the value of uploadpack.allowAnySHA1InWant.
ds_clone_s1.repo.config.set("protocol.version", "0", scope="local")
> res = ds_clone.update(merge=True, recursive=True, follow="parentds",
on_failure="ignore")
datalad/distribution/tests/test_update.py:802:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:375: in _process_results
_render_result_generic(
datalad/interface/utils.py:427: in _render_result_generic
generic_result_renderer(res)
datalad/interface/utils.py:249: in generic_result_renderer
res['message'][0] % res['message'][1:]
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa8259c10>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
__________________________ test_update_fetch_failure ___________________________
path = PosixPath('/tmp/datalad_temp_test_update_fetch_failure4h7l_syf')
@with_tempfile(mkdir=True)
def test_update_fetch_failure(path=None):
path = Path(path)
ds_a = Dataset(path / "ds_a").create()
s1 = ds_a.create("s1")
ds_a.create("s2")
ds_b = install(source=ds_a.path, path=str(path / "ds-b"), recursive=True)
# Rename s1 to make fetch fail.
s1.pathobj.rename(s1.pathobj.parent / "s3")
> res = ds_b.update(recursive=True, on_failure="ignore")
datalad/distribution/tests/test_update.py:1107:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:375: in _process_results
_render_result_generic(
datalad/interface/utils.py:427: in _render_result_generic
generic_result_renderer(res)
datalad/interface/utils.py:249: in generic_result_renderer
res['message'][0] % res['message'][1:]
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa855f050>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
_______________________ test_addurls_unknown_placeholder _______________________
self = <datalad.local.addurls.Formatter object at 0xffffa8b52680>, key = 'link'
args = ({'abcd': 'f', 'linky': 'https://datalad.org'},), kwargs = {}
def get_value(self, key, args, kwargs):
"""Look for key's value in `args[0]` mapping first.
"""
# FIXME: This approach will fail for keys that contain "!" and
# ":" because they'll be interpreted as formatting flags.
data = args[0]
name = key
try:
key_int = int(key)
except ValueError:
pass
else:
name = self.idx_to_name[key_int]
try:
> value = data[name]
E KeyError: 'link'
datalad/local/addurls.py:113: KeyError
During handling of the above exception, another exception occurred:
def extract(rows, colidx_to_name=None,
url_format="{0}", filename_format="{1}",
exclude_autometa=None, meta=None, key=None,
dry_run=False, missing_value=None):
"""Extract and format information from `rows`.
Parameters
----------
rows : list of dict
colidx_to_name : dict, optional
Mapping from a position index to a column name.
All other parameters match those described in `AddUrls`.
Returns
-------
A tuple where the first item is a list with a dict of extracted information
for each row and the second item a list subdataset paths, sorted
breadth-first.
"""
meta = ensure_list(meta)
colidx_to_name = colidx_to_name or {}
# Formatter for everything but file names
fmt = Formatter(colidx_to_name, missing_value)
format_url = partial(fmt.format, url_format)
auto_meta_args = []
if exclude_autometa not in ["*", ""]:
urlcol = fmt_to_name(url_format, colidx_to_name)
# TODO: Try to normalize invalid fields, checking for any
# collisions.
metacols = (c for c in sorted(rows[0].keys()) if c != urlcol)
if exclude_autometa:
metacols = (c for c in metacols
if not re.search(exclude_autometa, c))
metacols = filter_legal_metafield(metacols)
auto_meta_args = [c + "=" + "{" + c + "}" for c in metacols]
# Unlike `filename_format` and `url_format`, `meta` is a list
# because meta may be given multiple times on the command line.
formats_meta = [partial(fmt.format, m) for m in meta + auto_meta_args]
info_fns = []
if formats_meta:
def set_meta_args(info, row):
formatted = []
for fmt in formats_meta:
try:
formatted.append(fmt(row))
except KeyError as exc:
lgr.warning("Row is missing a key to add a metadata field: %s", exc)
info["meta_args"] = clean_meta_args(formatted)
info_fns.append(set_meta_args)
if key:
key_parser = AnnexKeyParser(fmt.format, key)
def set_key(info, row):
info["key"] = key_parser.parse(row)
info_fns.append(set_key)
rows_with_url = []
infos = []
for idx, row in enumerate(rows):
try:
> url = format_url(row)
datalad/local/addurls.py:800:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/local/addurls.py:95: in format
return super(Formatter, self).format(format_string, *args, **kwargs)
/usr/lib/python3.13/string.py:190: in format
return self.vformat(format_string, args, kwargs)
/usr/lib/python3.13/string.py:194: in vformat
result, _ = self._vformat(format_string, args, kwargs, used_args, 2)
/usr/lib/python3.13/string.py:234: in _vformat
obj, arg_used = self.get_field(field_name, args, kwargs)
/usr/lib/python3.13/string.py:299: in get_field
obj = self.get_value(first, args, kwargs)
datalad/local/addurls.py:115: in get_value
return super(Formatter, self).get_value(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <datalad.local.addurls.Formatter object at 0xffffa8b52680>, key = 'link'
args = ({'abcd': 'f', 'linky': 'https://datalad.org'},), kwargs = {}
def get_value(self, key, args, kwargs):
if isinstance(key, int):
return args[key]
else:
> return kwargs[key]
E KeyError: 'link'
/usr/lib/python3.13/string.py:256: KeyError
During handling of the above exception, another exception occurred:
urlfile = 'in.csv', urlformat = '{link}', filenameformat = '{abcd}'
@staticmethod
@datasetmethod(name='addurls')
@eval_results
def __call__(urlfile, urlformat, filenameformat,
*,
dataset=None,
input_type="ext", exclude_autometa=None, meta=None, key=None,
message=None, dry_run=False, fast=False, ifexists=None,
missing_value=None, save=True, version_urls=False,
cfg_proc=None, jobs=None, drop_after=False,
on_collision="error"):
# This was to work around gh-2269. That's fixed, but changing the
# positional argument names now would cause breakage for any callers
# that used these arguments as keyword arguments.
url_file = urlfile
url_format, filename_format = urlformat, filenameformat
from requests.exceptions import RequestException
from datalad.distribution.dataset import (
Dataset,
require_dataset,
)
from datalad.support.annexrepo import AnnexRepo
lgr = logging.getLogger("datalad.local.addurls")
ds = require_dataset(dataset, check_installed=False)
repo = ds.repo
st_dict = get_status_dict(action="addurls", ds=ds)
if repo and not isinstance(repo, AnnexRepo):
yield dict(st_dict, status="error", message="not an annex repo")
return
if key:
old_examinekey = external_versions["cmd:annex"] < "8.20201116"
if old_examinekey:
old_msg = None
if key.startswith("et:"):
old_msg = ("et: prefix of `key` option requires "
"git-annex 8.20201116 or later")
elif repo.is_managed_branch():
old_msg = ("Using `key` option on adjusted branch "
"requires git-annex 8.20201116 or later")
if old_msg:
yield dict(st_dict, status="error", message=old_msg)
return
if isinstance(url_file, str):
if url_file != "-":
url_file = str(resolve_path(url_file, dataset))
try:
records, colidx_to_name = _read_from_file(
url_file, input_type)
except ValueError as exc:
ce = CapturedException(exc)
yield get_status_dict(action="addurls",
ds=ds,
status="error",
message=str(ce),
exception=ce)
return
displayed_source = "'{}'".format(urlfile)
else:
displayed_source = "<records>"
records = ensure_list(url_file)
colidx_to_name = {}
rows = None
if records:
try:
> rows, subpaths = extract(records, colidx_to_name,
url_format, filename_format,
exclude_autometa, meta, key,
dry_run,
missing_value)
datalad/local/addurls.py:1405:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def extract(rows, colidx_to_name=None,
url_format="{0}", filename_format="{1}",
exclude_autometa=None, meta=None, key=None,
dry_run=False, missing_value=None):
"""Extract and format information from `rows`.
Parameters
----------
rows : list of dict
colidx_to_name : dict, optional
Mapping from a position index to a column name.
All other parameters match those described in `AddUrls`.
Returns
-------
A tuple where the first item is a list with a dict of extracted information
for each row and the second item a list subdataset paths, sorted
breadth-first.
"""
meta = ensure_list(meta)
colidx_to_name = colidx_to_name or {}
# Formatter for everything but file names
fmt = Formatter(colidx_to_name, missing_value)
format_url = partial(fmt.format, url_format)
auto_meta_args = []
if exclude_autometa not in ["*", ""]:
urlcol = fmt_to_name(url_format, colidx_to_name)
# TODO: Try to normalize invalid fields, checking for any
# collisions.
metacols = (c for c in sorted(rows[0].keys()) if c != urlcol)
if exclude_autometa:
metacols = (c for c in metacols
if not re.search(exclude_autometa, c))
metacols = filter_legal_metafield(metacols)
auto_meta_args = [c + "=" + "{" + c + "}" for c in metacols]
# Unlike `filename_format` and `url_format`, `meta` is a list
# because meta may be given multiple times on the command line.
formats_meta = [partial(fmt.format, m) for m in meta + auto_meta_args]
info_fns = []
if formats_meta:
def set_meta_args(info, row):
formatted = []
for fmt in formats_meta:
try:
formatted.append(fmt(row))
except KeyError as exc:
lgr.warning("Row is missing a key to add a metadata field: %s", exc)
info["meta_args"] = clean_meta_args(formatted)
info_fns.append(set_meta_args)
if key:
key_parser = AnnexKeyParser(fmt.format, key)
def set_key(info, row):
info["key"] = key_parser.parse(row)
info_fns.append(set_key)
rows_with_url = []
infos = []
for idx, row in enumerate(rows):
try:
url = format_url(row)
except KeyError as exc:
> raise _get_placeholder_exception(
exc, "URL", row)
E ValueError: Unknown placeholder 'link' in URL: Did you mean any of these?
E linky
datalad/local/addurls.py:802: ValueError
During handling of the above exception, another exception occurred:
path = '/tmp/datalad_temp_tree_test_addurls_unknown_placeholder4gmw1jzt'
@with_tree({"in.csv": "linky,abcd\nhttps://datalad.org,f"})
def test_addurls_unknown_placeholder(path=None):
ds = Dataset(path).create(force=True)
# Close but wrong URL placeholder
with assert_raises(IncompleteResultsError) as exc:
> ds.addurls("in.csv", "{link}", "{abcd}", dry_run=True,
result_renderer='disabled')
datalad/local/tests/test_addurls.py:376:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/local/addurls.py:1412: in __call__
yield dict(st_dict, status="error", message=str(ce),
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa855f050>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
___________________________ TestAddurls.test_addurls ___________________________
self = <datalad.support.parallel.ProducerConsumerProgressLog object at 0xffffa827a550>
jobs = 1
def _iter_threads(self, jobs):
self._interrupted = False
self._producer_finished = False
self._producer_exception = None
self._producer_interrupt = None
# To allow feeding producer queue with more entries, possibly from consumer!
self._producer_queue = producer_queue = Queue()
consumer_queue = Queue()
def producer_worker():
"""That is the one which interrogates producer and updates .total"""
try:
for value in self._producer_iter:
if self._producer_interrupt:
raise InterruptedError("Producer thread was interrupted due to %s" % self._producer_interrupt)
self.add_to_producer_queue(value)
except InterruptedError:
pass # There is some outside exception which will be raised
except BaseException as e:
self._producer_exception = e
finally:
self._producer_finished = True
def consumer_worker(callable, *args, **kwargs):
"""Since jobs could return a generator and we cannot really "inspect" for that
"""
res = callable(*args, **kwargs)
if inspect.isgenerator(res):
lgr.debug("Got consumer worker which returned a generator %s", res)
didgood = False
for r in res:
didgood = True
lgr.debug("Adding %s to queue", r)
consumer_queue.put(r)
if not didgood:
lgr.error("Nothing was obtained from %s :-(", res)
else:
lgr.debug("Got straight result %s, not a generator", res)
consumer_queue.put(res)
self._producer_thread = Thread(target=producer_worker)
self._producer_thread.start()
self._futures = futures = {}
lgr.debug("Initiating ThreadPoolExecutor with %d jobs", jobs)
# we will increase sleep_time when doing nothing useful
sleeper = Sleeper()
interrupted_by_exception = None
with concurrent.futures.ThreadPoolExecutor(jobs) as executor:
self._executor = executor
# yield from the producer_queue (.total and .finished could be accessed meanwhile)
while True:
try:
done_useful = False
if self.reraise_immediately and self._producer_exception and not interrupted_by_exception:
# so we have a chance to exit gracefully
# No point to reraise if there is already an exception which was raised
# which might have even been this one
lgr.debug("Reraising an exception from producer as soon as we found it")
raise self._producer_exception
if (self._producer_finished and
not futures and
consumer_queue.empty() and
producer_queue.empty()):
# This will let us not "escape" the while loop and reraise any possible exception
# within the loop if we have any.
# Otherwise we might see "RuntimeError: generator ignored GeneratorExit"
# when e.g. we did continue upon interrupted_by_exception, and then
# no other subsequent exception was raised and we left the loop
> raise _FinalShutdown()
E datalad.support.parallel._FinalShutdown
datalad/support/parallel.py:368: _FinalShutdown
During handling of the above exception, another exception occurred:
self = <datalad.local.tests.test_addurls.TestAddurls object at 0xffffa8ae4cd0>
path = '/tmp/datalad_temp_test_addurls9bfm0zuv'
@with_tempfile(mkdir=True)
def test_addurls(self=None, path=None):
ds = Dataset(path).create(force=True)
def get_annex_commit_counts():
return len(ds.repo.get_revisions("git-annex"))
n_annex_commits = get_annex_commit_counts()
# Meanwhile also test that we can specify path relative
# to the top of the dataset, as we generally treat paths in
# Python API, and it will be the one saved in commit
# message record
json_file = op.relpath(self.json_file, ds.path)
ds.addurls(json_file, "{url}", "{name}",
exclude_autometa="(md5sum|size)", result_renderer='disabled')
ok_startswith(ds.repo.format_commit('%b', DEFAULT_BRANCH), f"url_file='{json_file}'")
filenames = ["a", "b", "c"]
for fname in filenames:
ok_exists(op.join(ds.path, fname))
for (fname, meta), subdir in zip(ds.repo.get_metadata(filenames),
["foo", "bar", "foo"]):
assert_dict_equal(meta,
{"subdir": [subdir], "name": [fname]})
# Ignore this check if we're faking dates because that disables
# batch mode.
# Also ignore if on Windows as it seems as if a git-annex bug
# leads to separate meta data commits:
# https://github.com/datalad/datalad/pull/5202#discussion_r535429704
if not (dl_cfg.get('datalad.fake-dates') or on_windows):
# We should have two new commits on the git-annex: one for the
# added urls and one for the added metadata.
eq_(n_annex_commits + 2, get_annex_commit_counts())
# Add to already existing links, overwriting.
with swallow_logs(new_level=logging.DEBUG) as cml:
ds.addurls(self.json_file, "{url}", "{name}",
ifexists="overwrite", result_renderer='disabled')
for fname in filenames:
assert_in("Removing {}".format(os.path.join(path, fname)),
cml.out)
# Add to already existing links, skipping.
assert_in_results(
ds.addurls(self.json_file, "{url}", "{name}", ifexists="skip",
result_renderer='disabled'),
action="addurls",
status="notneeded")
# Add to already existing links works, as long content is the same.
ds.addurls(self.json_file, "{url}", "{name}", result_renderer='disabled')
# But it fails if something has changed.
ds.unlock("a")
with open(op.join(ds.path, "a"), "w") as ofh:
ofh.write("changed")
ds.save("a")
> assert_raises(IncompleteResultsError,
ds.addurls,
self.json_file, "{url}", "{name}",
result_renderer='disabled')
datalad/local/tests/test_addurls.py:545:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/local/addurls.py:1562: in __call__
yield from ProducerConsumerProgressLog(
datalad/support/parallel.py:535: in __iter__
for res in super().__iter__():
datalad/support/parallel.py:265: in __iter__
yield from self._iter_threads(self._jobs)
datalad/support/parallel.py:417: in _iter_threads
self.shutdown(force=True, exception=self._producer_exception or interrupted_by_exception)
datalad/support/parallel.py:233: in shutdown
raise exception
datalad/support/parallel.py:401: in _iter_threads
done_useful |= self._pop_done_futures(lgr)
datalad/support/parallel.py:463: in _pop_done_futures
raise exception
/usr/lib/python3.13/concurrent/futures/thread.py:58: in run
result = self.fn(*self.args, **self.kwargs)
datalad/support/parallel.py:329: in consumer_worker
for r in res:
datalad/local/addurls.py:1521: in addurls_to_ds
for r in _add_urls(rows, subds, repo,
datalad/log.py:483: in _wrap_with_result_progress_
for res in fn(items, *args, **kwargs):
datalad/local/addurls.py:1058: in _add_urls
for res in fn(row):
datalad/local/addurls.py:842: in _add_url
message=str(ce),
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
------------------------------ Captured log call -------------------------------
DEBUG datalad.utils:utils.py:2724 Determined class of decorated function: <class 'datalad.local.addurls.Addurls'>
DEBUG datalad.dataset:dataset.py:595 Resolved dataset: /tmp/datalad_temp_test_addurls9bfm0zuv
INFO datalad.local.addurls:log.py:432 Total: starting
DEBUG datalad.parallel:parallel.py:343 Initiating ThreadPoolExecutor with 1 jobs
DEBUG datalad.parallel:parallel.py:387 Submitting worker future for ('', ({'url': 'http://127.0.0.1:42139/udir/a.dat', 'input_idx': 0, 'meta_args': {'md5sum': '3fb7c40c70b0ed19da713bd69ee12014', 'name': 'a', 'size': '9', 'subdir': 'foo'}, 'filename': 'a', 'subpath': None}, {'url': 'http://127.0.0.1:42139/udir/b.dat', 'input_idx': 1, 'meta_args': {'name': 'b', 'subdir': 'bar'}, 'filename': 'b', 'subpath': None}, {'url': 'http://127.0.0.1:42139/udir/c.dat', 'input_idx': 2, 'meta_args': {'md5sum': '9b72648021b70b8c522642e4490d7ac3', 'name': 'c', 'size': '9', 'subdir': 'foo'}, 'filename': 'c', 'subpath': None}))
DEBUG datalad.parallel:parallel.py:327 Got consumer worker which returned a generator <generator object Addurls.__call__.<locals>.addurls_to_ds at 0xffff9b894040>
DEBUG datalad.local.addurls:addurls.py:1482 Not creating subdataset at existing path: /tmp/datalad_temp_test_addurls9bfm0zuv
INFO datalad:log.py:432 Adding URLs: starting
DEBUG datalad.local.addurls:addurls.py:1040 Adding URLs to a in /tmp/datalad_temp_test_addurls9bfm0zuv
DEBUG datalad.local.addurls:addurls.py:1051 Removing /tmp/datalad_temp_test_addurls9bfm0zuv/a
DEBUG datalad.cmd:cmd.py:307 Starting new runner for BatchedAnnex(command=['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'addurl', '--with-files', '--json', '--json-error-messages', '--batch'], encoding=UTF-8, exception_on_timeout=False, generator=<datalad.runner.nonasyncrunner._ResultGenerator object at 0xffffab18e6d0>, last_request=('http://127.0.0.1:42139/udir/c.dat', 'c'), output_proc=<function readline_json at 0xffffa9ce4fe0>, path=/tmp/datalad_temp_test_addurls9bfm0zuv, return_code=0, runner=None, stderr_output=b'', stdin_queue=<queue.Queue object at 0xffffab3699a0>, timeout=None, wait_timed_out=False)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'annex', 'addurl', '--with-files', '--json', '--json-error-messages', '--batch'] (protocol_class=BatchedCommandProtocol) (cwd=/tmp/datalad_temp_test_addurls9bfm0zuv)
DEBUG datalad.interface.results:results.py:277 received JSON result from annex: {'command': 'addurl', 'error-messages': [], 'file': 'a', 'input': ['http://127.0.0.1:42139/udir/a.dat a'], 'key': 'MD5E-s9--3fb7c40c70b0ed19da713bd69ee12014', 'note': 'to a', 'success': True}
INFO datalad:log.py:432 Adding URLs: processed result for /tmp/datalad_temp_test_addurls9bfm0zuv/a
DEBUG datalad.parallel:parallel.py:331 Adding {'action': 'addurl', 'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/a', 'annexkey': 'MD5E-s9--3fb7c40c70b0ed19da713bd69ee12014', 'message': 'to a'} to queue
DEBUG datalad.local.addurls:addurls.py:1040 Adding URLs to b in /tmp/datalad_temp_test_addurls9bfm0zuv
DEBUG datalad.local.addurls:addurls.py:1051 Removing /tmp/datalad_temp_test_addurls9bfm0zuv/b
DEBUG datalad.interface.results:results.py:277 received JSON result from annex: {'command': 'addurl', 'error-messages': [], 'file': 'b', 'input': ['http://127.0.0.1:42139/udir/b.dat b'], 'key': 'MD5E-s9--71dd3e865d708f8f8e971309096cd676', 'note': 'to b', 'success': True}
INFO datalad:log.py:432 Adding URLs: processed result for /tmp/datalad_temp_test_addurls9bfm0zuv/b
DEBUG datalad.parallel:parallel.py:331 Adding {'action': 'addurl', 'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/b', 'annexkey': 'MD5E-s9--71dd3e865d708f8f8e971309096cd676', 'message': 'to b'} to queue
DEBUG datalad.local.addurls:addurls.py:1040 Adding URLs to c in /tmp/datalad_temp_test_addurls9bfm0zuv
DEBUG datalad.local.addurls:addurls.py:1051 Removing /tmp/datalad_temp_test_addurls9bfm0zuv/c
DEBUG datalad.interface.results:results.py:277 received JSON result from annex: {'command': 'addurl', 'error-messages': [], 'file': 'c', 'input': ['http://127.0.0.1:42139/udir/c.dat c'], 'key': 'MD5E-s9--9b72648021b70b8c522642e4490d7ac3', 'note': 'to c', 'success': True}
INFO datalad:log.py:432 Adding URLs: processed result for /tmp/datalad_temp_test_addurls9bfm0zuv/c
DEBUG datalad.parallel:parallel.py:331 Adding {'action': 'addurl', 'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/c', 'annexkey': 'MD5E-s9--9b72648021b70b8c522642e4490d7ac3', 'message': 'to c'} to queue
DEBUG datalad.local.addurls:addurls.py:1077 Adding metadata to a in /tmp/datalad_temp_test_addurls9bfm0zuv
DEBUG datalad.parallel:parallel.py:398 Got {'action': 'addurl', 'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/a', 'annexkey': 'MD5E-s9--3fb7c40c70b0ed19da713bd69ee12014', 'message': 'to a'} from consumer_queue
INFO datalad.local.addurls:log.py:432
INFO datalad.local.addurls:log.py:432 Total: processed result for /tmp/datalad_temp_test_addurls9bfm0zuv/a
DEBUG datalad.local.addurls:utils.py:368 to a [addurl(/tmp/datalad_temp_test_addurls9bfm0zuv/a)]
DEBUG datalad.parallel:parallel.py:398 Got {'action': 'addurl', 'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/b', 'annexkey': 'MD5E-s9--71dd3e865d708f8f8e971309096cd676', 'message': 'to b'} from consumer_queue
INFO datalad.local.addurls:log.py:432 Total: processed result for /tmp/datalad_temp_test_addurls9bfm0zuv/b
DEBUG datalad.local.addurls:utils.py:368 to b [addurl(/tmp/datalad_temp_test_addurls9bfm0zuv/b)]
DEBUG datalad.parallel:parallel.py:398 Got {'action': 'addurl', 'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/c', 'annexkey': 'MD5E-s9--9b72648021b70b8c522642e4490d7ac3', 'message': 'to c'} from consumer_queue
INFO datalad.local.addurls:log.py:432 Total: processed result for /tmp/datalad_temp_test_addurls9bfm0zuv/c
DEBUG datalad.local.addurls:utils.py:368 to c [addurl(/tmp/datalad_temp_test_addurls9bfm0zuv/c)]
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', '-c', 'annex.alwayscommit=false', 'annex', 'metadata', '-s', 'md5sum+=3fb7c40c70b0ed19da713bd69ee12014', '-s', 'name+=a', '-s', 'size+=9', '-s', 'subdir+=foo', '--json', '--json-error-messages', '-c', 'annex.dotfiles=true', '--', 'a'] (protocol_class=AnnexJsonProtocol) (cwd=/tmp/datalad_temp_test_addurls9bfm0zuv)
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', '-c', 'annex.alwayscommit=false', 'annex', 'metadata', '-s', 'md5sum+=3fb7c40c70b0ed19da713bd69ee12014', '-s', 'name+=a', '-s', 'size+=9', '-s', 'subdir+=foo', '--json', '--json-error-messages', '-c', 'annex.dotfiles=true', '--', 'a'] with status 0
DEBUG datalad.interface.results:results.py:277 received JSON result from annex: {'command': 'metadata', 'error-messages': [], 'fields': {'lastchanged': ['2024-11-16@00-29-35'], 'md5sum': ['3fb7c40c70b0ed19da713bd69ee12014'], 'md5sum-lastchanged': ['2024-11-16@00-29-35'], 'name': ['a'], 'name-lastchanged': ['2024-11-16@00-29-35'], 'size': ['9'], 'size-lastchanged': ['2024-11-16@00-29-35'], 'subdir': ['foo'], 'subdir-lastchanged': ['2024-11-16@00-29-35']}, 'file': 'a', 'input': ['a'], 'key': 'MD5E-s9--3fb7c40c70b0ed19da713bd69ee12014', 'note': 'lastchanged=2024-11-16@00-29-35\nmd5sum=3fb7c40c70b0ed19da713bd69ee12014\nmd5sum-lastchanged=2024-11-16@00-29-35\nname=a\nname-lastchanged=2024-11-16@00-29-35\nsize=9\nsize-lastchanged=2024-11-16@00-29-35\nsubdir=foo\nsubdir-lastchanged=2024-11-16@00-29-35\n', 'success': True}
DEBUG datalad.parallel:parallel.py:331 Adding {'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/a', 'action': 'metadata', 'annexkey': 'MD5E-s9--3fb7c40c70b0ed19da713bd69ee12014', 'metadata': {'md5sum': '3fb7c40c70b0ed19da713bd69ee12014', 'name': 'a', 'size': '9', 'subdir': 'foo'}} to queue
DEBUG datalad.local.addurls:addurls.py:1077 Adding metadata to b in /tmp/datalad_temp_test_addurls9bfm0zuv
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', '-c', 'annex.alwayscommit=false', 'annex', 'metadata', '-s', 'name+=b', '-s', 'subdir+=bar', '--json', '--json-error-messages', '-c', 'annex.dotfiles=true', '--', 'b'] (protocol_class=AnnexJsonProtocol) (cwd=/tmp/datalad_temp_test_addurls9bfm0zuv)
DEBUG datalad.parallel:parallel.py:398 Got {'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/a', 'action': 'metadata', 'annexkey': 'MD5E-s9--3fb7c40c70b0ed19da713bd69ee12014', 'metadata': {'md5sum': '3fb7c40c70b0ed19da713bd69ee12014', 'name': 'a', 'size': '9', 'subdir': 'foo'}} from consumer_queue
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', '-c', 'annex.alwayscommit=false', 'annex', 'metadata', '-s', 'name+=b', '-s', 'subdir+=bar', '--json', '--json-error-messages', '-c', 'annex.dotfiles=true', '--', 'b'] with status 0
DEBUG datalad.interface.results:results.py:277 received JSON result from annex: {'command': 'metadata', 'error-messages': [], 'fields': {'lastchanged': ['2024-11-16@00-29-35'], 'name': ['b'], 'name-lastchanged': ['2024-11-16@00-29-35'], 'subdir': ['bar'], 'subdir-lastchanged': ['2024-11-16@00-29-35']}, 'file': 'b', 'input': ['b'], 'key': 'MD5E-s9--71dd3e865d708f8f8e971309096cd676', 'note': 'lastchanged=2024-11-16@00-29-35\nname=b\nname-lastchanged=2024-11-16@00-29-35\nsubdir=bar\nsubdir-lastchanged=2024-11-16@00-29-35\n', 'success': True}
DEBUG datalad.parallel:parallel.py:331 Adding {'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/b', 'action': 'metadata', 'annexkey': 'MD5E-s9--71dd3e865d708f8f8e971309096cd676', 'metadata': {'name': 'b', 'subdir': 'bar'}} to queue
DEBUG datalad.local.addurls:addurls.py:1077 Adding metadata to c in /tmp/datalad_temp_test_addurls9bfm0zuv
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', '-c', 'annex.alwayscommit=false', 'annex', 'metadata', '-s', 'md5sum+=9b72648021b70b8c522642e4490d7ac3', '-s', 'name+=c', '-s', 'size+=9', '-s', 'subdir+=foo', '--json', '--json-error-messages', '-c', 'annex.dotfiles=true', '--', 'c'] (protocol_class=AnnexJsonProtocol) (cwd=/tmp/datalad_temp_test_addurls9bfm0zuv)
DEBUG datalad.parallel:parallel.py:398 Got {'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/b', 'action': 'metadata', 'annexkey': 'MD5E-s9--71dd3e865d708f8f8e971309096cd676', 'metadata': {'name': 'b', 'subdir': 'bar'}} from consumer_queue
DEBUG datalad.runner.runner:runner.py:231 Finished ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', '-c', 'annex.alwayscommit=false', 'annex', 'metadata', '-s', 'md5sum+=9b72648021b70b8c522642e4490d7ac3', '-s', 'name+=c', '-s', 'size+=9', '-s', 'subdir+=foo', '--json', '--json-error-messages', '-c', 'annex.dotfiles=true', '--', 'c'] with status 0
DEBUG datalad.interface.results:results.py:277 received JSON result from annex: {'command': 'metadata', 'error-messages': [], 'fields': {'lastchanged': ['2024-11-16@00-29-35'], 'md5sum': ['9b72648021b70b8c522642e4490d7ac3'], 'md5sum-lastchanged': ['2024-11-16@00-29-35'], 'name': ['c'], 'name-lastchanged': ['2024-11-16@00-29-35'], 'size': ['9'], 'size-lastchanged': ['2024-11-16@00-29-35'], 'subdir': ['foo'], 'subdir-lastchanged': ['2024-11-16@00-29-35']}, 'file': 'c', 'input': ['c'], 'key': 'MD5E-s9--9b72648021b70b8c522642e4490d7ac3', 'note': 'lastchanged=2024-11-16@00-29-35\nmd5sum=9b72648021b70b8c522642e4490d7ac3\nmd5sum-lastchanged=2024-11-16@00-29-35\nname=c\nname-lastchanged=2024-11-16@00-29-35\nsize=9\nsize-lastchanged=2024-11-16@00-29-35\nsubdir=foo\nsubdir-lastchanged=2024-11-16@00-29-35\n', 'success': True}
DEBUG datalad.parallel:parallel.py:331 Adding {'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/c', 'action': 'metadata', 'annexkey': 'MD5E-s9--9b72648021b70b8c522642e4490d7ac3', 'metadata': {'md5sum': '9b72648021b70b8c522642e4490d7ac3', 'name': 'c', 'size': '9', 'subdir': 'foo'}} to queue
INFO datalad:log.py:432 Adding URLs: done
DEBUG datalad.parallel:parallel.py:398 Got {'type': 'file', 'logger': <Logger datalad.local.addurls (DEBUG)>, 'status': 'ok', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv/c', 'action': 'metadata', 'annexkey': 'MD5E-s9--9b72648021b70b8c522642e4490d7ac3', 'metadata': {'md5sum': '9b72648021b70b8c522642e4490d7ac3', 'name': 'c', 'size': '9', 'subdir': 'foo'}} from consumer_queue
DEBUG datalad.parallel:parallel.py:464 Future for '' is done
DEBUG datalad.parallel:parallel.py:205 Shutting down <concurrent.futures.thread.ThreadPoolExecutor object at 0xffffab3ef750> with 0 futures. Reason: None
DEBUG datalad.parallel:parallel.py:234 Finished shutdown with force=True due to exception=None
INFO datalad.local.addurls:log.py:432 Total: done
DEBUG datalad.parallel:parallel.py:205 Shutting down None with 0 futures. Reason: None
DEBUG datalad.parallel:parallel.py:234 Finished shutdown with force=True due to exception=None
DEBUG datalad.utils:utils.py:2724 Determined class of decorated function: <class 'datalad.core.local.save.Save'>
DEBUG datalad.dataset:dataset.py:595 Resolved dataset to save: /tmp/datalad_temp_test_addurls9bfm0zuv
DEBUG datalad.utils:utils.py:2724 Determined class of decorated function: <class 'datalad.core.local.status.Status'>
DEBUG datalad.dataset:dataset.py:595 Resolved dataset to report status: /tmp/datalad_temp_test_addurls9bfm0zuv
DEBUG datalad.core.local.status:status.py:158 Querying AnnexRepo(/tmp/datalad_temp_test_addurls9bfm0zuv).diffstatus() for paths: []
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'rev-parse', '--quiet', '--verify', 'HEAD^{commit}'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_addurls9bfm0zuv)
DEBUG datalad.gitrepo:gitrepo.py:2843 AnnexRepo(/tmp/datalad_temp_test_addurls9bfm0zuv).get_content_info(...)
DEBUG datalad.gitrepo:gitrepo.py:2899 Query repo: ['ls-files', '--stage', '-z', '--exclude-standard', '-o']
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'ls-files', '--stage', '-z', '--exclude-standard', '-o'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_addurls9bfm0zuv)
DEBUG datalad.gitrepo:gitrepo.py:2910 Done query repo: ['ls-files', '--stage', '-z', '--exclude-standard', '-o']
DEBUG datalad.gitrepo:gitrepo.py:2918 Done AnnexRepo(/tmp/datalad_temp_test_addurls9bfm0zuv).get_content_info(...)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'ls-files', '-z', '-m', '-d'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_addurls9bfm0zuv)
DEBUG datalad.gitrepo:gitrepo.py:2843 AnnexRepo(/tmp/datalad_temp_test_addurls9bfm0zuv).get_content_info(...)
DEBUG datalad.gitrepo:gitrepo.py:2899 Query repo: ['ls-tree', 'HEAD', '-z', '-r', '--full-tree', '-l']
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_test_addurls9bfm0zuv)
DEBUG datalad.gitrepo:gitrepo.py:2910 Done query repo: ['ls-tree', 'HEAD', '-z', '-r', '--full-tree', '-l']
DEBUG datalad.gitrepo:gitrepo.py:2918 Done AnnexRepo(/tmp/datalad_temp_test_addurls9bfm0zuv).get_content_info(...)
DEBUG datalad.core.local.save:save.py:255 Determined 1 datasets for saving from input arguments
INFO datalad.core.local.save:log.py:432 Total: starting
DEBUG datalad.parallel:parallel.py:343 Initiating ThreadPoolExecutor with 1 jobs
DEBUG datalad.parallel:parallel.py:387 Submitting worker future for ('/tmp/datalad_temp_test_addurls9bfm0zuv', {PosixPath('/tmp/datalad_temp_test_addurls9bfm0zuv/.datalad/.gitattributes'): {'type': 'file', 'gitshasum': '5928185081410e652fcb8b4446fae9caf43288e5', 'bytesize': 32, 'prev_gitshasum': '5928185081410e652fcb8b4446fae9caf43288e5', 'state': 'clean'}, PosixPath('/tmp/datalad_temp_test_addurls9bfm0zuv/.datalad/config'): {'type': 'file', 'gitshasum': 'd29415326b7095379cffb9a1b87442de1c9fdc01', 'bytesize': 63, 'prev_gitshasum': 'd29415326b7095379cffb9a1b87442de1c9fdc01', 'state': 'clean'}, PosixPath('/tmp/datalad_temp_test_addurls9bfm0zuv/.gitattributes'): {'type': 'file', 'gitshasum': 'af926ef0c359556ac1d36d71f7e173d97b893ff2', 'bytesize': 55, 'prev_gitshasum': 'af926ef0c359556ac1d36d71f7e173d97b893ff2', 'state': 'clean'}, PosixPath('/tmp/datalad_temp_test_addurls9bfm0zuv/a'): {'type': 'symlink', 'gitshasum': 'c8cace11c7914c5a85b1c66f42b1bf625e0c156a', 'prev_gitshasum': 'c8cace11c7914c5a85b1c66f42b1bf625e0c156a', 'state': 'clean'}, PosixPath('/tmp/datalad_temp_test_addurls9bfm0zuv/b'): {'type': 'symlink', 'gitshasum': 'cf23807105ac89c9012cb555393941db72376318', 'prev_gitshasum': 'cf23807105ac89c9012cb555393941db72376318', 'state': 'clean'}, PosixPath('/tmp/datalad_temp_test_addurls9bfm0zuv/c'): {'type': 'symlink', 'gitshasum': '1d1fc28e126f43260b75849210557befd006afe6', 'prev_gitshasum': '1d1fc28e126f43260b75849210557befd006afe6', 'state': 'clean'}})
DEBUG datalad.parallel:parallel.py:327 Got consumer worker which returned a generator <generator object Save.__call__.<locals>.save_ds at 0xffff9b9025c0>
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'rev-parse', '--quiet', '--verify', 'HEAD^{commit}'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_addurls9bfm0zuv)
DEBUG datalad.runner.runner:runner.py:207 Run ['git', '-c', 'diff.ignoreSubmodules=none', '-c', 'core.quotepath=false', 'rev-parse', '--quiet', '--verify', 'HEAD^{commit}'] (protocol_class=GeneratorStdOutErrCapture) (cwd=/tmp/datalad_temp_test_addurls9bfm0zuv)
DEBUG datalad.parallel:parallel.py:331 Adding {'action': 'save', 'type': 'dataset', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv', 'refds': '/tmp/datalad_temp_test_addurls9bfm0zuv', 'status': 'notneeded', 'logger': <Logger datalad.core.local.save (DEBUG)>} to queue
DEBUG datalad.parallel:parallel.py:398 Got {'action': 'save', 'type': 'dataset', 'path': '/tmp/datalad_temp_test_addurls9bfm0zuv', 'refds': '/tmp/datalad_temp_test_addurls9bfm0zuv', 'status': 'notneeded', 'logger': <Logger datalad.core.local.save (DEBUG)>} from consumer_queue
INFO datalad.core.local.save:log.py:432
INFO datalad.core.local.save:log.py:432 Total: processed result for /tmp/datalad_temp_test_addurls9bfm0zuv
DEBUG datalad.parallel:parallel.py:464 Future for '/tmp/datalad_temp_test_addurls9bfm0zuv' is done
DEBUG datalad.parallel:parallel.py:205 Shutting down <concurrent.futures.thread.ThreadPoolExecutor object at 0xffffab3ec370> with 0 futures. Reason: None
DEBUG datalad.parallel:parallel.py:234 Finished shutdown with force=True due to exception=None
INFO datalad.core.local.save:log.py:432 Total: done
DEBUG datalad.parallel:parallel.py:205 Shutting down None with 0 futures. Reason: None
DEBUG datalad.parallel:parallel.py:234 Finished shutdown with force=True due to exception=None
__________________ TestAddurls.test_addurls_url_filename_fail __________________
urlfile = '/tmp/datalad_temp_kv1xer44/test_addurls.json'
urlformat = '{url}/nofilename/', filenameformat = '{_url0}/{_url_filename}'
@staticmethod
@datasetmethod(name='addurls')
@eval_results
def __call__(urlfile, urlformat, filenameformat,
*,
dataset=None,
input_type="ext", exclude_autometa=None, meta=None, key=None,
message=None, dry_run=False, fast=False, ifexists=None,
missing_value=None, save=True, version_urls=False,
cfg_proc=None, jobs=None, drop_after=False,
on_collision="error"):
# This was to work around gh-2269. That's fixed, but changing the
# positional argument names now would cause breakage for any callers
# that used these arguments as keyword arguments.
url_file = urlfile
url_format, filename_format = urlformat, filenameformat
from requests.exceptions import RequestException
from datalad.distribution.dataset import (
Dataset,
require_dataset,
)
from datalad.support.annexrepo import AnnexRepo
lgr = logging.getLogger("datalad.local.addurls")
ds = require_dataset(dataset, check_installed=False)
repo = ds.repo
st_dict = get_status_dict(action="addurls", ds=ds)
if repo and not isinstance(repo, AnnexRepo):
yield dict(st_dict, status="error", message="not an annex repo")
return
if key:
old_examinekey = external_versions["cmd:annex"] < "8.20201116"
if old_examinekey:
old_msg = None
if key.startswith("et:"):
old_msg = ("et: prefix of `key` option requires "
"git-annex 8.20201116 or later")
elif repo.is_managed_branch():
old_msg = ("Using `key` option on adjusted branch "
"requires git-annex 8.20201116 or later")
if old_msg:
yield dict(st_dict, status="error", message=old_msg)
return
if isinstance(url_file, str):
if url_file != "-":
url_file = str(resolve_path(url_file, dataset))
try:
records, colidx_to_name = _read_from_file(
url_file, input_type)
except ValueError as exc:
ce = CapturedException(exc)
yield get_status_dict(action="addurls",
ds=ds,
status="error",
message=str(ce),
exception=ce)
return
displayed_source = "'{}'".format(urlfile)
else:
displayed_source = "<records>"
records = ensure_list(url_file)
colidx_to_name = {}
rows = None
if records:
try:
> rows, subpaths = extract(records, colidx_to_name,
url_format, filename_format,
exclude_autometa, meta, key,
dry_run,
missing_value)
datalad/local/addurls.py:1405:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/local/addurls.py:818: in extract
add_extra_filename_values(filename_format, rows_with_url,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def add_extra_filename_values(filename_format, rows, urls, dry_run):
"""Extend `rows` with values for special formatting fields.
"""
file_fields = list(get_fmt_names(filename_format))
if any(i.startswith("_url") for i in file_fields):
for row, url in zip(rows, urls):
row.update(get_url_parts(url))
if any(i.startswith("_url_filename") for i in file_fields):
if dry_run: # Don't waste time making requests.
dummy = get_file_parts("BASE.EXT", "_url_filename")
for idx, row in enumerate(rows):
row.update(
{k: v + str(idx) for k, v in dummy.items()})
else:
num_urls = len(urls)
log_progress(lgr.info, "addurls_requestnames",
"Requesting file names for %d URLs", num_urls,
label="Requesting names", total=num_urls,
unit=" Files")
for row, url in zip(rows, urls):
# If we run into any issues here, we're just going to raise an
# exception and then abort inside dlplugin. It'd be good to
# disentangle this from `extract` so that we could yield an
# individual error, drop the row, and keep going.
filename = get_url_filename(url)
if filename:
row.update(get_file_parts(filename, "_url_filename"))
else:
> raise ValueError(
"{} does not contain a filename".format(url))
E ValueError: http://127.0.0.1:42139/udir/a.dat/nofilename/ does not contain a filename
datalad/local/addurls.py:582: ValueError
During handling of the above exception, another exception occurred:
self = <datalad.local.tests.test_addurls.TestAddurls object at 0xffffa8a05130>
path = '/tmp/datalad_temp_test_addurls_url_filename_failbgg8278_'
@with_tempfile(mkdir=True)
def test_addurls_url_filename_fail(self=None, path=None):
ds = Dataset(path).create(force=True)
> assert_raises(IncompleteResultsError,
ds.addurls,
self.json_file,
"{url}/nofilename/",
"{_url0}/{_url_filename}",
result_renderer='disabled')
datalad/local/tests/test_addurls.py:739:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/local/addurls.py:1412: in __call__
yield dict(st_dict, status="error", message=str(ce),
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa855f890>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
________________ TestAddurls.test_addurls_url_special_key_fail _________________
self = <datalad.local.addurls.RepFormatter object at 0xffffab3814e0>
key = '_url4'
args = ({'_repindex': 0, '_url0': 'udir', '_url1': 'a.dat', '_url_basename': 'a.dat', ...},)
kwargs = {}
def get_value(self, key, args, kwargs):
"""Look for key's value in `args[0]` mapping first.
"""
# FIXME: This approach will fail for keys that contain "!" and
# ":" because they'll be interpreted as formatting flags.
data = args[0]
name = key
try:
key_int = int(key)
except ValueError:
pass
else:
name = self.idx_to_name[key_int]
try:
> value = data[name]
E KeyError: '_url4'
datalad/local/addurls.py:113: KeyError
During handling of the above exception, another exception occurred:
def _format_filenames(format_fn, rows, row_infos):
subpaths = set()
for row, info in zip(rows, row_infos):
try:
> filename = format_fn(row)
datalad/local/addurls.py:486:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/local/addurls.py:139: in format
result = super(RepFormatter, self).format(*args, **kwargs)
datalad/local/addurls.py:95: in format
return super(Formatter, self).format(format_string, *args, **kwargs)
/usr/lib/python3.13/string.py:190: in format
return self.vformat(format_string, args, kwargs)
/usr/lib/python3.13/string.py:194: in vformat
result, _ = self._vformat(format_string, args, kwargs, used_args, 2)
/usr/lib/python3.13/string.py:234: in _vformat
obj, arg_used = self.get_field(field_name, args, kwargs)
/usr/lib/python3.13/string.py:299: in get_field
obj = self.get_value(first, args, kwargs)
datalad/local/addurls.py:150: in get_value
return super(RepFormatter, self).get_value(key, args, kwargs)
datalad/local/addurls.py:115: in get_value
return super(Formatter, self).get_value(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <datalad.local.addurls.RepFormatter object at 0xffffab3814e0>
key = '_url4'
args = ({'_repindex': 0, '_url0': 'udir', '_url1': 'a.dat', '_url_basename': 'a.dat', ...},)
kwargs = {}
def get_value(self, key, args, kwargs):
if isinstance(key, int):
return args[key]
else:
> return kwargs[key]
E KeyError: '_url4'
/usr/lib/python3.13/string.py:256: KeyError
During handling of the above exception, another exception occurred:
urlfile = '/tmp/datalad_temp_kv1xer44/test_addurls.json', urlformat = '{url}'
filenameformat = '{_url4}/{_url_filename}'
@staticmethod
@datasetmethod(name='addurls')
@eval_results
def __call__(urlfile, urlformat, filenameformat,
*,
dataset=None,
input_type="ext", exclude_autometa=None, meta=None, key=None,
message=None, dry_run=False, fast=False, ifexists=None,
missing_value=None, save=True, version_urls=False,
cfg_proc=None, jobs=None, drop_after=False,
on_collision="error"):
# This was to work around gh-2269. That's fixed, but changing the
# positional argument names now would cause breakage for any callers
# that used these arguments as keyword arguments.
url_file = urlfile
url_format, filename_format = urlformat, filenameformat
from requests.exceptions import RequestException
from datalad.distribution.dataset import (
Dataset,
require_dataset,
)
from datalad.support.annexrepo import AnnexRepo
lgr = logging.getLogger("datalad.local.addurls")
ds = require_dataset(dataset, check_installed=False)
repo = ds.repo
st_dict = get_status_dict(action="addurls", ds=ds)
if repo and not isinstance(repo, AnnexRepo):
yield dict(st_dict, status="error", message="not an annex repo")
return
if key:
old_examinekey = external_versions["cmd:annex"] < "8.20201116"
if old_examinekey:
old_msg = None
if key.startswith("et:"):
old_msg = ("et: prefix of `key` option requires "
"git-annex 8.20201116 or later")
elif repo.is_managed_branch():
old_msg = ("Using `key` option on adjusted branch "
"requires git-annex 8.20201116 or later")
if old_msg:
yield dict(st_dict, status="error", message=old_msg)
return
if isinstance(url_file, str):
if url_file != "-":
url_file = str(resolve_path(url_file, dataset))
try:
records, colidx_to_name = _read_from_file(
url_file, input_type)
except ValueError as exc:
ce = CapturedException(exc)
yield get_status_dict(action="addurls",
ds=ds,
status="error",
message=str(ce),
exception=ce)
return
displayed_source = "'{}'".format(urlfile)
else:
displayed_source = "<records>"
records = ensure_list(url_file)
colidx_to_name = {}
rows = None
if records:
try:
> rows, subpaths = extract(records, colidx_to_name,
url_format, filename_format,
exclude_autometa, meta, key,
dry_run,
missing_value)
datalad/local/addurls.py:1405:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/local/addurls.py:826: in extract
subpaths = _format_filenames(format_filename, rows_with_url, infos)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _format_filenames(format_fn, rows, row_infos):
subpaths = set()
for row, info in zip(rows, row_infos):
try:
filename = format_fn(row)
except KeyError as exc:
> raise _get_placeholder_exception(
exc, "file name", row)
E ValueError: Special key '_url4' could not be constructed for row: {'url': 'http://127.0.0.1:42139/udir/a.dat', 'name': 'a', 'subdir': 'foo', 'md5sum': '3fb7c40c70b0ed19da713bd69ee12014', 'size': '9'}
datalad/local/addurls.py:488: ValueError
During handling of the above exception, another exception occurred:
self = <datalad.local.tests.test_addurls.TestAddurls object at 0xffffa8a24830>
path = '/tmp/datalad_temp_test_addurls_url_special_key_failh5kpcgt0'
@with_tempfile(mkdir=True)
def test_addurls_url_special_key_fail(self=None, path=None):
ds = Dataset(path).create(force=True)
> res1 = ds.addurls(self.json_file, "{url}", "{_url4}/{_url_filename}",
on_failure="ignore", result_renderer='disabled')
datalad/local/tests/test_addurls.py:750:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/local/addurls.py:1412: in __call__
yield dict(st_dict, status="error", message=str(ce),
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa855f590>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
_______________________ TestAddurls.test_addurls_version _______________________
def version_fn(url):
if url.endswith("b.dat"):
> raise ValueError("Scheme error")
E ValueError: Scheme error
datalad/local/tests/test_addurls.py:792: ValueError
During handling of the above exception, another exception occurred:
self = <datalad.support.parallel.ProducerConsumerProgressLog object at 0xffffa8533650>
jobs = 1
def _iter_threads(self, jobs):
self._interrupted = False
self._producer_finished = False
self._producer_exception = None
self._producer_interrupt = None
# To allow feeding producer queue with more entries, possibly from consumer!
self._producer_queue = producer_queue = Queue()
consumer_queue = Queue()
def producer_worker():
"""That is the one which interrogates producer and updates .total"""
try:
for value in self._producer_iter:
if self._producer_interrupt:
raise InterruptedError("Producer thread was interrupted due to %s" % self._producer_interrupt)
self.add_to_producer_queue(value)
except InterruptedError:
pass # There is some outside exception which will be raised
except BaseException as e:
self._producer_exception = e
finally:
self._producer_finished = True
def consumer_worker(callable, *args, **kwargs):
"""Since jobs could return a generator and we cannot really "inspect" for that
"""
res = callable(*args, **kwargs)
if inspect.isgenerator(res):
lgr.debug("Got consumer worker which returned a generator %s", res)
didgood = False
for r in res:
didgood = True
lgr.debug("Adding %s to queue", r)
consumer_queue.put(r)
if not didgood:
lgr.error("Nothing was obtained from %s :-(", res)
else:
lgr.debug("Got straight result %s, not a generator", res)
consumer_queue.put(res)
self._producer_thread = Thread(target=producer_worker)
self._producer_thread.start()
self._futures = futures = {}
lgr.debug("Initiating ThreadPoolExecutor with %d jobs", jobs)
# we will increase sleep_time when doing nothing useful
sleeper = Sleeper()
interrupted_by_exception = None
with concurrent.futures.ThreadPoolExecutor(jobs) as executor:
self._executor = executor
# yield from the producer_queue (.total and .finished could be accessed meanwhile)
while True:
try:
done_useful = False
if self.reraise_immediately and self._producer_exception and not interrupted_by_exception:
# so we have a chance to exit gracefully
# No point to reraise if there is already an exception which was raised
# which might have even been this one
lgr.debug("Reraising an exception from producer as soon as we found it")
raise self._producer_exception
if (self._producer_finished and
not futures and
consumer_queue.empty() and
producer_queue.empty()):
# This will let us not "escape" the while loop and reraise any possible exception
# within the loop if we have any.
# Otherwise we might see "RuntimeError: generator ignored GeneratorExit"
# when e.g. we did continue upon interrupted_by_exception, and then
# no other subsequent exception was raised and we left the loop
raise _FinalShutdown()
# important! We are using threads, so worker threads will be sharing CPU time
# with this master thread. For it to become efficient, we should consume as much
# as possible from producer asap and push it to executor. So drain the queue
while not (producer_queue.empty() or interrupted_by_exception):
done_useful = True
try:
job_args = producer_queue.get() # timeout=0.001)
job_key = self.producer_future_key(job_args) if self.producer_future_key else job_args
if self.safe_to_consume:
# Sleep a little if we are not yet ready
# TODO: add some .debug level reporting based on elapsed time
# IIRC I did smth like growing exponentially delays somewhere (dandi?)
while not self.safe_to_consume(futures, job_key):
self._pop_done_futures(lgr) or sleeper()
# Current implementation, to provide depchecking, relies on unique
# args for the job
assert job_key not in futures
lgr.debug("Submitting worker future for %s", job_args)
futures[job_key] = executor.submit(consumer_worker, self.consumer, job_args)
except Empty:
pass
# check active futures
if not consumer_queue.empty():
done_useful = True
# ATM we do not bother of some "in order" reporting
# Just report as soon as any new record arrives
res = consumer_queue.get()
lgr.debug("Got %s from consumer_queue", res)
yield res
> done_useful |= self._pop_done_futures(lgr)
datalad/support/parallel.py:401:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/parallel.py:463: in _pop_done_futures
raise exception
/usr/lib/python3.13/concurrent/futures/thread.py:58: in run
result = self.fn(*self.args, **self.kwargs)
datalad/support/parallel.py:329: in consumer_worker
for r in res:
datalad/local/addurls.py:1514: in addurls_to_ds
lgr.warning("error getting version of %s: %s", row["url"], ce)
/usr/lib/python3.13/logging/__init__.py:1531: in warning
self._log(WARNING, msg, args, **kwargs)
/usr/lib/python3.13/logging/__init__.py:1664: in _log
self.handle(record)
/usr/lib/python3.13/logging/__init__.py:1680: in handle
self.callHandlers(record)
/usr/lib/python3.13/logging/__init__.py:1736: in callHandlers
hdlr.handle(record)
/usr/lib/python3.13/logging/__init__.py:1026: in handle
self.emit(record)
/usr/lib/python3.13/logging/__init__.py:1158: in emit
self.handleError(record)
/usr/lib/python3.13/logging/__init__.py:1150: in emit
msg = self.format(record)
/usr/lib/python3.13/logging/__init__.py:998: in format
return fmt.format(record)
/usr/lib/python3.13/logging/__init__.py:711: in format
record.message = record.getMessage()
/usr/lib/python3.13/logging/__init__.py:400: in getMessage
msg = msg % self.args
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
During handling of the above exception, another exception occurred:
self = <datalad.local.tests.test_addurls.TestAddurls object at 0xffffa8a72bd0>
path = '/tmp/datalad_temp_test_addurls_versionmivj9ylm'
@with_tempfile(mkdir=True)
def test_addurls_version(self=None, path=None):
ds = Dataset(path).create(force=True)
def version_fn(url):
if url.endswith("b.dat"):
raise ValueError("Scheme error")
return url + ".v1"
with patch("datalad.local.addurls.get_versioned_url", version_fn):
with swallow_logs(new_level=logging.WARNING) as cml:
> ds.addurls(self.json_file, "{url}", "{name}",
version_urls=True, result_renderer='disabled')
datalad/local/tests/test_addurls.py:797:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/local/addurls.py:1562: in __call__
yield from ProducerConsumerProgressLog(
datalad/support/parallel.py:535: in __iter__
for res in super().__iter__():
datalad/support/parallel.py:265: in __iter__
yield from self._iter_threads(self._jobs)
datalad/support/parallel.py:435: in _iter_threads
lgr.warning(
/usr/lib/python3.13/logging/__init__.py:1531: in warning
self._log(WARNING, msg, args, **kwargs)
/usr/lib/python3.13/logging/__init__.py:1664: in _log
self.handle(record)
/usr/lib/python3.13/logging/__init__.py:1680: in handle
self.callHandlers(record)
/usr/lib/python3.13/logging/__init__.py:1736: in callHandlers
hdlr.handle(record)
/usr/lib/python3.13/logging/__init__.py:1026: in handle
self.emit(record)
/usr/lib/python3/dist-packages/_pytest/logging.py:386: in emit
super().emit(record)
/usr/lib/python3.13/logging/__init__.py:1158: in emit
self.handleError(record)
/usr/lib/python3.13/logging/__init__.py:1150: in emit
msg = self.format(record)
/usr/lib/python3.13/logging/__init__.py:998: in format
return fmt.format(record)
/usr/lib/python3/dist-packages/_pytest/logging.py:139: in format
return super().format(record)
/usr/lib/python3.13/logging/__init__.py:711: in format
record.message = record.getMessage()
/usr/lib/python3.13/logging/__init__.py:400: in getMessage
msg = msg % self.args
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa855e510>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
____________________ TestAddurls.test_addurls_invalid_input ____________________
def _read(stream, input_type):
if input_type in ["csv", "tsv"]:
import csv
csvrows = csv.reader(stream,
delimiter="\t" if input_type == "tsv" else ",")
try:
> headers = next(csvrows)
E StopIteration
datalad/local/addurls.py:390: StopIteration
During handling of the above exception, another exception occurred:
urlfile = '/tmp/datalad_temp_tree_test_addurls_invalid_input82baceo9/in'
urlformat = '{url}', filenameformat = '{name}'
@staticmethod
@datasetmethod(name='addurls')
@eval_results
def __call__(urlfile, urlformat, filenameformat,
*,
dataset=None,
input_type="ext", exclude_autometa=None, meta=None, key=None,
message=None, dry_run=False, fast=False, ifexists=None,
missing_value=None, save=True, version_urls=False,
cfg_proc=None, jobs=None, drop_after=False,
on_collision="error"):
# This was to work around gh-2269. That's fixed, but changing the
# positional argument names now would cause breakage for any callers
# that used these arguments as keyword arguments.
url_file = urlfile
url_format, filename_format = urlformat, filenameformat
from requests.exceptions import RequestException
from datalad.distribution.dataset import (
Dataset,
require_dataset,
)
from datalad.support.annexrepo import AnnexRepo
lgr = logging.getLogger("datalad.local.addurls")
ds = require_dataset(dataset, check_installed=False)
repo = ds.repo
st_dict = get_status_dict(action="addurls", ds=ds)
if repo and not isinstance(repo, AnnexRepo):
yield dict(st_dict, status="error", message="not an annex repo")
return
if key:
old_examinekey = external_versions["cmd:annex"] < "8.20201116"
if old_examinekey:
old_msg = None
if key.startswith("et:"):
old_msg = ("et: prefix of `key` option requires "
"git-annex 8.20201116 or later")
elif repo.is_managed_branch():
old_msg = ("Using `key` option on adjusted branch "
"requires git-annex 8.20201116 or later")
if old_msg:
yield dict(st_dict, status="error", message=old_msg)
return
if isinstance(url_file, str):
if url_file != "-":
url_file = str(resolve_path(url_file, dataset))
try:
> records, colidx_to_name = _read_from_file(
url_file, input_type)
datalad/local/addurls.py:1386:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/local/addurls.py:431: in _read_from_file
records, colidx_to_name = _read(fd, input_type)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _read(stream, input_type):
if input_type in ["csv", "tsv"]:
import csv
csvrows = csv.reader(stream,
delimiter="\t" if input_type == "tsv" else ",")
try:
headers = next(csvrows)
except StopIteration:
> raise ValueError("Failed to read {} rows from {}"
.format(input_type.upper(), stream))
E ValueError: Failed to read CSV rows from <_io.TextIOWrapper name='/tmp/datalad_temp_tree_test_addurls_invalid_input82baceo9/in' mode='r' encoding='UTF-8'>
datalad/local/addurls.py:392: ValueError
During handling of the above exception, another exception occurred:
self = <datalad.local.tests.test_addurls.TestAddurls object at 0xffffa8aeda70>
path = '/tmp/datalad_temp_tree_test_addurls_invalid_input82baceo9'
@with_tree({"in": ""})
def test_addurls_invalid_input(self=None, path=None):
ds = Dataset(path).create(force=True)
in_file = op.join(path, "in")
for in_type in au.INPUT_TYPES:
with assert_raises(IncompleteResultsError) as exc:
> ds.addurls(in_file, "{url}", "{name}", input_type=in_type,
result_renderer='disabled')
datalad/local/tests/test_addurls.py:833:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/local/addurls.py:1393: in __call__
message=str(ce),
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa8258890>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
_______________ TestAddurls.test_addurls_from_key_invalid_format _______________
urlfile = '/tmp/datalad_temp_kv1xer44/test_addurls.json', urlformat = '{url}'
filenameformat = '{name}'
@staticmethod
@datasetmethod(name='addurls')
@eval_results
def __call__(urlfile, urlformat, filenameformat,
*,
dataset=None,
input_type="ext", exclude_autometa=None, meta=None, key=None,
message=None, dry_run=False, fast=False, ifexists=None,
missing_value=None, save=True, version_urls=False,
cfg_proc=None, jobs=None, drop_after=False,
on_collision="error"):
# This was to work around gh-2269. That's fixed, but changing the
# positional argument names now would cause breakage for any callers
# that used these arguments as keyword arguments.
url_file = urlfile
url_format, filename_format = urlformat, filenameformat
from requests.exceptions import RequestException
from datalad.distribution.dataset import (
Dataset,
require_dataset,
)
from datalad.support.annexrepo import AnnexRepo
lgr = logging.getLogger("datalad.local.addurls")
ds = require_dataset(dataset, check_installed=False)
repo = ds.repo
st_dict = get_status_dict(action="addurls", ds=ds)
if repo and not isinstance(repo, AnnexRepo):
yield dict(st_dict, status="error", message="not an annex repo")
return
if key:
old_examinekey = external_versions["cmd:annex"] < "8.20201116"
if old_examinekey:
old_msg = None
if key.startswith("et:"):
old_msg = ("et: prefix of `key` option requires "
"git-annex 8.20201116 or later")
elif repo.is_managed_branch():
old_msg = ("Using `key` option on adjusted branch "
"requires git-annex 8.20201116 or later")
if old_msg:
yield dict(st_dict, status="error", message=old_msg)
return
if isinstance(url_file, str):
if url_file != "-":
url_file = str(resolve_path(url_file, dataset))
try:
records, colidx_to_name = _read_from_file(
url_file, input_type)
except ValueError as exc:
ce = CapturedException(exc)
yield get_status_dict(action="addurls",
ds=ds,
status="error",
message=str(ce),
exception=ce)
return
displayed_source = "'{}'".format(urlfile)
else:
displayed_source = "<records>"
records = ensure_list(url_file)
colidx_to_name = {}
rows = None
if records:
try:
> rows, subpaths = extract(records, colidx_to_name,
url_format, filename_format,
exclude_autometa, meta, key,
dry_run,
missing_value)
datalad/local/addurls.py:1405:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/local/addurls.py:809: in extract
fn(info, row)
datalad/local/addurls.py:793: in set_key
info["key"] = key_parser.parse(row)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def parse(self, row):
"""Format the key with the fields in `row` and parse it.
Returns
-------
A dictionary with the following keys that match their counterparts in
the output of `git annex examinekey --json`: "key" (the full annex
key), "backend", and "keyname". If the key had an "et:" prefix, there
is also a "target_backend" key.
Raises
------
ValueError if the formatted value doesn't look like a valid key
"""
try:
key = self.format_fn(self.format_string, row)
except KeyError as exc:
lgr.warning("Row missing fields for --key: %s", exc)
return {}
if key == self.empty:
lgr.debug("All fields in --key's value are empty in row: %s", row)
# We got the same string that'd we get if all the fields were
# empty, so this doesn't have a key.
return {}
match = self.regexp.match(key)
if match:
info = match.groupdict()
et = info.pop("et", None)
if et:
info["key"] = key[3:] # Drop "et:" from full key.
backend = info["backend"]
if backend.endswith("E"):
info["target_backend"] = backend[:-1]
else:
info["target_backend"] = backend + "E"
else:
info["key"] = key
self._validate_common(info["backend"], info["keyname"])
return info
else:
> raise ValueError(
"Key does not match expected "
"[et:]<backend>[-[CmsS]NNN]--<key> format: {}"
.format(key))
E ValueError: Key does not match expected [et:]<backend>[-[CmsS]NNN]--<key> format: a-which-has-no-double-dash
datalad/local/addurls.py:333: ValueError
During handling of the above exception, another exception occurred:
self = <datalad.local.tests.test_addurls.TestAddurls object at 0xffffa891e4d0>
path = '/tmp/datalad_temp_test_addurls_from_key_invalid_formatoal60btg'
@with_tempfile(mkdir=True)
def test_addurls_from_key_invalid_format(self=None, path=None):
ds = Dataset(path).create(force=True)
for fmt in ["{name}-which-has-no-double-dash",
# Invalid hash length.
"MD5-s{size}--{md5sum}a",
# Invalid hash content.
"MD5-s{size}--" + 32 * "q"]:
with assert_raises(IncompleteResultsError):
> ds.addurls(self.json_file, "{url}", "{name}",
key=fmt, exclude_autometa="*",
result_renderer='disabled')
datalad/local/tests/test_addurls.py:908:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/distribution/dataset.py:507: in apply_func
return f(*args, **kwargs)
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/local/addurls.py:1412: in __call__
yield dict(st_dict, status="error", message=str(ce),
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa855ec90>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
________________________ test_check_dates_invalid_date _________________________
paths = []
@staticmethod
@eval_results
def __call__(paths,
*,
reference_date="@1514764800",
revs=None,
annex="all",
no_tags=False,
older=False):
from datalad.support.repodates import check_dates
which = "older" if older else "newer"
try:
> ref_ts = _parse_date(reference_date)
datalad/local/check_dates.py:158:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/local/check_dates.py:51: in _parse_date
timestamp = timegm(dateutil.parser.parse(date).utctimetuple())
/usr/lib/python3/dist-packages/dateutil/parser/_parser.py:1365: in parse
return DEFAULTPARSER.parse(timestr, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def parse(self, timestr, default=None,
ignoretz=False, tzinfos=None, **kwargs):
"""
Parse the date/time string into a :class:`datetime.datetime` object.
:param timestr:
Any date/time string using the supported formats.
:param default:
The default datetime object, if this is a datetime object and not
``None``, elements specified in ``timestr`` replace elements in the
default object.
:param ignoretz:
If set ``True``, time zones in parsed strings are ignored and a
naive :class:`datetime.datetime` object is returned.
:param tzinfos:
Additional time zone names / aliases which may be present in the
string. This argument maps time zone names (and optionally offsets
from those time zones) to time zones. This parameter can be a
dictionary with timezone aliases mapping time zone names to time
zones or a function taking two parameters (``tzname`` and
``tzoffset``) and returning a time zone.
The timezones to which the names are mapped can be an integer
offset from UTC in seconds or a :class:`tzinfo` object.
.. doctest::
:options: +NORMALIZE_WHITESPACE
>>> from dateutil.parser import parse
>>> from dateutil.tz import gettz
>>> tzinfos = {"BRST": -7200, "CST": gettz("America/Chicago")}
>>> parse("2012-01-19 17:21:00 BRST", tzinfos=tzinfos)
datetime.datetime(2012, 1, 19, 17, 21, tzinfo=tzoffset(u'BRST', -7200))
>>> parse("2012-01-19 17:21:00 CST", tzinfos=tzinfos)
datetime.datetime(2012, 1, 19, 17, 21,
tzinfo=tzfile('/usr/share/zoneinfo/America/Chicago'))
This parameter is ignored if ``ignoretz`` is set.
:param \\*\\*kwargs:
Keyword arguments as passed to ``_parse()``.
:return:
Returns a :class:`datetime.datetime` object or, if the
``fuzzy_with_tokens`` option is ``True``, returns a tuple, the
first element being a :class:`datetime.datetime` object, the second
a tuple containing the fuzzy tokens.
:raises ParserError:
Raised for invalid or unknown string format, if the provided
:class:`tzinfo` is not in a valid format, or if an invalid date
would be created.
:raises TypeError:
Raised for non-string or character stream input.
:raises OverflowError:
Raised if the parsed date exceeds the largest valid C integer on
your system.
"""
if default is None:
default = datetime.datetime.now().replace(hour=0, minute=0,
second=0, microsecond=0)
res, skipped_tokens = self._parse(timestr, **kwargs)
if res is None:
> raise ParserError("Unknown string format: %s", timestr)
E dateutil.parser._parser.ParserError: Unknown string format: not a valid date
/usr/lib/python3/dist-packages/dateutil/parser/_parser.py:640: ParserError
During handling of the above exception, another exception occurred:
def test_check_dates_invalid_date():
skip_if_no_module("dateutil")
with swallow_outputs() as cmo:
> assert_raises(IncompleteResultsError,
check_dates, [],
reference_date="not a valid date",
return_type="list")
datalad/local/tests/test_check_dates.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/local/check_dates.py:164: in __call__
message=str(ce),
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa825b290>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
_________________________ test_download_url_exceptions _________________________
self = <urllib3.connection.HTTPConnection object at 0xffffa815f8a0>
def _new_conn(self) -> socket.socket:
"""Establish a socket connection and set nodelay settings on it.
:return: New socket connection.
"""
try:
> sock = connection.create_connection(
(self._dns_host, self.port),
self.timeout,
source_address=self.source_address,
socket_options=self.socket_options,
)
/usr/lib/python3/dist-packages/urllib3/connection.py:203:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/urllib3/util/connection.py:60: in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
host = 'example.com', port = 80, family = <AddressFamily.AF_UNSPEC: 0>
type = <SocketKind.SOCK_STREAM: 1>, proto = 0, flags = 0
def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
"""Resolve host and port into list of address info entries.
Translate the host/port argument into a sequence of 5-tuples that contain
all the necessary arguments for creating a socket connected to that service.
host is a domain name, a string representation of an IPv4/v6 address or
None. port is a string service name such as 'http', a numeric port number or
None. By passing None as the value of host and port, you can pass NULL to
the underlying C API.
The family, type and proto arguments can be optionally specified in order to
narrow the list of addresses returned. Passing zero as a value for each of
these arguments selects the full range of results.
"""
# We override this function since we want to translate the numeric family
# and socket type values to enum constants.
addrlist = []
> for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E socket.gaierror: [Errno -3] Temporary failure in name resolution
/usr/lib/python3.13/socket.py:975: gaierror
The above exception was the direct cause of the following exception:
self = <urllib3.connectionpool.HTTPConnectionPool object at 0xffffa81d2f90>
method = 'GET', url = '/bogus', body = None
headers = {'User-Agent': 'DataLad/1.1.3 (https://datalad.org; team@datalad.org) python-requests/2.32.3', 'Accept-Encoding': '', 'Accept': '*/*', 'Connection': 'keep-alive'}
retries = Retry(total=0, connect=None, read=False, redirect=None, status=None)
redirect = False, assert_same_host = False
timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None
release_conn = False, chunked = False, body_pos = None, preload_content = False
decode_content = False, response_kw = {}
parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/bogus', query=None, fragment=None)
destination_scheme = None, conn = None, release_this_conn = True
http_tunnel_required = False, err = None, clean_exit = False
def urlopen( # type: ignore[override]
self,
method: str,
url: str,
body: _TYPE_BODY | None = None,
headers: typing.Mapping[str, str] | None = None,
retries: Retry | bool | int | None = None,
redirect: bool = True,
assert_same_host: bool = True,
timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT,
pool_timeout: int | None = None,
release_conn: bool | None = None,
chunked: bool = False,
body_pos: _TYPE_BODY_POSITION | None = None,
preload_content: bool = True,
decode_content: bool = True,
**response_kw: typing.Any,
) -> BaseHTTPResponse:
"""
Get a connection from the pool and perform an HTTP request. This is the
lowest level call for making a request, so you'll need to specify all
the raw details.
.. note::
More commonly, it's appropriate to use a convenience method
such as :meth:`request`.
.. note::
`release_conn` will only behave as expected if
`preload_content=False` because we want to make
`preload_content=False` the default behaviour someday soon without
breaking backwards compatibility.
:param method:
HTTP request method (such as GET, POST, PUT, etc.)
:param url:
The URL to perform the request on.
:param body:
Data to send in the request body, either :class:`str`, :class:`bytes`,
an iterable of :class:`str`/:class:`bytes`, or a file-like object.
:param headers:
Dictionary of custom headers to send, such as User-Agent,
If-None-Match, etc. If None, pool headers are used. If provided,
these headers completely replace any pool-specific headers.
:param retries:
Configure the number of retries to allow before raising a
:class:`~urllib3.exceptions.MaxRetryError` exception.
Pass ``None`` to retry until you receive a response. Pass a
:class:`~urllib3.util.retry.Retry` object for fine-grained control
over different types of retries.
Pass an integer number to retry connection errors that many times,
but no other types of errors. Pass zero to never retry.
If ``False``, then retries are disabled and any exception is raised
immediately. Also, instead of raising a MaxRetryError on redirects,
the redirect response will be returned.
:type retries: :class:`~urllib3.util.retry.Retry`, False, or an int.
:param redirect:
If True, automatically handle redirects (status codes 301, 302,
303, 307, 308). Each redirect counts as a retry. Disabling retries
will disable redirect, too.
:param assert_same_host:
If ``True``, will make sure that the host of the pool requests is
consistent else will raise HostChangedError. When ``False``, you can
use the pool on an HTTP proxy and request foreign hosts.
:param timeout:
If specified, overrides the default timeout for this one
request. It may be a float (in seconds) or an instance of
:class:`urllib3.util.Timeout`.
:param pool_timeout:
If set and the pool is set to block=True, then this method will
block for ``pool_timeout`` seconds and raise EmptyPoolError if no
connection is available within the time period.
:param bool preload_content:
If True, the response's body will be preloaded into memory.
:param bool decode_content:
If True, will attempt to decode the body based on the
'content-encoding' header.
:param release_conn:
If False, then the urlopen call will not release the connection
back into the pool once a response is received (but will release if
you read the entire contents of the response such as when
`preload_content=True`). This is useful if you're not preloading
the response's content immediately. You will need to call
``r.release_conn()`` on the response ``r`` to return the connection
back into the pool. If None, it takes the value of ``preload_content``
which defaults to ``True``.
:param bool chunked:
If True, urllib3 will send the body using chunked transfer
encoding. Otherwise, urllib3 will send the body using the standard
content-length form. Defaults to False.
:param int body_pos:
Position to seek to in file-like body in the event of a retry or
redirect. Typically this won't need to be set because urllib3 will
auto-populate the value when needed.
"""
parsed_url = parse_url(url)
destination_scheme = parsed_url.scheme
if headers is None:
headers = self.headers
if not isinstance(retries, Retry):
retries = Retry.from_int(retries, redirect=redirect, default=self.retries)
if release_conn is None:
release_conn = preload_content
# Check host
if assert_same_host and not self.is_same_host(url):
raise HostChangedError(self, url, retries)
# Ensure that the URL we're connecting to is properly encoded
if url.startswith("/"):
url = to_str(_encode_target(url))
else:
url = to_str(parsed_url.url)
conn = None
# Track whether `conn` needs to be released before
# returning/raising/recursing. Update this variable if necessary, and
# leave `release_conn` constant throughout the function. That way, if
# the function recurses, the original value of `release_conn` will be
# passed down into the recursive call, and its value will be respected.
#
# See issue #651 [1] for details.
#
# [1] <https://github.com/urllib3/urllib3/issues/651>
release_this_conn = release_conn
http_tunnel_required = connection_requires_http_tunnel(
self.proxy, self.proxy_config, destination_scheme
)
# Merge the proxy headers. Only done when not using HTTP CONNECT. We
# have to copy the headers dict so we can safely change it without those
# changes being reflected in anyone else's copy.
if not http_tunnel_required:
headers = headers.copy() # type: ignore[attr-defined]
headers.update(self.proxy_headers) # type: ignore[union-attr]
# Must keep the exception bound to a separate variable or else Python 3
# complains about UnboundLocalError.
err = None
# Keep track of whether we cleanly exited the except block. This
# ensures we do proper cleanup in finally.
clean_exit = False
# Rewind body position, if needed. Record current position
# for future rewinds in the event of a redirect/retry.
body_pos = set_file_position(body, body_pos)
try:
# Request a connection from the queue.
timeout_obj = self._get_timeout(timeout)
conn = self._get_conn(timeout=pool_timeout)
conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment]
# Is this a closed/new connection that requires CONNECT tunnelling?
if self.proxy is not None and http_tunnel_required and conn.is_closed:
try:
self._prepare_proxy(conn)
except (BaseSSLError, OSError, SocketTimeout) as e:
self._raise_timeout(
err=e, url=self.proxy.url, timeout_value=conn.timeout
)
raise
# If we're going to release the connection in ``finally:``, then
# the response doesn't need to know about the connection. Otherwise
# it will also try to release it and we'll have a double-release
# mess.
response_conn = conn if not release_conn else None
# Make the request on the HTTPConnection object
> response = self._make_request(
conn,
method,
url,
timeout=timeout_obj,
body=body,
headers=headers,
chunked=chunked,
retries=retries,
response_conn=response_conn,
preload_content=preload_content,
decode_content=decode_content,
**response_kw,
)
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:791:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request
conn.request(
/usr/lib/python3/dist-packages/urllib3/connection.py:395: in request
self.endheaders()
/usr/lib/python3.13/http/client.py:1331: in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
/usr/lib/python3.13/http/client.py:1091: in _send_output
self.send(msg)
/usr/lib/python3.13/http/client.py:1035: in send
self.connect()
/usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect
self.sock = self._new_conn()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <urllib3.connection.HTTPConnection object at 0xffffa815f8a0>
def _new_conn(self) -> socket.socket:
"""Establish a socket connection and set nodelay settings on it.
:return: New socket connection.
"""
try:
sock = connection.create_connection(
(self._dns_host, self.port),
self.timeout,
source_address=self.source_address,
socket_options=self.socket_options,
)
except socket.gaierror as e:
> raise NameResolutionError(self.host, self, e) from e
E urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPConnection object at 0xffffa815f8a0>: Failed to resolve 'example.com' ([Errno -3] Temporary failure in name resolution)
/usr/lib/python3/dist-packages/urllib3/connection.py:210: NameResolutionError
The above exception was the direct cause of the following exception:
def send(
self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None
):
"""Sends PreparedRequest object. Returns Response object.
:param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
:param stream: (optional) Whether to stream the request content.
:param timeout: (optional) How long to wait for the server to send
data before giving up, as a float, or a :ref:`(connect timeout,
read timeout) <timeouts>` tuple.
:type timeout: float or tuple or urllib3 Timeout object
:param verify: (optional) Either a boolean, in which case it controls whether
we verify the server's TLS certificate, or a string, in which case it
must be a path to a CA bundle to use
:param cert: (optional) Any user-provided SSL certificate to be trusted.
:param proxies: (optional) The proxies dictionary to apply to the request.
:rtype: requests.Response
"""
try:
conn = self.get_connection_with_tls_context(
request, verify, proxies=proxies, cert=cert
)
except LocationValueError as e:
raise InvalidURL(e, request=request)
self.cert_verify(conn, request.url, verify, cert)
url = self.request_url(request, proxies)
self.add_headers(
request,
stream=stream,
timeout=timeout,
verify=verify,
cert=cert,
proxies=proxies,
)
chunked = not (request.body is None or "Content-Length" in request.headers)
if isinstance(timeout, tuple):
try:
connect, read = timeout
timeout = TimeoutSauce(connect=connect, read=read)
except ValueError:
raise ValueError(
f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "
f"or a single float to set both timeouts to the same value."
)
elif isinstance(timeout, TimeoutSauce):
pass
else:
timeout = TimeoutSauce(connect=timeout, read=timeout)
try:
> resp = conn.urlopen(
method=request.method,
url=url,
body=request.body,
headers=request.headers,
redirect=False,
assert_same_host=False,
preload_content=False,
decode_content=False,
retries=self.max_retries,
timeout=timeout,
chunked=chunked,
)
/usr/lib/python3/dist-packages/requests/adapters.py:667:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen
retries = retries.increment(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = Retry(total=0, connect=None, read=False, redirect=None, status=None)
method = 'GET', url = '/bogus', response = None
error = NameResolutionError("<urllib3.connection.HTTPConnection object at 0xffffa815f8a0>: Failed to resolve 'example.com' ([Errno -3] Temporary failure in name resolution)")
_pool = <urllib3.connectionpool.HTTPConnectionPool object at 0xffffa81d2f90>
_stacktrace = <traceback object at 0xffffab4d5040>
def increment(
self,
method: str | None = None,
url: str | None = None,
response: BaseHTTPResponse | None = None,
error: Exception | None = None,
_pool: ConnectionPool | None = None,
_stacktrace: TracebackType | None = None,
) -> Retry:
"""Return a new Retry object with incremented retry counters.
:param response: A response object, or None, if the server did not
return a response.
:type response: :class:`~urllib3.response.BaseHTTPResponse`
:param Exception error: An error encountered during the request, or
None if the response was received successfully.
:return: A new ``Retry`` object.
"""
if self.total is False and error:
# Disabled, indicate to re-raise the error.
raise reraise(type(error), error, _stacktrace)
total = self.total
if total is not None:
total -= 1
connect = self.connect
read = self.read
redirect = self.redirect
status_count = self.status
other = self.other
cause = "unknown"
status = None
redirect_location = None
if error and self._is_connection_error(error):
# Connect retry?
if connect is False:
raise reraise(type(error), error, _stacktrace)
elif connect is not None:
connect -= 1
elif error and self._is_read_error(error):
# Read retry?
if read is False or method is None or not self._is_method_retryable(method):
raise reraise(type(error), error, _stacktrace)
elif read is not None:
read -= 1
elif error:
# Other retry?
if other is not None:
other -= 1
elif response and response.get_redirect_location():
# Redirect retry?
if redirect is not None:
redirect -= 1
cause = "too many redirects"
response_redirect_location = response.get_redirect_location()
if response_redirect_location:
redirect_location = response_redirect_location
status = response.status
else:
# Incrementing because of a server error like a 500 in
# status_forcelist and the given method is in the allowed_methods
cause = ResponseError.GENERIC_ERROR
if response and response.status:
if status_count is not None:
status_count -= 1
cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status)
status = response.status
history = self.history + (
RequestHistory(method, url, error, status, redirect_location),
)
new_retry = self.new(
total=total,
connect=connect,
read=read,
redirect=redirect,
status=status_count,
other=other,
history=history,
)
if new_retry.is_exhausted():
reason = error or ResponseError(cause)
> raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
E urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='example.com', port=80): Max retries exceeded with url: /bogus (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0xffffa815f8a0>: Failed to resolve 'example.com' ([Errno -3] Temporary failure in name resolution)"))
/usr/lib/python3/dist-packages/urllib3/util/retry.py:515: MaxRetryError
During handling of the above exception, another exception occurred:
def get_downloader_session(self, url,
allow_redirects=True,
use_redirected_url=True,
headers=None):
# TODO: possibly make chunk size adaptive
# TODO: make it not this ugly -- but at the moment we are testing end-file size
# while can't know for sure if content was gunziped and whether it all went ok.
# So safer option -- just request to not have it gzipped
if headers is None:
headers = {}
if 'Accept-Encoding' not in headers:
headers['Accept-Encoding'] = ''
# TODO: our tests ATM aren't ready for retries, thus altogether disabled for now
nretries = 1
for retry in range(1, nretries+1):
try:
> response = self._session.get(
url, stream=True, allow_redirects=allow_redirects,
headers=headers)
datalad/downloaders/http.py:618:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/requests/sessions.py:602: in get
return self.request("GET", url, **kwargs)
/usr/lib/python3/dist-packages/requests/sessions.py:589: in request
resp = self.send(prep, **send_kwargs)
/usr/lib/python3/dist-packages/requests/sessions.py:703: in send
r = adapter.send(request, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def send(
self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None
):
"""Sends PreparedRequest object. Returns Response object.
:param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
:param stream: (optional) Whether to stream the request content.
:param timeout: (optional) How long to wait for the server to send
data before giving up, as a float, or a :ref:`(connect timeout,
read timeout) <timeouts>` tuple.
:type timeout: float or tuple or urllib3 Timeout object
:param verify: (optional) Either a boolean, in which case it controls whether
we verify the server's TLS certificate, or a string, in which case it
must be a path to a CA bundle to use
:param cert: (optional) Any user-provided SSL certificate to be trusted.
:param proxies: (optional) The proxies dictionary to apply to the request.
:rtype: requests.Response
"""
try:
conn = self.get_connection_with_tls_context(
request, verify, proxies=proxies, cert=cert
)
except LocationValueError as e:
raise InvalidURL(e, request=request)
self.cert_verify(conn, request.url, verify, cert)
url = self.request_url(request, proxies)
self.add_headers(
request,
stream=stream,
timeout=timeout,
verify=verify,
cert=cert,
proxies=proxies,
)
chunked = not (request.body is None or "Content-Length" in request.headers)
if isinstance(timeout, tuple):
try:
connect, read = timeout
timeout = TimeoutSauce(connect=connect, read=read)
except ValueError:
raise ValueError(
f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "
f"or a single float to set both timeouts to the same value."
)
elif isinstance(timeout, TimeoutSauce):
pass
else:
timeout = TimeoutSauce(connect=timeout, read=timeout)
try:
resp = conn.urlopen(
method=request.method,
url=url,
body=request.body,
headers=request.headers,
redirect=False,
assert_same_host=False,
preload_content=False,
decode_content=False,
retries=self.max_retries,
timeout=timeout,
chunked=chunked,
)
except (ProtocolError, OSError) as err:
raise ConnectionError(err, request=request)
except MaxRetryError as e:
if isinstance(e.reason, ConnectTimeoutError):
# TODO: Remove this in 3.0.0: see #2811
if not isinstance(e.reason, NewConnectionError):
raise ConnectTimeout(e, request=request)
if isinstance(e.reason, ResponseError):
raise RetryError(e, request=request)
if isinstance(e.reason, _ProxyError):
raise ProxyError(e, request=request)
if isinstance(e.reason, _SSLError):
# This branch is for urllib3 v1.22 and later.
raise SSLError(e, request=request)
> raise ConnectionError(e, request=request)
E requests.exceptions.ConnectionError: HTTPConnectionPool(host='example.com', port=80): Max retries exceeded with url: /bogus (Caused by NameResolutionError("<urllib3.connection.HTTPConnection object at 0xffffa815f8a0>: Failed to resolve 'example.com' ([Errno -3] Temporary failure in name resolution)"))
/usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError
The above exception was the direct cause of the following exception:
urls = ['http://example.com/bogus']
@staticmethod
@datasetmethod(name="download_url")
@eval_results
def __call__(urls,
*,
dataset=None, path=None, overwrite=False,
archive=False, save=True, message=None):
from ..downloaders.http import HTTPDownloader
from ..downloaders.providers import Providers
ds = None
if save or dataset:
try:
ds = require_dataset(
dataset, check_installed=True,
purpose='download urls')
except NoDatasetFound:
pass
common_report = {"action": "download_url",
"ds": ds}
got_ds_instance = isinstance(dataset, Dataset)
dir_is_target = not path or str(path).endswith(op.sep)
path = str(resolve_path(path or op.curdir, ds=dataset))
if dir_is_target:
# resolve_path() doesn't preserve trailing separators. Add one for
# the download() call.
path = path + op.sep
urls = ensure_list_from_str(urls)
if not dir_is_target:
if len(urls) > 1:
yield get_status_dict(
status="error",
message=(
"When specifying multiple urls, --path should point to "
"a directory target (with a trailing separator). Got %r",
path),
type="file",
path=path,
**common_report)
return
if archive:
# make sure the file suffix indicated by a URL is preserved
# so that any further archive processing doesn't have to
# employ mime type inspection in order to determine the archive
# type
from datalad.support.network import URL
suffixes = PurePosixPath(URL(urls[0]).path).suffixes
if not Path(path).suffixes == suffixes:
path += ''.join(suffixes)
# we know that we have a single URL
# download() would be fine getting an existing directory and
# downloading the URL underneath it, but let's enforce a trailing
# slash here for consistency.
if op.isdir(path):
yield get_status_dict(
status="error",
message=(
"Non-directory path given (no trailing separator) "
"but a directory with that name (after adding archive "
"suffix) exists"),
type="file",
path=path,
**common_report)
return
# TODO setup fancy ui.progressbars doing this in parallel and reporting overall progress
# in % of urls which were already downloaded
providers = Providers.from_config_files()
downloaded_paths = []
path_urls = {}
need_datalad_remote = False
for url in urls:
# somewhat "ugly"
downloader = providers.get_provider(url).get_downloader(url)
try:
> downloaded_path = downloader.download(url, path=path, overwrite=overwrite)
datalad/local/download_url.py:202:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/downloaders/base.py:533: in download
return self.access(self._download, url, path=path, **kwargs)
datalad/downloaders/base.py:174: in access
result = method(url, **kwargs)
datalad/downloaders/base.py:433: in _download
downloader_session = self.get_downloader_session(url)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def get_downloader_session(self, url,
allow_redirects=True,
use_redirected_url=True,
headers=None):
# TODO: possibly make chunk size adaptive
# TODO: make it not this ugly -- but at the moment we are testing end-file size
# while can't know for sure if content was gunziped and whether it all went ok.
# So safer option -- just request to not have it gzipped
if headers is None:
headers = {}
if 'Accept-Encoding' not in headers:
headers['Accept-Encoding'] = ''
# TODO: our tests ATM aren't ready for retries, thus altogether disabled for now
nretries = 1
for retry in range(1, nretries+1):
try:
response = self._session.get(
url, stream=True, allow_redirects=allow_redirects,
headers=headers)
#except (MaxRetryError, NewConnectionError) as exc:
except Exception as exc:
ce = CapturedException(exc)
# happen to run into those with urls pointing to Amazon,
# so let's rest and try again
if retry >= nretries:
#import epdb; epdb.serve()
if not _FTP_SUPPORT and url.startswith("ftp://"):
msg_ftp = "For ftp:// support, install requests_ftp. "
else:
msg_ftp = ""
> raise AccessFailedError(
"Failed to establish a new session %d times. %s"
% (nretries, msg_ftp)) from exc
E datalad.support.exceptions.AccessFailedError: Failed to establish a new session 1 times.
datalad/downloaders/http.py:633: AccessFailedError
During handling of the above exception, another exception occurred:
def test_download_url_exceptions():
res0 = download_url(['url1', 'url2'], path=__file__,
save=False, on_failure='ignore')
assert_result_count(res0, 1, status='error')
assert_message("When specifying multiple urls, --path should point to "
"a directory target (with a trailing separator). Got %r",
res0)
> res1 = download_url('http://example.com/bogus',
save=False, on_failure='ignore')
datalad/local/tests/test_download_url.py:56:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/local/download_url.py:207: in __call__
message=str(ce),
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa855ec90>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
___________________________ test_download_url_return ___________________________
urls = ['http://127.0.0.1:43923/file1.txt', 'http://127.0.0.1:43923/file2.txt']
@staticmethod
@datasetmethod(name="download_url")
@eval_results
def __call__(urls,
*,
dataset=None, path=None, overwrite=False,
archive=False, save=True, message=None):
from ..downloaders.http import HTTPDownloader
from ..downloaders.providers import Providers
ds = None
if save or dataset:
try:
ds = require_dataset(
dataset, check_installed=True,
purpose='download urls')
except NoDatasetFound:
pass
common_report = {"action": "download_url",
"ds": ds}
got_ds_instance = isinstance(dataset, Dataset)
dir_is_target = not path or str(path).endswith(op.sep)
path = str(resolve_path(path or op.curdir, ds=dataset))
if dir_is_target:
# resolve_path() doesn't preserve trailing separators. Add one for
# the download() call.
path = path + op.sep
urls = ensure_list_from_str(urls)
if not dir_is_target:
if len(urls) > 1:
yield get_status_dict(
status="error",
message=(
"When specifying multiple urls, --path should point to "
"a directory target (with a trailing separator). Got %r",
path),
type="file",
path=path,
**common_report)
return
if archive:
# make sure the file suffix indicated by a URL is preserved
# so that any further archive processing doesn't have to
# employ mime type inspection in order to determine the archive
# type
from datalad.support.network import URL
suffixes = PurePosixPath(URL(urls[0]).path).suffixes
if not Path(path).suffixes == suffixes:
path += ''.join(suffixes)
# we know that we have a single URL
# download() would be fine getting an existing directory and
# downloading the URL underneath it, but let's enforce a trailing
# slash here for consistency.
if op.isdir(path):
yield get_status_dict(
status="error",
message=(
"Non-directory path given (no trailing separator) "
"but a directory with that name (after adding archive "
"suffix) exists"),
type="file",
path=path,
**common_report)
return
# TODO setup fancy ui.progressbars doing this in parallel and reporting overall progress
# in % of urls which were already downloaded
providers = Providers.from_config_files()
downloaded_paths = []
path_urls = {}
need_datalad_remote = False
for url in urls:
# somewhat "ugly"
downloader = providers.get_provider(url).get_downloader(url)
try:
> downloaded_path = downloader.download(url, path=path, overwrite=overwrite)
datalad/local/download_url.py:202:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/downloaders/base.py:533: in download
return self.access(self._download, url, path=path, **kwargs)
datalad/downloaders/base.py:174: in access
result = method(url, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _download(self, url, path=None, overwrite=False, size=None, stats=None):
"""Download content into a file
Parameters
----------
url: str
URL to download
path: str, optional
Path to file where to store the downloaded content. If None,
filename deduced from the url and saved in curdir
size: int, optional
Limit in size to be downloaded
Returns
-------
None or string
Returns downloaded filename
"""
downloader_session = self.get_downloader_session(url)
status = self.get_status_from_headers(downloader_session.headers)
target_size = downloader_session.size
if size is not None:
target_size = min(target_size, size)
#### Specific to download
if path:
download_dir = op.dirname(path)
if download_dir:
os.makedirs(download_dir, exist_ok=True)
if isdir(path):
# provided path is a directory under which to save
filename = downloader_session.filename
if not filename:
raise DownloadError(
"File name could not be determined from {}".format(url))
filepath = opj(path, filename)
else:
filepath = path
else:
filepath = downloader_session.filename
existed = op.lexists(filepath)
if existed and not overwrite:
> raise DownloadError("Path %s already exists" % filepath)
E datalad.support.exceptions.DownloadError: Path /tmp/datalad_temp_test_download_url_returng7du_kjl/file1.txt already exists
datalad/downloaders/base.py:459: DownloadError
During handling of the above exception, another exception occurred:
toppath = '/tmp/datalad_temp_tree_test_download_url_returndjng1j5q'
topurl = 'http://127.0.0.1:43923/'
outdir = '/tmp/datalad_temp_test_download_url_returng7du_kjl/'
@assert_cwd_unchanged
@with_tree(tree=[
('file1.txt', 'abc'),
('file2.txt', 'abc'),
])
@serve_path_via_http
@with_tempfile(mkdir=True)
def test_download_url_return(toppath=None, topurl=None, outdir=None):
# Ensure that out directory has trailing slash.
outdir = opj(outdir, "")
files = ['file1.txt', 'file2.txt']
urls = [topurl + f for f in files]
outfiles = [opj(outdir, f) for f in files]
out1 = download_url(urls[0], path=outdir, save=False)
assert_result_count(out1, 1)
eq_(out1[0]['path'], outfiles[0])
# can't overwrite
> out2 = download_url(urls, path=outdir, on_failure='ignore', save=False)
datalad/local/tests/test_download_url.py:104:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/interface/base.py:773: in eval_func
return return_func(*args, **kwargs)
datalad/interface/base.py:763: in return_func
results = list(results)
datalad/interface/base.py:873: in _execute_command_
for r in _process_results(
datalad/interface/utils.py:319: in _process_results
for res in results:
datalad/local/download_url.py:207: in __call__
message=str(ce),
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa855f950>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
____________________________ test_CapturedException ____________________________
def test_CapturedException():
try:
raise Exception("BOOM")
except Exception as e:
captured_exc = CapturedException(e)
assert_re_in(r"BOOM \[test_captured_exception.py:test_CapturedException:[0-9]+\]", captured_exc.format_oneline_tb())
assert_re_in(r"^\[.*\]", captured_exc.format_oneline_tb(include_str=False)) # only traceback
try:
raise NotImplementedError
except Exception as e:
captured_exc = CapturedException(e)
> assert_re_in(r"NotImplementedError \[test_captured_exception.py:test_CapturedException:[0-9]+\]", captured_exc.format_oneline_tb())
datalad/support/tests/test_captured_exception.py:30:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/exceptions.py:70: in format_oneline_tb
return format_oneline_tb(
datalad/support/exceptions.py:158: in format_oneline_tb
leading = exc.message or exc.name
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa8259cd0>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
_______________________ test_format_exception_with_cause _______________________
def raise_valueerror():
try:
> raise_runtimeerror()
datalad/support/tests/test_captured_exception.py:93:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def raise_runtimeerror():
> raise RuntimeError("Mike")
E RuntimeError: Mike
datalad/support/tests/test_captured_exception.py:98: RuntimeError
The above exception was the direct cause of the following exception:
def makeitraise():
def raise_valueerror():
try:
raise_runtimeerror()
except Exception as e:
raise ValueError from e
def raise_runtimeerror():
raise RuntimeError("Mike")
try:
> raise_valueerror()
datalad/support/tests/test_captured_exception.py:101:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def raise_valueerror():
try:
raise_runtimeerror()
except Exception as e:
> raise ValueError from e
E ValueError
datalad/support/tests/test_captured_exception.py:95: ValueError
The above exception was the direct cause of the following exception:
def test_format_exception_with_cause():
try:
> makeitraise()
datalad/support/tests/test_captured_exception.py:108:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def makeitraise():
def raise_valueerror():
try:
raise_runtimeerror()
except Exception as e:
raise ValueError from e
def raise_runtimeerror():
raise RuntimeError("Mike")
try:
raise_valueerror()
except Exception as e:
> raise RuntimeError from e
E RuntimeError
datalad/support/tests/test_captured_exception.py:103: RuntimeError
During handling of the above exception, another exception occurred:
def test_format_exception_with_cause():
try:
makeitraise()
except Exception as e:
assert_equal(
format_exception_with_cause(e),
'RuntimeError -caused by- ValueError -caused by- Mike')
# make sure it also works with TracebackException/CapturedException:
ce = CapturedException(e)
assert_equal(
> ce.format_with_cause(),
'RuntimeError -caused by- ValueError -caused by- Mike')
datalad/support/tests/test_captured_exception.py:116:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/exceptions.py:100: in format_with_cause
return format_exception_with_cause(self.tb)
datalad/support/exceptions.py:208: in format_exception_with_cause
(e.exc_type.__name__ if isinstance(e, traceback.TracebackException)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa825bad0>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
_____________________ test_external_versions_rogue_module ______________________
self = <datalad.support.external_versions.ExternalVersions object at 0xffff9b920b00>
module = None
def __getitem__(self, module):
# when ran straight in its source code -- fails to discover nipy's version.. TODO
#if module == 'nipy':
# import pdb; pdb.set_trace()
if not isinstance(module, str):
modname = module.__name__
else:
modname = module
module = None
lgr.log(5, "Requested to provide version for %s", modname)
# Early returns None so we do not store prev result for them
# and allow users to install things at run time, so later check
# doesn't pick it up from the _versions
if modname not in self._versions:
version = None # by default -- not present
if modname in self.CUSTOM:
try:
version = self.CUSTOM[modname]()
version = self._deduce_version(version)
except Exception as exc:
lgr.debug("Failed to deduce version of %s due to %s"
% (modname, CapturedException(exc)))
return None
else:
if module is None:
if modname not in sys.modules:
try:
> module = __import__(modname)
datalad/support/external_versions.py:309:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
E Exception: pickaboo
/tmp/datalad_temp_test_external_versions_rogue_moduleygvhisoj/verycustomrogue__.py:1: Exception
During handling of the above exception, another exception occurred:
topd = '/tmp/datalad_temp_test_external_versions_rogue_moduleygvhisoj'
@with_tempfile(mkdir=True)
def test_external_versions_rogue_module(topd=None):
ev = ExternalVersions()
# if module throws some other non-ImportError exception upon import
# we must not crash, but issue a warning
modname = 'verycustomrogue__'
create_tree(topd, {modname + '.py': 'raise Exception("pickaboo")'})
with patch('sys.path', [topd]), \
swallow_logs(new_level=logging.WARNING) as cml:
> assert ev[modname] is None
datalad/support/tests/test_external_versions.py:144:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/external_versions.py:314: in __getitem__
lgr.warning("Failed to import module %s due to %s",
/usr/lib/python3.13/logging/__init__.py:1531: in warning
self._log(WARNING, msg, args, **kwargs)
/usr/lib/python3.13/logging/__init__.py:1664: in _log
self.handle(record)
/usr/lib/python3.13/logging/__init__.py:1680: in handle
self.callHandlers(record)
/usr/lib/python3.13/logging/__init__.py:1736: in callHandlers
hdlr.handle(record)
/usr/lib/python3.13/logging/__init__.py:1026: in handle
self.emit(record)
/usr/lib/python3/dist-packages/_pytest/logging.py:386: in emit
super().emit(record)
/usr/lib/python3.13/logging/__init__.py:1158: in emit
self.handleError(record)
/usr/lib/python3.13/logging/__init__.py:1150: in emit
msg = self.format(record)
/usr/lib/python3.13/logging/__init__.py:998: in format
return fmt.format(record)
/usr/lib/python3/dist-packages/_pytest/logging.py:139: in format
return super().format(record)
/usr/lib/python3.13/logging/__init__.py:711: in format
record.message = record.getMessage()
/usr/lib/python3.13/logging/__init__.py:400: in getMessage
msg = msg % self.args
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa8259010>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
_____________________________ test_custom_versions _____________________________
> ev.CUSTOM = {'bogus': lambda: 1 / 0}
E ZeroDivisionError: division by zero
datalad/support/tests/test_external_versions.py:164: ZeroDivisionError
During handling of the above exception, another exception occurred:
def test_custom_versions():
ev = ExternalVersions()
assert(ev['cmd:annex'] > '6.20160101') # annex must be present and recentish
assert_equal(set(ev.versions.keys()), {'cmd:annex'})
# some older git version don't support files to be passed to
# `commit` call under some conditions and this will lead to diverse
# errors
assert(ev['cmd:git'] > '2.0') # git must be present and recentish
assert(isinstance(ev['cmd:git'], LooseVersion))
assert_equal(set(ev.versions.keys()), {'cmd:annex', 'cmd:git'})
# and there is also a version of system-wide installed git, which might
# differ from cmd:git but should be at least good old 1.7
assert(ev['cmd:system-git'] > '1.7')
ev.CUSTOM = {'bogus': lambda: 1 / 0}
> assert_equal(ev['bogus'], None)
datalad/support/tests/test_external_versions.py:165:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/external_versions.py:303: in __getitem__
% (modname, CapturedException(exc)))
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa825bad0>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
___________________________ test_load_screwy_unicode ___________________________
fname = '/tmp/datalad_temp_test_load_screwy_unicode2rd1jmsr', fixup = True
compressed = None, kw = {}
f = <_io.BufferedReader name='/tmp/datalad_temp_test_load_screwy_unicode2rd1jmsr'>
jreader = <encodings.utf_8.StreamReader object at 0xffff9b7c70b0>
ce = Expecting ',' delimiter: line 1 column 18 (char 17) [json_py.py:load:174,__init__.py:load:293,__init__.py:loads:346,decoder.py:decode:345,decoder.py:raw_decode:361]
def load(fname, fixup=True, compressed=None, **kw):
"""Load JSON from a file, possibly fixing it up if initial load attempt fails
Parameters
----------
fixup : bool
In case of failed load, apply a set of fixups with hope to resolve issues
in JSON
compressed : bool or None
Flag whether to treat the file as XZ compressed. If None, this decision
is made automatically based on the presence of a '.xz' extension in the
filename
**kw
Passed into the load (and loads after fixups) function
"""
with _suitable_open(fname, compressed)(fname, 'rb') as f:
try:
jreader = codecs.getreader('utf-8')(f)
> return json.load(jreader, **kw)
datalad/support/json_py.py:174:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.13/json/__init__.py:293: in load
return loads(fp.read(),
/usr/lib/python3.13/json/__init__.py:346: in loads
return _default_decoder.decode(s)
/usr/lib/python3.13/json/decoder.py:345: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
> obj, end = self.scan_once(s, idx)
E json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 18 (char 17)
/usr/lib/python3.13/json/decoder.py:361: JSONDecodeError
During handling of the above exception, another exception occurred:
fname = '/tmp/datalad_temp_test_load_screwy_unicode2rd1jmsr'
@with_tempfile(content=b'{"Authors": ["A1"\xc2\xa0, "A2"]}')
def test_load_screwy_unicode(fname=None):
# test that we can tollerate some screwy unicode embeddings within json
assert_raises(JSONDecodeError, load, fname, fixup=False)
with swallow_logs(new_level=logging.WARNING) as cml:
> eq_(load(fname), {'Authors': ['A1', 'A2']})
datalad/support/tests/test_json_py.py:35:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/json_py.py:179: in load
lgr.warning(
/usr/lib/python3.13/logging/__init__.py:1531: in warning
self._log(WARNING, msg, args, **kwargs)
/usr/lib/python3.13/logging/__init__.py:1664: in _log
self.handle(record)
/usr/lib/python3.13/logging/__init__.py:1680: in handle
self.callHandlers(record)
/usr/lib/python3.13/logging/__init__.py:1736: in callHandlers
hdlr.handle(record)
/usr/lib/python3.13/logging/__init__.py:1026: in handle
self.emit(record)
/usr/lib/python3/dist-packages/_pytest/logging.py:386: in emit
super().emit(record)
/usr/lib/python3.13/logging/__init__.py:1158: in emit
self.handleError(record)
/usr/lib/python3.13/logging/__init__.py:1150: in emit
msg = self.format(record)
/usr/lib/python3.13/logging/__init__.py:998: in format
return fmt.format(record)
/usr/lib/python3/dist-packages/_pytest/logging.py:139: in format
return super().format(record)
/usr/lib/python3.13/logging/__init__.py:711: in format
record.message = record.getMessage()
/usr/lib/python3.13/logging/__init__.py:400: in getMessage
msg = msg % self.args
datalad/support/exceptions.py:123: in __str__
return self.format_short()
datalad/support/exceptions.py:94: in format_short
return self.name + '(' + self.message + ')'
datalad/support/exceptions.py:120: in name
return self.tb.exc_type.__qualname__
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <traceback.TracebackException object at 0xffffa8259010>
@property
def exc_type(self):
> warnings.warn('Deprecated in 3.13. Use exc_type_str instead.',
DeprecationWarning, stacklevel=2)
E DeprecationWarning: Deprecated in 3.13. Use exc_type_str instead.
/usr/lib/python3.13/traceback.py:1181: DeprecationWarning
____________________________ test_ProducerConsumer _____________________________
def test_ProducerConsumer():
# Largely a smoke test, which only verifies correct results output
for jobs in "auto", None, 1, 10:
for PC in ProducerConsumer, ProducerConsumerProgressLog:
check_ProducerConsumer(PC, jobs)
> check_producing_consumer(jobs)
datalad/support/tests/test_parallel.py:108:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/support/tests/test_parallel.py:87: in check_producing_consumer
assert_equal(list(pc), [0, 1, 2, "0", "1", "4"])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = [0, 2, 1, '1', '4', '0'], second = [0, 1, 2, '0', '1', '4'], msg = None
def assert_equal(first, second, msg=None):
if msg is None:
> assert first == second
E AssertionError: assert [0, 2, 1, '1', '4', '0'] == [0, 1, 2, '0', '1', '4']
E
E At index 1 diff: 2 != 1
E
E Full diff:
E [
E 0,
E + 2,...
E
E ...Full output truncated (7 lines hidden), use '-vv' to show
datalad/tests/utils_pytest.py:80: AssertionError
____________________________ test_run_datalad_help _____________________________
cmd = 'datalad --help'
def check_run_and_get_output(cmd):
runner = WitlessRunner()
try:
# suppress log output happen it was set to high values
with patch.dict('os.environ', {'DATALAD_LOG_LEVEL': 'WARN'}):
> output = runner.run(
["datalad", "--help"],
protocol=StdOutErrCapture)
datalad/tests/test_installed.py:32:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <datalad.runner.runner.WitlessRunner object at 0xffffaae416f0>
cmd = ['datalad', '--help']
protocol = <class 'datalad.runner.coreprotocols.StdOutErrCapture'>, stdin = None
cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {}
applied_cwd = None, applied_env = None
threaded_runner = <datalad.runner.nonasyncrunner.ThreadedRunner object at 0xffff9b802ad0>
results_or_iterator = {'code': 2, 'stderr': 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failu...to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n', 'stdout': ''}
results = {'code': 2, 'stderr': 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failu...to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n', 'stdout': ''}
return_code = 2
def run(self,
cmd: list | str,
protocol: type[WitlessProtocol] | None = None,
stdin: bytes | IO | Queue | None = None,
cwd: PathLike | str | None = None,
env: dict | None = None,
timeout: float | None = None,
exception_on_error: bool = True,
**kwargs) -> dict | _ResultGenerator:
"""Execute a command and communicate with it.
Parameters
----------
cmd : list or str
Sequence of program arguments. Passing a single string causes
execution via the platform shell.
protocol : WitlessProtocol, optional
Protocol class handling interaction with the running process
(e.g. output capture). A number of pre-crafted classes are
provided (e.g `KillOutput`, `NoCapture`, `GitProgress`).
If the protocol has the GeneratorMixIn-mixin, the run-method
will return an iterator and can therefore be used in a for-clause.
stdin : file-like, bytes, Queue, or None
If stdin is a file-like, it will be directly used as stdin for the
subprocess. The caller is responsible for writing to it and closing it.
If stdin is a bytes, it will be fed to stdin of the subprocess.
If all data is written, stdin will be closed.
If stdin is a Queue, all elements (bytes) put into the Queue will
be passed to stdin until None is read from the queue. If None is read,
stdin of the subprocess is closed.
cwd : str or path-like, optional
If given, commands are executed with this path as PWD,
the PWD of the parent process is used otherwise. Overrides
any `cwd` given to the constructor.
env : dict, optional
Environment to be used for command execution. If given, it will
completely replace any environment provided to theconstructor. If
`cwd` is given, 'PWD' in the environment is set to its value.
This must be a complete environment definition, no values
from the current environment will be inherited. Overrides
any `env` given to the constructor.
timeout: float, optional
None or the seconds after which a timeout callback is
invoked, if no progress was made in communicating with
the sub-process, or if waiting for the subprocess exit
took more than the specified time. See the protocol and
`ThreadedRunner` descriptions for a more detailed discussion
on timeouts.
exception_on_error : bool, optional
This argument is first interpreted if the protocol is a subclass
of `GeneratorMixIn`. If it is `True` (default), a
`CommandErrorException` is raised by the generator if the
sub process exited with a return code not equal to zero. If the
parameter is `False`, no exception is raised. In both cases the
return code can be read from the attribute `return_code` of
the generator. Then this argument interpreted within this function
to not raise `CommandError` if value is False in case of non-0 exit.
kwargs :
Passed to the Protocol class constructor.
Returns
-------
dict | _ResultGenerator
If the protocol is not a subclass of `GeneratorMixIn`, the
result of protocol._prepare_result will be returned.
If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e.
a `_ResultGenerator`, will be returned. This allows to use this
method in constructs like:
for protocol_output in runner.run():
...
Where the iterator yields whatever protocol.pipe_data_received
sends into the generator.
If all output was yielded and the process has terminated, the
generator will raise StopIteration(return_code), where
return_code is the return code of the process. The return code
of the process will also be stored in the "return_code"-attribute
of the runner. So you could write:
gen = runner.run()
for file_descriptor, data in gen:
...
# get the return code of the process
result = gen.return_code
Raises
------
CommandError
On execution failure (non-zero exit code) this exception is
raised which provides the command (cmd), stdout, stderr,
exit code (status), and a message identifying the failed
command, as properties.
FileNotFoundError
When a given executable does not exist.
"""
if protocol is None:
# by default let all subprocess stream pass through
protocol = NoCapture
applied_cwd = cwd or self.cwd
applied_env = self._get_adjusted_env(
env=env or self.env,
cwd=applied_cwd,
)
lgr.debug(
'Run %r (protocol_class=%s) (cwd=%s)',
cmd,
protocol.__name__,
applied_cwd
)
threaded_runner = ThreadedRunner(
cmd=cmd,
protocol_class=protocol,
stdin=stdin,
protocol_kwargs=kwargs,
timeout=timeout,
exception_on_error=exception_on_error,
cwd=applied_cwd,
env=applied_env
)
results_or_iterator = threaded_runner.run()
if issubclass(protocol, GeneratorMixIn):
return results_or_iterator
results = cast(dict, results_or_iterator)
# log before any exception is raised
lgr.debug("Finished %r with status %s", cmd, results['code'])
# make it such that we always blow if a protocol did not report
# a return code at all or it was non-0 and we were not asked ignore
# errors
return_code = results.get('code', None)
if return_code is None or (return_code and exception_on_error):
# the runner has a better idea, doc string warns Protocol
# implementations not to return these
results.pop('cmd', None)
results.pop('cwd', None)
> raise CommandError(
# whatever the results were, we carry them forward
cmd=cmd,
cwd=applied_cwd,
**results,
)
E datalad.runner.exception.CommandError: CommandError: 'datalad --help' failed with exitcode 2 [err: 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]
E [--on-failure {ignore,continue,stop}]
E [--report-status {success,failure,ok,notneeded,impossible,error}]
E [--report-type {dataset,file}]
E [-f {generic,json,json_pp,tailored,disabled,'<template>'}]
E [--dbg] [--idbg] [--version]
E {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion} ...
E datalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: '/<<PKGBUILDDIR>>/bin/datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)']
datalad/runner/runner.py:242: CommandError
During handling of the above exception, another exception occurred:
@assert_cwd_unchanged
def test_run_datalad_help():
> out, err = check_run_and_get_output("datalad --help")
datalad/tests/test_installed.py:43:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
cmd = 'datalad --help'
def check_run_and_get_output(cmd):
runner = WitlessRunner()
try:
# suppress log output happen it was set to high values
with patch.dict('os.environ', {'DATALAD_LOG_LEVEL': 'WARN'}):
output = runner.run(
["datalad", "--help"],
protocol=StdOutErrCapture)
except CommandError as e:
> raise AssertionError("'datalad --help' failed to start normally. "
"Exited with %d and output %s" % (e.code, (e.stdout, e.stderr)))
E AssertionError: 'datalad --help' failed to start normally. Exited with 2 and output ('', "usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion} ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: '/<<PKGBUILDDIR>>/bin/datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n")
datalad/tests/test_installed.py:36: AssertionError
=============================== warnings summary ===============================
.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests/test_http.py: 13 warnings
/usr/lib/python3/dist-packages/httpretty/core.py:1077: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
now = datetime.utcnow()
.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests/test_http.py: 1 warning
.pybuild/cpython3_3.13_datalad/build/datalad/downloaders/tests/test_shub.py: 3 warnings
.pybuild/cpython3_3.13_datalad/build/datalad/local/tests/test_add_archive_content.py: 3 warnings
.pybuild/cpython3_3.13_datalad/build/datalad/local/tests/test_addurls.py: 1 warning
.pybuild/cpython3_3.13_datalad/build/datalad/local/tests/test_copy_file.py: 2 warnings
.pybuild/cpython3_3.13_datalad/build/datalad/local/tests/test_download_url.py: 5 warnings
.pybuild/cpython3_3.13_datalad/build/datalad/runner/tests/test_nonasyncrunner.py: 1 warning
.pybuild/cpython3_3.13_datalad/build/datalad/support/tests/test_annexrepo.py: 7 warnings
.pybuild/cpython3_3.13_datalad/build/datalad/support/tests/test_locking.py: 2 warnings
/usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=82) is multi-threaded, use of fork() may lead to deadlocks in the child.
self.pid = os.fork()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED datalad/cli/tests/test_main.py::test_version - assert 2 == 0
FAILED datalad/cli/tests/test_main.py::test_help_np - assert 2 == 0
FAILED datalad/cli/tests/test_main.py::test_dashh - assert 2 == 0
FAILED datalad/cli/tests/test_main.py::test_combined_short_option - assert 't...
FAILED datalad/cli/tests/test_main.py::test_incorrect_option[opts0-error: (invalid|too few arguments|unrecognized argument)]
FAILED datalad/cli/tests/test_main.py::test_incorrect_option[opts1-error: (invalid|too few arguments|unrecognized argument)]
FAILED datalad/cli/tests/test_main.py::test_incorrect_option[opts2-error: (invalid|too few arguments|unrecognized argument)]
FAILED datalad/cli/tests/test_main.py::test_incorrect_option[opts3-error: (invalid|too few arguments|unrecognized argument)]
FAILED datalad/cli/tests/test_main.py::test_script_shims[datalad] - datalad.r...
FAILED datalad/cli/tests/test_main.py::test_completion - datalad.runner.excep...
FAILED datalad/cli/tests/test_parser.py::test_setup - Failed: DID NOT RAISE <...
FAILED datalad/core/distributed/tests/test_clone.py::test_cfg_originorigin - ...
FAILED datalad/distribution/tests/test_install.py::test_invalid_args - Deprec...
FAILED datalad/distribution/tests/test_update.py::test_unrelated_history_merge
FAILED datalad/distribution/tests/test_update.py::test_merge_conflict - Depre...
FAILED datalad/distribution/tests/test_update.py::test_merge_conflict_in_subdataset_only
FAILED datalad/distribution/tests/test_update.py::test_merge_ff_only - Deprec...
FAILED datalad/distribution/tests/test_update.py::test_merge_follow_parentds_subdataset_detached[False]
FAILED datalad/distribution/tests/test_update.py::test_update_fetch_failure
FAILED datalad/local/tests/test_addurls.py::test_addurls_unknown_placeholder
FAILED datalad/local/tests/test_addurls.py::TestAddurls::test_addurls - Depre...
FAILED datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_filename_fail
FAILED datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_special_key_fail
FAILED datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_version
FAILED datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_invalid_input
FAILED datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_from_key_invalid_format
FAILED datalad/local/tests/test_check_dates.py::test_check_dates_invalid_date
FAILED datalad/local/tests/test_download_url.py::test_download_url_exceptions
FAILED datalad/local/tests/test_download_url.py::test_download_url_return - D...
FAILED datalad/support/tests/test_captured_exception.py::test_CapturedException
FAILED datalad/support/tests/test_captured_exception.py::test_format_exception_with_cause
FAILED datalad/support/tests/test_external_versions.py::test_external_versions_rogue_module
FAILED datalad/support/tests/test_external_versions.py::test_custom_versions
FAILED datalad/support/tests/test_json_py.py::test_load_screwy_unicode - Depr...
FAILED datalad/support/tests/test_parallel.py::test_ProducerConsumer - Assert...
FAILED datalad/tests/test_installed.py::test_run_datalad_help - AssertionErro...
= 36 failed, 1071 passed, 105 skipped, 57 deselected, 2 xfailed, 1 xpassed, 38 warnings in 1951.39s (0:32:31) =
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datalad/build; python3.13 -m pytest -s -v -k 'not test_test and not test_subprocess_return_code_capture and not test_gracefull_death' -c /<<PKGBUILDDIR>>/tox.ini
I: pybuild pybuild:308: PYTHONPATH=/<<PKGBUILDDIR>>/bin python3.12 setup.py develop --install-dir bin/ && cp -rp datalad.egg-info /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/;
running develop
/usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` and ``easy_install``.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://github.com/pypa/setuptools/issues/917 for details.
********************************************************************************
!!
easy_install.initialize_options(self)
/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
running egg_info
writing datalad.egg-info/PKG-INFO
writing dependency_links to datalad.egg-info/dependency_links.txt
writing entry points to datalad.egg-info/entry_points.txt
writing requirements to datalad.egg-info/requires.txt
writing top-level names to datalad.egg-info/top_level.txt
reading manifest file 'datalad.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'Gruntfile.js'
no previously-included directories found matching '.github'
no previously-included directories found matching 'sandbox'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.gitmodules'
warning: no previously-included files found matching '.mailmap'
warning: no previously-included files found matching '.noannex'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '.zenodo.json'
warning: no previously-included files found matching 'CODE_OF_CONDUCT.md'
warning: no previously-included files found matching 'appveyor.yml'
warning: no previously-included files found matching 'readthedocs.yml'
adding license file 'COPYING'
writing manifest file 'datalad.egg-info/SOURCES.txt'
running build_ext
Creating /<<PKGBUILDDIR>>/bin/datalad.egg-link (link to .)
datalad 1.1.3 is already the active version in easy-install.pth
Installing datalad script to bin/
Installing git-annex-remote-datalad script to bin/
Installing git-annex-remote-datalad-archives script to bin/
Installing git-annex-remote-ora script to bin/
Installing git-annex-remote-ria script to bin/
Installing git-credential-datalad script to bin/
Installed /<<PKGBUILDDIR>>
Processing dependencies for datalad==1.1.3
Searching for distro==1.9.0
Best match: distro 1.9.0
Adding distro 1.9.0 to easy-install.pth file
Installing distro script to bin/
Using /usr/lib/python3/dist-packages
Searching for tqdm==4.67.0
Best match: tqdm 4.67.0
Adding tqdm 4.67.0 to easy-install.pth file
Installing tqdm script to bin/
Using /usr/lib/python3/dist-packages
Searching for platformdirs==4.3.6
Best match: platformdirs 4.3.6
Removing platformdirs 4.2.2 from easy-install.pth file
Adding platformdirs 4.3.6 to easy-install.pth file
detected new path '/usr/lib/python3/dist-packages/setuptools/_vendor'
Using /usr/lib/python3/dist-packages
Searching for patool==2.0.0
Best match: patool 2.0.0
Adding patool 2.0.0 to easy-install.pth file
Installing patool script to bin/
Using /usr/lib/python3/dist-packages
Searching for packaging==24.1
Best match: packaging 24.1
packaging 24.1 is already the active version in easy-install.pth
Using /usr/lib/python3/dist-packages/setuptools/_vendor
Searching for iso8601==2.1.0
Best match: iso8601 2.1.0
Adding iso8601 2.1.0 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for humanize==4.11.0
Best match: humanize 4.11.0
Adding humanize 4.11.0 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for fasteners==0.18
Best match: fasteners 0.18
Adding fasteners 0.18 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for chardet==5.2.0
Best match: chardet 5.2.0
Adding chardet 5.2.0 to easy-install.pth file
Installing chardetect script to bin/
Using /usr/lib/python3/dist-packages
Searching for annexremote==1.6.4
Best match: annexremote 1.6.4
Adding annexremote 1.6.4 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Finished processing dependencies for datalad==1.1.3
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build; python3.12 -m pytest -s -v -k 'not test_test and not test_subprocess_return_code_capture and not test_gracefull_death' -c /<<PKGBUILDDIR>>/tox.ini
============================= test session starts ==============================
platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12
cachedir: .pytest_cache
rootdir: /<<PKGBUILDDIR>>
configfile: tox.ini
plugins: typeguard-4.4.1
collecting ... collected 1270 items / 57 deselected / 2 skipped / 1213 selected
datalad/cli/tests/test_exec.py::test_call_from_parser_old_style PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_old_style_generator PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_default_args PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_result_filter PASSED
datalad/cli/tests/test_exec.py::test_get_result_filter_arg_vs_config success -> constraint:status:{ok, notneeded}
failure -> constraint:status:{impossible, error}
ok -> constraint:status:{ok}
notneeded -> constraint:status:{notneeded}
error -> constraint:status:{error}
PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_pos_arg_underscore[bare] PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_pos_arg_underscore[dest] PASSED
datalad/cli/tests/test_exec.py::test_call_from_parser_pos_arg_underscore[args] PASSED
datalad/cli/tests/test_helpers.py::test_fix_datalad_ri PASSED
datalad/cli/tests/test_interface.py::test_alter_interface_docs_for_cmdline PASSED
datalad/cli/tests/test_interface.py::test_name_generation PASSED
datalad/cli/tests/test_main.py::test_version FAILED
datalad/cli/tests/test_main.py::test_help_np FAILED
datalad/cli/tests/test_main.py::test_dashh FAILED
datalad/cli/tests/test_main.py::test_dashh_clone PASSED
datalad/cli/tests/test_main.py::test_usage_on_insufficient_args PASSED
datalad/cli/tests/test_main.py::test_subcmd_usage_on_unknown_args PASSED
datalad/cli/tests/test_main.py::test_combined_short_option FAILED
datalad/cli/tests/test_main.py::test_conflicting_short_option PASSED
datalad/cli/tests/test_main.py::test_incorrect_option[opts0-error: (invalid|too few arguments|unrecognized argument)] FAILED
datalad/cli/tests/test_main.py::test_incorrect_option[opts1-error: (invalid|too few arguments|unrecognized argument)] FAILED
datalad/cli/tests/test_main.py::test_incorrect_option[opts2-error: (invalid|too few arguments|unrecognized argument)] FAILED
datalad/cli/tests/test_main.py::test_incorrect_option[opts3-error: (invalid|too few arguments|unrecognized argument)] FAILED
datalad/cli/tests/test_main.py::test_script_shims[datalad] FAILED
datalad/cli/tests/test_main.py::test_script_shims[git-annex-remote-datalad-archives] PASSED
datalad/cli/tests/test_main.py::test_script_shims[git-annex-remote-datalad] PASSED
datalad/cli/tests/test_main.py::test_cfg_override create(ok): . (dataset)
PASSED
datalad/cli/tests/test_main.py::test_incorrect_cfg_override PASSED
datalad/cli/tests/test_main.py::test_librarymode create(ok): . (dataset)
PASSED
datalad/cli/tests/test_main.py::test_completion Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/bin/datalad", line 33, in <module>
sys.exit(load_entry_point('datalad', 'console_scripts', 'datalad')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/cli/main.py", line 92, in main
argcomplete.autocomplete(parser)
File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 174, in __call__
completions = self._get_completions(comp_words, cword_prefix, cword_prequote, last_wordbreak_pos)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 223, in _get_completions
completions = self.collect_completions(active_parsers, parsed_args, cword_prefix)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 440, in collect_completions
completions += self._get_option_completions(active_parser, cword_prefix)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 326, in _get_option_completions
if not self._action_allowed(action, parser):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/argcomplete/finders.py", line 336, in _action_allowed
for conflict_action in parser._action_conflicts.get(action, []):
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'MonkeyPatchedIntrospectiveArgumentParser' object has no attribute '_action_conflicts'
FAILED
datalad/cli/tests/test_parser.py::test_fail_with_short_help PASSED
datalad/cli/tests/test_parser.py::test_setup FAILED
datalad/cli/tests/test_renderer.py::test_nagen PASSED
datalad/cli/tests/test_renderer.py::test_nadict PASSED
datalad/cli/tests/test_utils.py::test_setup_exceptionhook[True] PASSED
datalad/cli/tests/test_utils.py::test_setup_exceptionhook[False] PASSED
datalad/core/distributed/tests/test_clone.py::test_invalid_args install(error): /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/ssh:/mars:Zoidberg (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- Zoidberg
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress Zoidberg /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/ssh:/mars:Zoidberg' failed with exitcode 128 [err: 'fatal: repository 'Zoidberg' does not exist']]
install(error): /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/ssh:/mars/Zoidberg (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- Zoidberg
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress Zoidberg /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/ssh:/mars/Zoidberg' failed with exitcode 128 [err: 'fatal: repository 'Zoidberg' does not exist']]
create(ok): /tmp/datalad_temp_test_invalid_argsx9xg5wof (dataset)
install(error): Zoidberg (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- /higherup.
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress /higherup. /tmp/datalad_temp_test_invalid_argsx9xg5wof/Zoidberg' failed with exitcode 128 [err: 'fatal: repository '/higherup.' does not exist']]
create(ok): /tmp/datalad_temp_test_invalid_args4c3hy6c_/target (dataset)
install(error): ../../datalad_temp_test_invalid_argsj1u1v2cd (dataset) [clone target path '/tmp/datalad_temp_test_invalid_argsj1u1v2cd' not in specified target dataset 'Dataset(/tmp/datalad_temp_test_invalid_args4c3hy6c_/target)']
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_crcns SKIPPED
datalad/core/distributed/tests/test_clone.py::test_clone_datasets_root SKIPPED
datalad/core/distributed/tests/test_clone.py::test_clone_simple_local create(ok): . (dataset)
create(ok): . (dataset)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_check_clone_simple_local1blov9ph (dataset)
install(ok): /tmp/datalad_temp_check_clone_simple_localeu86b2ha (dataset)
install(ok): /tmp/datalad_temp_check_clone_simple_localaflu9u40 (dataset)
install(ok): /tmp/datalad_temp_check_clone_simple_localc2pv1pk2 (dataset)
install(ok): /tmp/datalad_temp_check_clone_simple_localddole_4v (dataset)
install(ok): /tmp/datalad_temp_check_clone_simple_localv4xcf9uk (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_dataset_from_just_source create(ok): . (dataset)
add(ok): INFO.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_check_clone_dataset_from_just_source4z7w0gzb/datalad_temp_test_clone_dataset_from_just_source2pwmpku5 (dataset)
install(ok): /tmp/datalad_temp_check_clone_dataset_from_just_sourcep6h2yr36/datalad_temp_test_clone_dataset_from_just_source2pwmpku5 (dataset)
install(ok): /tmp/datalad_temp_check_clone_dataset_from_just_sourceb4gx8zu8/127.0.0.1 (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_dataladri SKIPPED
datalad/core/distributed/tests/test_clone.py::test_clone_isnot_recursive create(ok): . (dataset)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): 2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): 2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_clone_isnot_recursivehvdv5w2j (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_into_dataset create(ok): . (dataset)
create(ok): /tmp/datalad_temp_test_clone_into_dataset22g3pjqy (dataset)
install(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
install(ok): sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
install(error): subdir (dataset) [target path already exists and not empty, refuse to clone into target path]
PASSED
datalad/core/distributed/tests/test_clone.py::test_notclone_known_subdataset create(ok): . (dataset)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_notclone_known_subdatasetchixlw65 (dataset)
subdataset(ok): subm 1 (dataset)
install(error): subm 1 (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- subm 1
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress 'subm 1' '/tmp/datalad_temp_test_notclone_known_subdatasetchixlw65/subm 1'' failed with exitcode 128 [err: 'fatal: repository 'subm 1' does not exist']]
install(ok): /tmp/datalad_temp_test_notclone_known_subdatasetchixlw65/subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_notclone_known_subdatasetchixlw65/subm 1]
subdataset(ok): subm 1 (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_failed_clone create(ok): /tmp/datalad_temp_test_failed_clonew5d2zor4 (dataset)
install(error): sub (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- http://nonexistingreallyanything.datalad.org/bla
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://nonexistingreallyanything.datalad.org/bla /tmp/datalad_temp_test_failed_clonew5d2zor4/sub' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_failed_clonew5d2zor4/sub'...
fatal: unable to access 'http://nonexistingreallyanything.datalad.org/bla/': Could not resolve host: nonexistingreallyanything.datalad.org']
- http://nonexistingreallyanything.datalad.org/bla/.git
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://nonexistingreallyanything.datalad.org/bla/.git /tmp/datalad_temp_test_failed_clonew5d2zor4/sub' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_failed_clonew5d2zor4/sub'...
fatal: unable to access 'http://nonexistingreallyanything.datalad.org/bla/.git/': Could not resolve host: nonexistingreallyanything.datalad.org']]
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_missing_commit create(ok): . (dataset)
add(ok): ds/test.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/distributed/tests/test_clone.py::test_reckless[True] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_check_reckless2s0jyiot (dataset)
install(ok): newsub (dataset)
add(ok): newsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
install(ok): /tmp/datalad_temp_check_reckless2s0jyiot/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_check_reckless2s0jyiot/sub]
install(ok): /tmp/datalad_temp_check_reckless9_bhdv6i (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_reckless[False] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_check_reckless664nhqmf (dataset)
install(ok): newsub (dataset)
add(ok): newsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
install(ok): /tmp/datalad_temp_check_reckless664nhqmf/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_check_reckless664nhqmf/sub]
PASSED
datalad/core/distributed/tests/test_clone.py::test_install_source_relpath create(ok): /tmp/datalad_temp_test_install_source_relpath5pt04eqx (dataset)
install(ok): /tmp/datalad_temp_test_install_source_relpathif_k3vvn (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_isnt_a_smartass create(ok): /tmp/datalad_temp_test_clone_isnt_a_smartassyn3ezcsr (dataset)
install(ok): /tmp/datalad_temp_test_clone_isnt_a_smartasskpcbi9kd (dataset)
install(ok): /tmp/datalad_temp_test_clone_isnt_a_smartasskpcbi9kd/testsub (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_report_permission_issue install(error): /tmp/datalad_temp_test_clone_report_permission_issuen_7sf5g1/protected/datasets-tests.datalad.org (dataset) [could not create work tree dir '/tmp/datalad_temp_test_clone_report_permission_issuen_7sf5g1/protected/datasets-tests.datalad.org': Permission denied]
PASSED
datalad/core/distributed/tests/test_clone.py::test_autoenabled_remote_msg SKIPPED
datalad/core/distributed/tests/test_clone.py::test_clone_autoenable_msg_handles_sameas SKIPPED
datalad/core/distributed/tests/test_clone.py::test_installationpath_from_url PASSED
datalad/core/distributed/tests/test_clone.py::test_expanduser create(ok): . (dataset)
create(ok): . (dataset)
install(error): /tmp/datalad_temp_test_expanduserc6jat9rg/dest (dataset) [target path already exists and not empty, refuse to clone into target path]
uninstall(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_expanduserc6jat9rg/dest (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_cfg_originorigin create(ok): . (dataset)
add(ok): file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_cfg_originoriginfx3b2h0g/clone_lev1 (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_cfg_originoriginfx3b2h0g/clone_lev2 (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
update (ok: 1)
get(ok): file1.txt (file) [from dl-test-remote-2...]
.: dl-test-remote-2(+) [/tmp/datalad_temp_test_cfg_originoriginfx3b2h0g/origin (git)]
drop(ok): file1.txt (file)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_cfg_originoriginfx3b2h0g/clone_lev3 (dataset)
action summary:
configure-sibling (ok: 2)
install (ok: 1)
update (ok: 2)
get(ok): file1.txt (file) [from dl-test-remote-3...]
PASSED
datalad/core/distributed/tests/test_clone.py::test_relative_submodule_url create(ok): . (dataset)
create(ok): . (dataset)
install(ok): sources (dataset)
add(ok): sources (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
subdataset(ok): sources (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_local_url_with_fetch create(ok): . (dataset)
install(ok): /tmp/datalad_temp_tree_test_local_url_with_fetcha73yp6i6/a (dataset)
install(ok): /tmp/datalad_temp_tree_test_local_url_with_fetcha73yp6i6/subdir/a (dataset)
install(ok): /tmp/datalad_temp_test_local_url_with_fetchxx4eiy4u/a (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_decode_source_spec PASSED
datalad/core/distributed/tests/test_clone.py::test_ria_http create(ok): . (dataset)
add(ok): testsub.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
add(ok): subdir/subds (dataset)
add(ok): .gitmodules (file)
add(ok): test.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
install(ok): /tmp/datalad_temp_tree_test_ria_http4ynyiqkh/clone (dataset)
install(ok): /tmp/datalad_temp_tree_test_ria_http4ynyiqkh/clone/subdir/subds (dataset) [Installed subdataset in order to get /tmp/datalad_temp_tree_test_ria_http4ynyiqkh/clone/subdir/subds]
add(ok): newfile.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): newfile.txt (file) [to store...]
copy(ok): test.txt (file) [to store...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch 58de998..9878002]
publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex 29de81b..4e2e11b]
action summary:
copy (ok: 2)
publish (ok: 2)
install(ok): /tmp/datalad_temp_tree_test_ria_http4ynyiqkh/clone2 (dataset)
install(ok): /tmp/datalad_temp_tree_test_ria_http4ynyiqkh/clone_orig (dataset)
install(error): /tmp/datalad_temp_tree_test_ria_http4ynyiqkh/clone_failed (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- http://127.0.0.1:42315/eb8/7955c-6cd5-439d-b187-3340cbe0d5af
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress --branch=impossible http://127.0.0.1:42315/eb8/7955c-6cd5-439d-b187-3340cbe0d5af /tmp/datalad_temp_tree_test_ria_http4ynyiqkh/clone_failed' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_tree_test_ria_http4ynyiqkh/clone_failed'...
fatal: Remote branch impossible not found in upstream dl-test-remote']
- http://127.0.0.1:42315/eb8/7955c-6cd5-439d-b187-3340cbe0d5af/.git
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress --branch=impossible http://127.0.0.1:42315/eb8/7955c-6cd5-439d-b187-3340cbe0d5af/.git /tmp/datalad_temp_tree_test_ria_http4ynyiqkh/clone_failed' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_tree_test_ria_http4ynyiqkh/clone_failed'...
fatal: repository 'http://127.0.0.1:42315/eb8/7955c-6cd5-439d-b187-3340cbe0d5af/.git/' not found']]
install(ok): /tmp/datalad_temp_tree_test_ria_http4ynyiqkh/cloned_by_label (dataset)
install(ok): /tmp/datalad_temp_tree_test_ria_http4ynyiqkh/myname (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_ria_postclonecfg enableremote store-storage ok
(recording state in git...)
enableremote store-storage ok
(recording state in git...)
create(ok): . (dataset)
add(ok): testsub.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
add(ok): testgit.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
add(ok): subdir/subds (dataset)
add(ok): subdir/subgit (dataset)
add(ok): .gitmodules (file)
add(ok): test.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_cvpasmjk/ds (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->anotherstore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->anotherstore:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_cvpasmjk/ds/subdir/subds (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->anotherstore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->anotherstore:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_cvpasmjk/ds/subdir/subgit (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->anotherstore:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_cvpasmjk/ds (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
copy(ok): test.txt (file) [to store-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_cvpasmjk/ds/subdir/subds (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
copy(ok): testsub.txt (file) [to store-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_cvpasmjk/ds/subdir/subgit (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 1)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp__test_ria_postclonecfgzt8o_lh8 (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
get(ok): test.txt (file) [from store-storage...]
.: anotherstore-storage(+) [ora]
install(ok): /tmp/datalad_temp__test_ria_postclonecfgzt8o_lh8/subdir/subds (dataset) [Installed subdataset in order to get /tmp/datalad_temp__test_ria_postclonecfgzt8o_lh8/subdir/subds]
get(ok): testsub.txt (file) [from store-storage...]
install(ok): /tmp/datalad_temp__test_ria_postclonecfgzt8o_lh8/subdir/subgit (dataset) [Installed subdataset in order to get /tmp/datalad_temp__test_ria_postclonecfgzt8o_lh8/subdir/subgit/testgit.txt]
action summary:
get (notneeded: 1)
install (ok: 1)
create(ok): . (dataset)
configure-sibling(ok): . (sibling)
install(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
configure-sibling (ok: 1)
install (ok: 1)
save (ok: 2)
subdataset(ok): sub (dataset)
uninstall(ok): sub (dataset)
subdataset(ok): sub (dataset)
install(ok): /tmp/datalad_temp__test_ria_postclonecfg6dvubdvn/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp__test_ria_postclonecfg6dvubdvn/sub]
get(ok): test.txt (file) [from store-storage...]
SKIPPED
datalad/core/distributed/tests/test_clone.py::test_no_ria_postclonecfg SKIPPED
datalad/core/distributed/tests/test_clone.py::test_ria_postclone_noannex create(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_ria_postclone_noannexsu1o0vu7 (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_ria_postclone_noannexxt7t44j9 (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
PASSED
datalad/core/distributed/tests/test_clone.py::test_inherit_src_candidates create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(ok): . (dataset)
install(ok): mysub (dataset)
add(ok): mysub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
install(ok): /tmp/datalad_temp_test_inherit_src_candidateszdt2mjpk/clone (dataset)
install(ok): /tmp/datalad_temp_test_inherit_src_candidateszdt2mjpk/clone/mysub (dataset)
install(ok): /tmp/datalad_temp_test_inherit_src_candidateszdt2mjpk/clone/mysub/sub (dataset)
action summary:
install (ok: 2)
PASSED
datalad/core/distributed/tests/test_clone.py::test_ria_http_storedataladorg SKIPPED
datalad/core/distributed/tests/test_clone.py::test_ephemeral Cloning into bare repository '/tmp/datalad_temp_test_ephemeral8mremmpy'...
done.
init ok
(recording state in git...)
create(ok): . (dataset)
create(ok): . (dataset)
add(ok): ds/subdir/testsub.txt (file)
add(ok): ds/test.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_ephemeral6m_a0b9v (dataset)
install(ok): /tmp/datalad_temp_test_ephemeral6nayxzzv (dataset)
add(ok): addition.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->dl-test-remote:refs/heads/dl-test-branch 12f4365..f145c50]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex 6e68dcb..28a3f22]
action summary:
publish (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_ephemeral24qvcb40 (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
update (ok: 1)
install(ok): /tmp/datalad_temp_test_ephemeralwrt4y5nh (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_unborn_head create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): bar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(ok): bar (file)
install(ok): /tmp/datalad_temp_test_clone_unborn_head2y5ohg4c/b (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_unborn_head_no_other_ref create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_clone_unborn_head_no_other_refq1plo4yj/b (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_unborn_head_sub create(ok): . (dataset)
create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_clone_unborn_head_subbper5jjw/b (dataset)
install(ok): /tmp/datalad_temp_test_clone_unborn_head_subbper5jjw/b/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_clone_unborn_head_subbper5jjw/b/sub]
PASSED
datalad/core/distributed/tests/test_clone.py::test_gin_cloning SKIPPED
datalad/core/distributed/tests/test_clone.py::test_fetch_git_special_remote create(ok): . (dataset)
add(ok): f0 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_fetch_git_special_remoteqe5l02er/a (dataset)
add(ok): f1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_fetch_git_special_remoteqe5l02er/other (dataset)
get(ok): f1 (file) [from special...]
PASSED
datalad/core/distributed/tests/test_clone.py::test_nonuniform_adjusted_subdataset SKIPPED
datalad/core/distributed/tests/test_clone.py::test_clone_recorded_subds_reset create(ok): /tmp/datalad_temp_test_clone_recorded_subds_reset8xk4uxr2/ds_a (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
add(ok): bar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_clone_recorded_subds_reset8xk4uxr2/ds_b (dataset)
install(ok): /tmp/datalad_temp_test_clone_recorded_subds_reset8xk4uxr2/ds_b/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_clone_recorded_subds_reset8xk4uxr2/ds_b/sub]
get(ok): sub/foo (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 1)
subdataset(ok): sub (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_git_clone_opts create(ok): /tmp/datalad_temp_test_clone_git_clone_optsq8q0yp_w/ds_a (dataset)
install(ok): /tmp/datalad_temp_test_clone_git_clone_optsq8q0yp_w/ds_b (dataset)
PASSED
datalad/core/distributed/tests/test_clone.py::test_clone_url_mapping create(ok): /tmp/datalad_temp_test_clone_url_mappingl8i35f1z (dataset)
install(error): /tmp/datalad_temp_test_clone_url_mapping4rwe5b05 (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- rambo
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress rambo /tmp/datalad_temp_test_clone_url_mapping4rwe5b05' failed with exitcode 128 [err: 'fatal: repository 'rambo' does not exist']]
install(ok): /tmp/datalad_temp_test_clone_url_mapping4rwe5b05 (dataset)
uninstall(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_clone_url_mapping4rwe5b05 (dataset)
uninstall(ok): . (dataset)
create(ok): . (dataset)
install(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/core/distributed/tests/test_clone.py::test_url_mapping_specs PASSED
datalad/core/distributed/tests/test_push.py::test_invalid_call create(ok): . (dataset)
publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to]
action summary:
publish (impossible: 1)
publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to]
action summary:
publish (impossible: 1)
action summary:
publish (notneeded: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
uninstall(ok): . (dataset)
subdataset(ok): sub (dataset)
PASSED
datalad/core/distributed/tests/test_push.py::test_push[False] create(ok): . (dataset)
publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to]
action summary:
publish (impossible: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 1)
action summary:
publish (notneeded: 1)
add(ok): test_mod_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): test_mod_annex_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch ff65f0e..1e0b5f3]
action summary:
publish (ok: 1)
publish(error): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [rejected] (non-fast-forward)]
action summary:
publish (error: 1)
Hints:
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.
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 1e0b5f3...5807827 (forced update)]
action summary:
publish (ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_push[True] create(ok): . (dataset)
publish(impossible): . (dataset) [No push target given, and none could be auto-detected, please specify via --to]
action summary:
publish (impossible: 1)
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex aa18d01..377b06b]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
action summary:
publish (notneeded: 2)
add(ok): test_mod_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): test_mod_annex_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): test_mod_annex_file (file) [to target...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch c1a7aac..0f0fe24]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex e6dc4a5..03d497a]
action summary:
copy (ok: 1)
publish (ok: 2)
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 03d497a..281f754]
publish(error): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [rejected] (non-fast-forward)]
action summary:
publish (error: 1, ok: 1)
Hints:
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.
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 0f0fe24...12edde9 (forced update)]
action summary:
publish (notneeded: 1, ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_recursive create(ok): . (dataset)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub m (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub m (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subm noannex (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm noannex (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_push_recursivejkx2_f4e (dataset)
install(ok): /tmp/datalad_temp_test_push_recursivejkx2_f4e/sub m (dataset)
install(ok): /tmp/datalad_temp_test_push_recursivejkx2_f4e/subm noannex (dataset)
install(ok): /tmp/datalad_temp_test_push_recursivejkx2_f4e/sub m/subsub m (dataset)
action summary:
install (ok: 3)
publish(error): sub m/subsub m (dataset) [Unknown target sibling 'target'.]
publish(error): sub m (dataset) [Unknown target sibling 'target'.]
publish(error): subm noannex (dataset) [Unknown target sibling 'target'.]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex d30f861..093c743]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (error: 3, ok: 2)
publish(ok): sub m/subsub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 0a60577..7d82d4a]
publish(ok): sub m/subsub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
publish(ok): sub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex d39131b..623c770]
publish(ok): sub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
publish(ok): subm noannex (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (notneeded: 2, ok: 5)
action summary:
publish (notneeded: 7)
add(ok): test_mod_annex_file (file)
save(ok): sub m/subsub m (dataset)
add(ok): subsub m (dataset)
add(ok): .gitmodules (file)
save(ok): sub m (dataset)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (notneeded: 1, ok: 3)
copy(ok): sub m/subsub m/test_mod_annex_file (file) [to target...]
publish(ok): sub m/subsub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 898ec68..11f9135]
publish(ok): sub m/subsub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 91e0d4b..2b6f246]
publish(ok): sub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 1bad899..48688a2]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 3e0d774..a54f5fc]
action summary:
copy (ok: 1)
publish (notneeded: 3, ok: 4)
drop(ok): sub m/subsub m/test_mod_annex_file (file)
get(ok): sub m/subsub m/test_mod_annex_file (file) [from target...]
action summary:
get (notneeded: 1, ok: 1)
add(ok): test_mod_annex_file (file)
save(ok): sub m (dataset)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (notneeded: 1, ok: 2)
add(ok): test_mod_file (file)
save(ok): subm noannex (dataset)
add(ok): subm noannex (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
publish(ok): subm noannex (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch ea915f1..28a88fb]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch a54f5fc..00b875c]
action summary:
publish (notneeded: 1, ok: 2)
publish(ok): sub m/subsub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 2b6f246..6715c7b]
copy(ok): sub m/test_mod_annex_file (file) [to target...]
publish(ok): sub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 48688a2..df27460]
publish(ok): sub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 82396bd..6754378]
action summary:
copy (ok: 1)
publish (notneeded: 4, ok: 3)
add(ok): newfile (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch 28a88fb..f7cdcb5]
action summary:
publish (ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_subds_no_recursion create(ok): . (dataset)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub m (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subdir/subsub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/subsub m (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subdir/test_file (file)
save(ok): sub m (dataset)
add(ok): sub m (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (notneeded: 1, ok: 2)
copy(ok): sub m/subdir/test_file (file) [to target...]
publish(ok): sub m (dataset) [refs/heads/git-annex->target:refs/heads/git-annex dd06256..f15dc2d]
publish(ok): sub m (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 2295248..e4751a9]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
copy (ok: 1)
publish (ok: 4)
PASSED
datalad/core/distributed/tests/test_push.py::test_force_checkdatapresent create(ok): . (dataset)
add(ok): test_mod_annex_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 1466179..a5900eb]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
copy(ok): test_mod_annex_file (file) [to target...]
action summary:
copy (ok: 1)
publish (notneeded: 2)
action summary:
publish (notneeded: 2)
action summary:
publish (notneeded: 2)
copy(ok): test_mod_annex_file (file)
action summary:
copy (ok: 1)
publish (notneeded: 2)
copy(impossible): test_mod_annex_file (file) [Slated for transport, but no content present]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 1b2def0..af519a0]
action summary:
copy (impossible: 1)
publish (notneeded: 1, ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_ria_push create(ok): . (dataset)
add(ok): test_mod_annex_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_ria_pushxiqetjrb (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
copy(ok): test_mod_annex_file (file) [to datastore-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->datastore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->datastore:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
PASSED
datalad/core/distributed/tests/test_push.py::test_gh1426 create(ok): . (dataset)
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 172c6bf..8d2c7d2]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch c7efde3..e01cd35]
action summary:
publish (notneeded: 1, ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_publish_target_url SKIPPED
datalad/core/distributed/tests/test_push.py::test_gh1763 PASSED
datalad/core/distributed/tests/test_push.py::test_gh1811 create(ok): . (dataset)
add(ok): some (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_gh1811b46d81__ (dataset)
add(ok): somemore (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(impossible): . (dataset) [There is no active branch, cannot determine remote branch]
action summary:
publish (impossible: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_wanted create(ok): . (dataset)
add(ok): data.0 (file)
add(ok): secure.1 (file)
add(ok): secure.2 (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
drop(ok): secure.2 (file)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_push_wantedp113az1v (dataset)
copy(ok): data.0 (file) [to target...]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 67e543d..5193c06]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
action summary:
publish (notneeded: 2)
copy(ok): secure.1 (file) [to target...]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 0ed417c..1de078c]
action summary:
copy (ok: 1)
publish (notneeded: 1, ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_auto_data_transfer create(ok): . (dataset)
add(ok): foo.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_auto_data_transferz5ib_rdn/a (dataset)
publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex bbb1ebd..8e774c3]
publish(ok): . (dataset) [refs/heads/dl-test-branch->b:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
action summary:
publish (notneeded: 2)
copy(ok): foo.dat (file) [to b...]
action summary:
copy (ok: 1)
publish (notneeded: 2)
add(ok): bar.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): baz.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): baz.dat (file) [to b...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->b:refs/heads/dl-test-branch 6ef0d8a..9a90e45]
publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex b7b0f6b..01580b5]
action summary:
copy (ok: 1)
publish (ok: 2)
publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex 01580b5..32e1819]
action summary:
publish (notneeded: 1, ok: 1)
copy(ok): bar.dat (file) [to b...]
publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex aa0cd9f..f0d487d]
action summary:
copy (ok: 1)
publish (notneeded: 1, ok: 1)
PASSED
datalad/core/distributed/tests/test_push.py::test_auto_if_wanted_data_transfer_path_restriction create(ok): . (dataset)
add(ok): sub0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): reg.dat (file)
add(ok): sec.dat (file)
save(ok): sub1 (dataset)
add(ok): reg.dat (file)
add(ok): sec.dat (file)
save(ok): sub0 (dataset)
add(ok): sub0 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
add(ok): reg.dat (file)
add(ok): sec.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 9)
save (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restriction793nyb0n/a/sub1 (dataset)
create_sibling(ok): /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restriction793nyb0n/a/sub0 (dataset)
create_sibling(ok): /tmp/datalad_temp_test_auto_if_wanted_data_transfer_path_restriction793nyb0n/a (dataset)
action summary:
create_sibling (ok: 3)
copy(ok): sub0/reg.dat (file) [to b...]
publish(ok): sub0 (dataset) [refs/heads/git-annex->b:refs/heads/git-annex 4aef497..ccddf11]
publish(ok): sub0 (dataset) [refs/heads/dl-test-branch->b:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->b:refs/heads/git-annex c6db284..4487d7f]
publish(ok): . (dataset) [refs/heads/dl-test-branch->b:refs/heads/dl-test-branch [new branch]]
action summary:
copy (ok: 1)
publish (ok: 4)
copy(ok): reg.dat (file) [to b...]
action summary:
copy (ok: 1)
publish (notneeded: 2)
action summary:
publish (notneeded: 2)
copy(ok): sec.dat (file) [to b...]
action summary:
copy (ok: 1)
publish (notneeded: 2)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_git_annex_branch_when_no_data create(ok): . (dataset)
add(ok): f0 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_git_annex_branch_many_paths_same_data create(ok): . (dataset)
add(ok): f0 (file)
add(ok): f1 (file)
add(ok): f2 (file)
add(ok): f3 (file)
add(ok): f4 (file)
add(ok): f5 (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
copy(ok): f0 (file) [to target...]
copy(ok): f3 (file) [to target...]
copy(ok): f4 (file) [to target...]
publish(ok): . (dataset) [refs/heads/git-annex->target:refs/heads/git-annex 4b80045..95f0532]
publish(ok): . (dataset) [refs/heads/dl-test-branch->target:refs/heads/dl-test-branch [new branch]]
action summary:
copy (notneeded: 3, ok: 3)
publish (ok: 2)
PASSED
datalad/core/distributed/tests/test_push.py::test_push_matching create(ok): . (dataset)
add(ok): f0 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): f0 (file) [to local...]
publish(ok): . (dataset) [refs/heads/git-annex->local:refs/heads/git-annex d6e09cf..d6e1c0c]
publish(ok): . (dataset) [refs/heads/dl-test-branch->local:refs/heads/dl-test-branch [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
PASSED
datalad/core/distributed/tests/test_push.py::test_nested_pushclone_cycle_allplatforms create(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8jyf8pon/super (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file2.txt (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
add(ok): file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8jyf8pon/super (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatforms8jyf8pon/super/sub (dataset)
action summary:
configure-sibling (ok: 2)
create-sibling-ria (ok: 2)
update (ok: 2)
copy(ok): sub/file2.txt (file) [to store-storage...]
publish(ok): sub (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
publish(ok): sub (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]]
copy(ok): file1.txt (file) [to store-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->store:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->store:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 2)
publish (ok: 4)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatformsj127eo2q/super (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_nested_pushclone_cycle_allplatformsj127eo2q/super/sub (dataset)
get(ok): file1.txt (file) [from store-storage...]
get(ok): sub/file2.txt (file) [from store-storage...]
action summary:
configure-sibling (ok: 1)
get (ok: 2)
install (ok: 1)
subdataset(ok): sub (dataset)
.: store(-) [/tmp/datalad_temp_test_nested_pushclone_cycle_allplatformsa2kdrmiv/277/45996-c6a1-42ec-9a29-995bd7d315d2 (git)]
.: store(-) [/tmp/datalad_temp_test_nested_pushclone_cycle_allplatformsa2kdrmiv/b6d/072b0-bfd4-49c1-8c09-2e3ef9d934eb (git)]
subdataset(ok): sub (dataset)
nothing to save, working tree clean
nothing to save, working tree clean
PASSED
datalad/core/distributed/tests/test_push.py::test_push_custom_summary create(ok): . (dataset)
add(ok): f2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_raises create(error): . (dataset) [will not create a dataset in a non-empty directory, use `--force` option to ignore]
create(ok): . (dataset)
create(error): ../datalad_temp_test_create_raises119_66m1 (dataset) [dataset containing given paths is not underneath the reference dataset Dataset(/tmp/datalad_temp_test_create_raisesx5dgitol): /tmp/datalad_temp_test_create_raises119_66m1]
add(ok): ds- |;&%b5{}'"<> .datc (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): ds- |;&%b5{}'"<> .datc (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(error): ds- |;&%b5{}'"<> .datc (dataset) [collision with /tmp/datalad_temp_test_create_raisesx5dgitol/ds- |;&%b5{}'"<> .datc (dataset) in dataset /tmp/datalad_temp_test_create_raisesx5dgitol]
uninstall(ok): ds- |;&%b5{}'"<> .datc (dataset)
subdataset(ok): ds- |;&%b5{}'"<> .datc (dataset)
create(error): ds- |;&%b5{}'"<> .datc (dataset) [collision with /tmp/datalad_temp_test_create_raisesx5dgitol/ds- |;&%b5{}'"<> .datc (dataset) in dataset /tmp/datalad_temp_test_create_raisesx5dgitol]
create(error): ds- |;&%b5{}'"<> .datc /subsub (dataset) [collision with /tmp/datalad_temp_test_create_raisesx5dgitol/ds- |;&%b5{}'"<> .datc (dataset) in dataset /tmp/datalad_temp_test_create_raisesx5dgitol]
add(ok): down/someotherfile.tst (file)
add(ok): somefile.tst (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(error): down (dataset) [collision with content in parent dataset at /tmp/datalad_temp_test_create_raisesx5dgitol: ['/tmp/datalad_temp_test_create_raisesx5dgitol/down/someotherfile.tst']]
PASSED
datalad/core/local/tests/test_create.py::test_create_force_subds create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(error): . (dataset) [collision with /tmp/datalad_temp_test_create_force_subdswdc_cway/subds (dataset) in dataset /tmp/datalad_temp_test_create_force_subdswdc_cway]
create(ok): . (dataset)
uninstall(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_curdir create(ok): /tmp/datalad_temp_test_create_curdirj_9qgib_ (dataset)
create(ok): /tmp/datalad_temp_test_create_curdirr36a580s (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create create(ok): . (dataset)
add(ok): f1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_sub create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): some/what/deeper (dataset)
create(ok): . (dataset)
subdataset(ok): some/what/deeper (dataset)
add(ok): third (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): third (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): some/what/deeper (dataset)
subdataset(ok): third (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_sub_gh3463 add(ok): subds1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(ok): . (dataset)
add(ok): subds0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_dataset_same_as_path create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_sub_dataset_dot_no_path create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_subdataset_hierarchy_from_top create(ok): . (dataset)
add(ok): ds- |;&%b5{}'"<> .datc (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): ds- |;&%b5{}'"<> .datc (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): ds- |;&%b5{}'"<> .datc (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 2, ok: 1)
add(ok): file3 (file)
save(ok): ds- |;&%b5{}'"<> .datc /subsub (dataset)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
add(ok): file2 (file)
save(ok): ds- |;&%b5{}'"<> .datc (dataset)
add(ok): ds- |;&%b5{}'"<> .datc (dataset)
add(ok): .gitmodules (file)
add(ok): file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 7)
save (ok: 3)
PASSED
datalad/core/local/tests/test_create.py::test_nested_create create(ok): . (dataset)
add(ok): lvl1/lvl2/file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): lvl1/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): lvl1/subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): lvl1/subds (dataset)
add(ok): lvl1/empty (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): lvl1/empty (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(error): lvl1/lvl2 (dataset) [collision with content in parent dataset at /tmp/datalad_temp_test_nested_createmnsug3cz: ['/tmp/datalad_temp_test_nested_createmnsug3cz/lvl1/lvl2/file']]
create(error): lvl1/lvl2 (dataset) [will not create a dataset in a non-empty directory, use `--force` option to ignore]
add(ok): lvl1/lvl2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): lvl1/lvl2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): lvl1/empty (dataset)
subdataset(ok): lvl1/lvl2 (dataset)
subdataset(ok): lvl1/subds (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_saving_prior create(ok): /tmp/datalad_temp_tree_test_saving_priornoh5ve8e (dataset)
add(ok): ds2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): ds2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): ds2 (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_withcfg run(ok): /tmp/datalad_temp_test_create_withcfgjezhh5t0 (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
create(ok): . (dataset)
action summary:
create (ok: 1)
run (ok: 1)
run(ok): /tmp/datalad_temp_test_create_withcfgjezhh5t0/subds (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
run (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_fake_dates create(ok): /tmp/datalad_temp_test_create_fake_datesph4zp8un (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_cfg_passthrough create(ok): /tmp/datalad_temp_test_cfg_passthroughsqjqk4yv (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_empty_git_upstairs create(ok): /tmp/datalad_temp_tree_test_empty_git_upstairsuu7fc3nj/empty/ds (dataset)
create(ok): /tmp/datalad_temp_tree_test_empty_git_upstairsuu7fc3nj/nonempty/ds (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_with_obscure_name[path] PASSED
datalad/core/local/tests/test_create.py::test_create_with_obscure_name[dataset] PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[subdir-None-subdir_relpath] create(ok): . (dataset)
create(ok): /tmp/datalad_temp_check_create_path_semanticsofl7p43a/some/what/deeper (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[subdir-abspath-subdir_relpath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[subdir-abspath-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[parentds-None-relpath] create(ok): . (dataset)
create(ok): /tmp/datalad_temp_check_create_path_semanticsuolrrub4/some/what/deeper (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[parentds-abspath-relpath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[parentds-abspath-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[None-abspath-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[None-instance-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[None-instance-relpath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[elsewhere-abspath-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[elsewhere-instance-abspath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_create_relpath_semantics[elsewhere-instance-relpath] create(ok): . (dataset)
add(ok): some/what/deeper (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): some/what/deeper (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_create.py::test_gh2927 create(ok): . (dataset)
add(ok): subds_clean (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_clean (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_clean (dataset)
add(ok): .gitmodules (file)
save(ok): subds_clean (dataset)
add(ok): subds_clean (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_clean/subds_lvl1_clean (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
PASSED
datalad/core/local/tests/test_create.py::test_create_initopts_form[dict] create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_create_initopts_form[list] create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_create.py::test_bad_cfg_proc PASSED
datalad/core/local/tests/test_diff.py::test_magic_number PASSED
datalad/core/local/tests/test_diff.py::test_repo_diff create(ok): . (dataset)
add(ok): new (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): new (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_diff.py::test_diff create(ok): . (dataset)
add(ok): new (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_diff.py::test_diff_recursive create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): twofile (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
add(ok): onefile (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_diff.py::test_path_diff create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_diff.py::test_diff_nods create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_diff.py::test_diff_rsync_syntax create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subdir/deep (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/deep (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_diff.py::test_diff_nonexistent_ref_unicode create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_diff.py::test_no_worktree_impact_false_deletions create(ok): . (dataset)
add(ok): identical (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): new (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_diff.py::test_diff_fr_none_one_get_content_annexinfo_call create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_resulthooks.py::test_basics create(ok): . (dataset)
add(ok): file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_basicsk1vi6mz3 (dataset)
install(ok): /tmp/datalad_temp_test_basicsk1vi6mz3/subds (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_basicsk1vi6mz3/subds]
install(ok): /tmp/datalad_temp_test_basicsk1vi6mz3/subds2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_basicsk1vi6mz3/subds2]
get(ok): file1 (file) [from dl-test-remote...]
unlock(ok): file1 (file)
run(ok): /tmp/datalad_temp_test_basicsk1vi6mz3 (dataset) [touch /tmp/datalad_temp_test_basicsk1vi6...]
PASSED
datalad/core/local/tests/test_results.py::test_generic_result_renderer PASSED
datalad/core/local/tests/test_run.py::test_invalid_call create(ok): . (dataset)
run(impossible): /tmp/datalad_temp_test_invalid_callvf3mv23k (dataset) [clean dataset required to detect changes from command; use `datalad status` to inspect unsaved changes]
PASSED
datalad/core/local/tests/test_run.py::test_basics /bin/sh: 1: 7i3amhmuch9invalid: not found
/bin/sh: 1: 7i3amhmuch9invalid: not found
create(ok): . (dataset)
run(error): /tmp/datalad_temp_test_basicsy621gl9e (dataset) [7i3amhmuch9invalid]
run(error): /tmp/datalad_temp_test_basicsy621gl9e (dataset) [Input did not match existing file: not-here]
run(error): /tmp/datalad_temp_test_basicsy621gl9e (dataset) [Input did not match existing file: not-here]
run(ok): /tmp/datalad_temp_test_basicsy621gl9e (dataset) [cd .> dummy0]
add(ok): dummy0 (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_py2_unicode_command /bin/sh: 1: bB2.dat: not found
create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_py2_unicode_commandpi0mv5z9 (dataset) [/usr/bin/python3.12 -c "import sys; open...]
add(ok): bB0.dat (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_py2_unicode_commandpi0mv5z9 (dataset) [/usr/bin/python3.12 -c 'import sys; open...]
add(ok): bB1.dat (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_py2_unicode_commandpi0mv5z9 (dataset) [/usr/bin/python3.12 -c 'import sys; open...]
add(ok): B1 (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_sidecar create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_sidecara7dpi0lc (dataset) [cd .> dummy0]
add(ok): .datalad/runinfo/0a864f85901565641c1286a6fff77dc5 (file)
add(ok): dummy0 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_sidecara7dpi0lc (dataset) [cd .> dummy1]
add(ok): dummy1 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_sidecara7dpi0lc (dataset) [cd .> dummy2]
add(ok): .datalad/runinfo/df08d46983b8ceaf707e32f4ccd99faf (file)
add(ok): dummy2 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_sidecara7dpi0lc (dataset) [cd .> dummy3]
add(ok): dummy3 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_sidecara7dpi0lc (dataset) [cd .> dummy4]
add(ok): .datalad/runinfo/d6f713674d393803757fc1a09bed0fca (file)
add(ok): dummy4 (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_save_deletion create(ok): . (dataset)
add(ok): to_remove (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_run_save_deletionna4tjy8x (dataset) [rm to_remove]
delete(ok): to_remove (symlink)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_from_subds create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_run_from_subds6rz7ia94/sub (dataset) [cd .> foo]
add(ok): foo (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_from_subds_gh3551
create(ok): . (dataset)
add(ok): sub/input (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): output (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): output (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_run_from_subds_gh35514esdlgnd (dataset) [echo]
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): output (dataset)
add(ok): output (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): output/subds (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
run(ok): /tmp/datalad_temp_tree_test_run_from_subds_gh35514esdlgnd (dataset) [cd .> ../output/subds/f]
add(ok): f (file)
save(ok): output/subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): output (dataset)
add(ok): output (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_assume_ready f1
f1
Traceback (most recent call last):
File "<string>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'f1'
create(ok): . (dataset)
add(ok): f1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_run_assume_readyet1b8elu (dataset) [/usr/bin/python3.12 -c 'import sys; prin...]
run(ok): /tmp/datalad_temp_test_run_assume_readyet1b8elu (dataset) [/usr/bin/python3.12 -c 'import sys; prin...]
drop(ok): f1 (file)
add(ok): f2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): f2 (file)
run(ok): /tmp/datalad_temp_test_run_assume_readyet1b8elu (dataset) [/usr/bin/python3.12 -c 'import sys; impo...]
add(ok): f2 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_assume_readyet1b8elu (dataset) [/usr/bin/python3.12 -c 'import sys; impo...]
add(ok): f2 (file)
unlock(ok): f2 (file)
run(ok): /tmp/datalad_temp_test_run_assume_readyet1b8elu (dataset) [/usr/bin/python3.12 -c 'import sys; impo...]
add(ok): f2 (file)
run(ok): /tmp/datalad_temp_test_run_assume_readyet1b8elu (dataset) [/usr/bin/python3.12 -c 'import sys; impo...]
add(ok): f2 (file)
PASSED
datalad/core/local/tests/test_run.py::test_run_explicit create(ok): . (dataset)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_run_explicitgrzfdq31 (dataset)
add(ok): dirt_modified (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(impossible): /tmp/datalad_temp_test_run_explicitgrzfdq31 (dataset) [clean dataset required to detect changes from command; use `datalad status` to inspect unsaved changes]
PASSED
datalad/core/local/tests/test_run.py::test_inputs_quotes_needed create(ok): . (dataset)
add(ok): |;&%b5{}'"<> .datc .t (file)
add(ok): bar.txt (file)
add(ok): foo blah.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_inputs_quotes_needed_s5h9ito (dataset) [/usr/bin/python3.12 -c "import sys; open...]
add(ok): out0 (file)
save(ok): . (dataset)
unlock(ok): out0 (file)
run(ok): /tmp/datalad_temp_tree_test_inputs_quotes_needed_s5h9ito (dataset) [/usr/bin/python3.12 -c 'import sys; open...]
add(ok): out0 (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_inject create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_format_command_strip_leading_dashes create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_cmdline_disambiguation create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_path_semantics create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_path_semanticswjkwm4ag/ds0 (dataset) [cd .> one]
add(ok): s0/one (file)
save(ok): . (dataset)
unlock(ok): s0/one (file)
run(ok): /tmp/datalad_temp_test_run_path_semanticswjkwm4ag/ds0 (dataset) [cd .> one]
add(ok): s0/one (file)
create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_path_semanticswjkwm4ag/ds0 (dataset) [cd .> /tmp/datalad_temp_test_run_path_se...]
add(ok): two (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_path_semanticswjkwm4ag/ds0 (dataset) [cd .> /tmp/datalad_temp_test_run_path_se...]
add(ok): three (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_path_semanticswjkwm4ag/ds0 (dataset) [cd .> four]
run(ok): /tmp/datalad_temp_test_run_path_semanticswjkwm4ag/ds0 (dataset) [cd .> five]
add(ok): five (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_remove_keeps_leading_directory create(ok): . (dataset)
add(ok): d/foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_run.py::test_run_reglob_outputs create(ok): . (dataset)
add(ok): write_text.py (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_run_reglob_outputsi3crsde5 (dataset) [/usr/bin/python3.12 write_text.py foo]
add(ok): foo.txt (file)
save(ok): . (dataset)
unlock(ok): foo.txt (file)
run(ok): /tmp/datalad_temp_test_run_reglob_outputsi3crsde5 (dataset) [/usr/bin/python3.12 write_text.py bar]
add(ok): bar.txt (file)
add(ok): foo.txt (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_unexpanded_placeholders create(ok): . (dataset)
run(error): /tmp/datalad_temp_test_run_unexpanded_placeholders1oem4vie (dataset) [Input did not match existing file: foo*]
run(ok): /tmp/datalad_temp_test_run_unexpanded_placeholders1oem4vie (dataset) [/usr/bin/python3.12 -c 'import sys; open...]
add(ok): arg1 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_unexpanded_placeholders1oem4vie (dataset) [/usr/bin/python3.12 -c 'import sys; open...]
add(ok): arg2 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_unexpanded_placeholders1oem4vie (dataset) [/usr/bin/python3.12 -c 'import sys; open...]
add(ok): arg3 (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_run_empty_repo create(ok): . (dataset)
run(error): /tmp/datalad_temp_test_run_empty_repoz2tgin3y (dataset) [Input did not match existing file: *]
run(ok): /tmp/datalad_temp_test_run_empty_repoz2tgin3y (dataset) [/usr/bin/python3.12 -c 'open('"'"'foo'"'...]
add(ok): foo (file)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_dry_run create(ok): . (dataset)
add(ok): bar (file)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): baz (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
uninstall(ok): sub (dataset)
PASSED
datalad/core/local/tests/test_run.py::test_io_substitution create(ok): . (dataset)
add(ok): |;&%b5{}'"<> .datc .t (file)
add(ok): normal.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_run.py::test_format_iospecs PASSED
datalad/core/local/tests/test_run.py::test_substitution_config PASSED
datalad/core/local/tests/test_save.py::test_save create(ok): . (dataset)
save(ok): . (dataset)
add(ok): new_file.tst (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): new_file.tst (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
save(ok): . (dataset)
add(ok): one.txt (file)
add(ok): two.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): some_file.tst (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): someotherds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): someotherds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
save(error): . (dataset) [cannot tag this version: fatal: tag 'new_sub' already exists]
PASSED
datalad/core/local/tests/test_save.py::test_save_message_file create(ok): . (dataset)
add(ok): msg (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_renamed_file[False-True] create(ok): . (dataset)
save(ok): . (dataset)
delete(ok): new (symlink)
save(ok): . (dataset)
action summary:
delete (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_renamed_file[False-False] create(ok): . (dataset)
save(ok): . (dataset)
delete(ok): new (file)
save(ok): . (dataset)
action summary:
delete (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_subdataset_save create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): new (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): new2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 1, ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_subsuperdataset_save create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1/sub2 (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1/sub2/sub3 (dataset)
action summary:
add (ok: 6)
create (ok: 1)
save (ok: 3)
PASSED
datalad/core/local/tests/test_save.py::test_symlinked_relpath create(ok): . (dataset)
save(ok): . (dataset)
add(ok): d/mike2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_bf1886 create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): down (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/up (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/subsubdir/upup (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): /tmp/datalad_temp_test_bf1886pdrgzowa/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
add(ok): subdir/subsubdir/upup2 (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
create(ok): /tmp/datalad_temp_test_bf1886pdrgzowa/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): subdir/subsubdir/upup3 (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (notneeded: 1, ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_gh2043p1 create(ok): . (dataset)
add(ok): 1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): 1 (file)
add(ok): 1 (file)
action summary:
add (ok: 1)
save (notneeded: 1)
add(ok): 2 (file)
add(ok): 3 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_bf2043p2 create(ok): . (dataset)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_encoding create(ok): . (dataset)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_add_files create(ok): . (dataset)
add(ok): test_annex.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): test.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): test1.dat (file)
add(ok): test2.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): dir/ |;&%b5{}'"<> .datc (file)
add(ok): dir/testindir (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_add_subdataset create(ok): /tmp/datalad_temp_tree_test_add_subdatasetr4socem1/dir (dataset)
create(ok): /tmp/datalad_temp_tree_test_add_subdatasetr4socem1 (dataset)
add(ok): |;&%b5{}'"<> .datc (file)
add(ok): testindir (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): dir (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
subdataset(ok): dir (dataset)
create(ok): /tmp/datalad_temp_test_add_subdatasetbmftd852 (dataset)
install(ok): /tmp/datalad_temp_tree_test_add_subdatasetr4socem1/other (dataset)
subdataset(ok): dir (dataset)
add(ok): other (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
uninstall(ok): other (dataset)
install(ok): /tmp/datalad_temp_tree_test_add_subdatasetr4socem1/other (dataset) [Installed subdataset in order to get /tmp/datalad_temp_tree_test_add_subdatasetr4socem1/other]
PASSED
datalad/core/local/tests/test_save.py::test_add_mimetypes create(ok): . (dataset)
add(ok): empty (file)
add(ok): file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): file2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_gh1597 create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
subdataset(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_gh1597_simpler create(ok): . (dataset)
add(ok): .gitignore (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/.gitattributes (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_update_known_submodule create(ok): . (dataset)
create(ok): /tmp/datalad_temp_test_update_known_submodule9yk_6cvu/wo_ref/sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
create(ok): /tmp/datalad_temp_test_update_known_submodule9yk_6cvu/w_ref/sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_add_recursive create(ok): . (dataset)
add(ok): down/sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): down/sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): new (file)
save(ok): sub2/subsub (dataset)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (notneeded: 1, ok: 3)
PASSED
datalad/core/local/tests/test_save.py::test_relpath_add create(ok): . (dataset)
add(ok): dir/testindir (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): |;&%b5{}'"<> .datc (file)
add(ok): dir/ |;&%b5{}'"<> .datc (file)
add(ok): dir2/testindir3 (file)
add(ok): test.txt (file)
add(ok): test1.dat (file)
add(ok): test2.dat (file)
add(ok): test_annex.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 7)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_bf2541 create(ok): /tmp/datalad_temp_test_bf25411cwf0eic (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): symlink (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (notneeded: 1, ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_remove_subds create(ok): /tmp/datalad_temp_test_remove_subdst8v8dk41 (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub/subsub (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
subdataset(ok): sub (dataset)
deleted: sub (dataset)
delete(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
delete (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_partial_unlocked create(ok): /tmp/datalad_temp_test_partial_unlockedp1_lnjni (dataset)
add(ok): normal.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): normal.txt (file)
add(ok): normal.txt (file)
action summary:
add (ok: 1)
save (notneeded: 1)
add(ok): ingit.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): culprit.txt (file)
add(ok): ingit.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
unlock(ok): culprit.txt (file)
add(ok): .gitattributes (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_partial_commit_shrinking_annex create(ok): /tmp/datalad_temp_tree_test_save_partial_commit_shrinking_annex03m_68bk (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): foo (file)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_path_arg_call create(ok): /tmp/datalad_temp_test_path_arg_calluhhgvwmb (dataset)
add(ok): abs.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): rel.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_windows_incompatible_names create(ok): . (dataset)
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): imgood (file)
save(impossible): illegal:character.txt (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(impossible): spaceending (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(impossible): dirs with spaces/seriously? (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(impossible): lookmumadot. (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(impossible): dirs with spaces/why somuch?wrongstuff. (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(impossible): COM1.txt (file) [Incompatible name for Windows systems; disable with datalad.save.windows-compat-warning.]
save(ok): . (dataset)
action summary:
add (ok: 1)
save (impossible: 6, ok: 1)
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): COM1.txt (file)
add(ok): dirs with spaces/seriously? (file)
add(ok): dirs with spaces/why somuch?wrongstuff. (file)
add(ok): illegal:character.txt (file)
add(ok): lookmumadot. (file)
add(ok): spaceending (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): more illegal:characters?.py (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_surprise_subds create(ok): /tmp/datalad_temp_tree_test_surprise_subdszadn1_ne (dataset)
create(ok): /tmp/datalad_temp_tree_test_surprise_subdszadn1_ne/d2/subds (dataset)
add_submodule(error): /tmp/datalad_temp_tree_test_surprise_subdszadn1_ne/d1/subrepo (dataset) [cannot add subdataset AnnexRepo(/tmp/datalad_temp_tree_test_surprise_subdszadn1_ne/d1/subrepo) with no commits]
add(ok): d2/subds (dataset)
add(ok): .gitmodules (file)
add(ok): file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
add_submodule (error: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_bf3285 create(ok): . (dataset)
create(ok): /tmp/datalad_temp_tree_test_bf3285b7eegvcr/subds (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_on_failure_continue create(ok): . (dataset)
status(error): ../outside [path not underneath the reference dataset /tmp/datalad_temp_tree_test_on_failure_continuebh3r52ww/ds]
add(ok): within (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
status (error: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_obscure_name create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[True-None] create(ok): . (dataset)
add(ok): .dot (file)
add(ok): .dot-subdir/.dot (file)
add(ok): .dot-subdir/nodot (file)
add(ok): nodot (file)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[True-nodot-subdir] create(ok): . (dataset)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[False-None] create(ok): . (dataset)
add(ok): .dot (file)
add(ok): .dot-subdir/.dot (file)
add(ok): .dot-subdir/nodot (file)
add(ok): nodot (file)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[False-nodot-subdir] create(ok): . (dataset)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[None-None] create(ok): . (dataset)
add(ok): .dot (file)
add(ok): .dot-subdir/.dot (file)
add(ok): .dot-subdir/nodot (file)
add(ok): nodot (file)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_dotfiles[None-nodot-subdir] create(ok): . (dataset)
add(ok): nodot-subdir/.dot (file)
add(ok): nodot-subdir/nodot (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_nested_subs_explicit_paths create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
add(ok): s3 (dataset)
add(ok): .gitmodules (file)
save(ok): s1/s2 (dataset)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): s1 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 3)
subdataset(ok): s1 (dataset)
subdataset(ok): s1/s2 (dataset)
subdataset(ok): s1/s2/s3 (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_save_gitrepo_annex_subds_adjusted create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_adjusted_partial SKIPPED
datalad/core/local/tests/test_save.py::test_save_diff_ignore_submodules_config create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_git_mv_fixup create(ok): . (dataset)
add(ok): subdir/foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
delete(ok): subdir/foo (symlink)
save(ok): . (dataset)
action summary:
delete (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_save.py::test_save_amend create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_sub (file)
save(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
add(ok): somefile (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 2)
save(ok): . (dataset)
unlock(ok): file_in_sub (file)
add(ok): file_in_sub (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
unlock(ok): file_in_sub (file)
add(ok): somefile (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
save(ok): . (dataset)
save(ok): . (dataset)
PASSED
datalad/core/local/tests/test_save.py::test_save_sub_trailing_sep_bf6547 create(ok): . (dataset)
create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 1, ok: 1)
PASSED
datalad/core/local/tests/test_status.py::test_runnin_on_empty PASSED
datalad/core/local/tests/test_status.py::test_status_basics create(ok): . (dataset)
status(error): ../datalad_temp_test_status_basics8qxeye8i [path not underneath the reference dataset /tmp/datalad_temp_test_status_basics9ho1fdog]
PASSED
datalad/core/local/tests/test_status.py::test_status_nods create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/core/local/tests/test_status.py::test_status create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_status.py::test_untracked_annex_query create(ok): . (dataset)
untracked: untracked_file.txt (file)
PASSED
datalad/core/local/tests/test_status.py::test_subds_status create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): someotherds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): someotherds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/core/local/tests/test_status.py::test_status_symlinked_dir_within_repo create(ok): . (dataset)
add(ok): bar (file)
add(ok): foo/f (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/core/local/tests/test_status.py::test_get_paths_by_ds create(ok): . (dataset)
create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/customremotes/tests/test_archives.py::test_basic_scenario PASSED
datalad/customremotes/tests/test_archives.py::test_annex_get_from_subdir create(ok): . (dataset)
add(ok): a.tar.gz (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_test_annex_get_from_subdirq8_dl4hb (dataset)
PASSED
datalad/customremotes/tests/test_archives.py::test_get_git_environ_adjusted PASSED
datalad/customremotes/tests/test_archives.py::test_no_rdflib_loaded PASSED
datalad/customremotes/tests/test_archives.py::test_link_file_load PASSED
datalad/customremotes/tests/test_base.py::test_get_contentlocation PASSED
datalad/customremotes/tests/test_base.py::test_ensure_datalad_remote_unkown_remote PASSED
datalad/customremotes/tests/test_base.py::test_ensure_datalad_remote_init_and_enable_needed create(ok): . (dataset)
PASSED
datalad/customremotes/tests/test_base.py::test_ensure_datalad_remote_maybe_enable[False] create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_ensure_datalad_remote_maybe_enablelw6jxwkk/b (dataset)
PASSED
datalad/customremotes/tests/test_base.py::test_ensure_datalad_remote_maybe_enable[True] create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_ensure_datalad_remote_maybe_enabler_2trokw/b (dataset)
PASSED
datalad/customremotes/tests/test_datalad.py::test_basic_scenario_local_url SKIPPED
datalad/customremotes/tests/test_datalad.py::test_basic_scenario_s3 SKIPPED
datalad/customremotes/tests/test_main.py::test_erroring_out PASSED
datalad/customremotes/tests/test_ria_utils.py::test_setup_store SKIPPED
datalad/customremotes/tests/test_ria_utils.py::test_setup_ds_in_store SKIPPED
datalad/customremotes/tests/test_ria_utils.py::test_verify_ria_url PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_invalid_path PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_instance_from_existing PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_instance_from_not_existing PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_init_options PASSED
datalad/dataset/tests/test_gitrepo.py::test_init_fail_under_known_subdir PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_equals PASSED
datalad/dataset/tests/test_gitrepo.py::test_GitRepo_flyweight PASSED
datalad/dataset/tests/test_gitrepo.py::test_gitrepo_call_git_methods PASSED
datalad/dataset/tests/test_gitrepo.py::test_fake_dates SKIPPED (Core...)
datalad/dataset/tests/test_gitrepo.py::test_get_dot_git PASSED
datalad/dataset/tests/test_gitrepo.py::test_call_git_items PASSED
datalad/dataset/tests/test_gitrepo.py::test_call_git_call_git_items_identity PASSED
datalad/distributed/tests/test_create_sibling_ghlike.py::test_invalid_call create(ok): . (dataset)
create_sibling_gin [dry-run](error): . (dataset) [already has a configured sibling "gin"]
PASSED
datalad/distributed/tests/test_create_sibling_ghlike.py::test_dryrun create(ok): . (dataset)
create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus']
create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'strangeorg/bogus']
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus']
create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus-subds']
action summary:
create_sibling_gin [dry-run] (ok: 2)
uninstall(ok): subds (dataset)
create_sibling_gin [dry-run](ok): [would create sibling 'gin' and repository 'bogus']
PASSED
datalad/distributed/tests/test_create_sibling_gin.py::test_gin SKIPPED
datalad/distributed/tests/test_create_sibling_gitea.py::test_gitea SKIPPED
datalad/distributed/tests/test_create_sibling_github.py::test_github SKIPPED
datalad/distributed/tests/test_create_sibling_gitlab.py::test_dryrun create(ok): . (dataset)
add(ok): subdir/collection1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/collection1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): collection2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): collection2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): deepsub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): deepsub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): collection2 (dataset)
add(ok): collection2 (dataset)
add(ok): subdir/collection1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (notneeded: 5, ok: 2)
create_sibling_gitlab(impossible): imaghost (dataset) [No installed dataset found under /tmp/datalad_temp_test_dryrun5d4l9qed/imaghost, forgot to "get" it?]
create_sibling_gitlab(error): . (dataset) [No project name/location specified, and no configuration to derive one]
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): collection2 (dataset)
create_sibling_gitlab(ok): collection2/sub1 (dataset)
create_sibling_gitlab(ok): collection2/sub1/deepsub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub2 (dataset)
action summary:
create_sibling_gitlab (ok: 7)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): collection2 (dataset)
create_sibling_gitlab(ok): collection2/sub1 (dataset)
create_sibling_gitlab(ok): collection2/sub1/deepsub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub2 (dataset)
action summary:
create_sibling_gitlab (ok: 7)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): collection2 (dataset)
create_sibling_gitlab(ok): collection2/sub1 (dataset)
create_sibling_gitlab(ok): collection2/sub1/deepsub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub2 (dataset)
action summary:
create_sibling_gitlab (ok: 7)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): collection2 (dataset)
create_sibling_gitlab(ok): collection2/sub1 (dataset)
create_sibling_gitlab(ok): collection2/sub1/deepsub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub2 (dataset)
action summary:
create_sibling_gitlab (ok: 7)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(ok): collection2 (dataset)
create_sibling_gitlab(ok): collection2/sub1 (dataset)
create_sibling_gitlab(ok): collection2/sub1/deepsub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub1 (dataset)
create_sibling_gitlab(ok): subdir/collection1/sub2 (dataset)
action summary:
create_sibling_gitlab (ok: 7)
uninstall(ok): subdir/collection1 (dataset)
uninstall(ok): collection2 (dataset)
action summary:
uninstall (ok: 2)
create_sibling_gitlab(ok): . (dataset)
create_sibling_gitlab(impossible): . (dataset) [No installed subdatasets found underneath /tmp/datalad_temp_test_dryrun5d4l9qed, forgot to "get" any?]
action summary:
create_sibling_gitlab (impossible: 1, ok: 1)
PASSED
datalad/distributed/tests/test_create_sibling_gitlab.py::test_fake_gitlab create(ok): . (dataset)
create_sibling_gitlab(ok): . (dataset) [sibling repository 'dummy' created at None]
configure-sibling(ok): . (sibling)
action summary:
configure-sibling (ok: 1)
create_sibling_gitlab (ok: 1)
configure-sibling(ok): . (sibling)
action summary:
configure-sibling (ok: 1)
create_sibling_gitlab (notneeded: 1)
create_sibling_gitlab(error): . (dataset) [There is already a project at 'here/project' on site 'dummy', but no sibling with name 'othername' is configured, maybe use --existing=reconfigure]
create_sibling_gitlab(error): . (dataset) [already has a configured sibling "dummy"]
create_sibling_gitlab(ok): . (dataset) [sibling repository 'sshsite' created at None]
configure-sibling(ok): . (sibling)
action summary:
configure-sibling (ok: 1)
create_sibling_gitlab (ok: 1)
create_sibling_gitlab(error): . (dataset) [There is already a project at 'here/project' on site 'sshsite', but no sibling with name 'sshsite2' is configured, maybe use --existing=reconfigure]
create_sibling_gitlab(error): . (dataset) [already has a configured sibling "sshsite"]
PASSED
datalad/distributed/tests/test_create_sibling_gogs.py::test_invalid_call create(ok): . (dataset)
PASSED
datalad/distributed/tests/test_create_sibling_gogs.py::test_gogs SKIPPED
datalad/distributed/tests/test_create_sibling_ria.py::test_invalid_calls create(ok): . (dataset)
create-sibling-ria(error): /tmp/datalad_temp_test_invalid_callsixcy541f (dataset) [Missing ria+ prefix in final URL: file:///some/where]
PASSED
datalad/distributed/tests/test_create_sibling_ria.py::test_create_simple create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): evenmore.txt (file)
save(ok): sub2 (dataset)
add(ok): other.txt (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
add(ok): ds/file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_storee81rue3w (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
copy(ok): ds/file1.txt (file) [to datastore-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->datastore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->datastore:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 1)
publish (ok: 2)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp__test_create_storeskv8tyuu/test_install (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
get(ok): ds/file1.txt (file) [from datastore-storage...]
create-sibling-ria(error): /tmp/datalad_temp_tree__test_create_storee81rue3w (sibling) [a sibling 'datastore' is already configured in dataset '/tmp/datalad_temp_tree__test_create_storee81rue3w']
create-sibling-ria(error): /tmp/datalad_temp_tree__test_create_storee81rue3w (sibling) [a sibling 'datastore-storage' is already configured in dataset '/tmp/datalad_temp_tree__test_create_storee81rue3w']
action summary:
create-sibling-ria (error: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_storee81rue3w (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_storee81rue3w/sub (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_storee81rue3w/sub2 (dataset)
action summary:
configure-sibling (ok: 3)
create-sibling-ria (ok: 3)
update (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_storee81rue3w (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_storee81rue3w (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree__test_create_storee81rue3w (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
SKIPPED
datalad/distributed/tests/test_create_sibling_ria.py::test_create_push_url SKIPPED
datalad/distributed/tests/test_create_sibling_ria.py::test_create_alias create(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_create_aliaszxfa7f1z/a (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
install(ok): /tmp/datalad_temp_test_create_alias6axi58v_/a (dataset)
create(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_create_aliaszxfa7f1z/b (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
install(ok): /tmp/datalad_temp_test_create_alias6axi58v_/b (dataset)
create(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_create_aliaszxfa7f1z/c (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
PASSED
datalad/distributed/tests/test_create_sibling_ria.py::test_storage_only create(ok): . (dataset)
add(ok): ds/file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_storage_onlyx4mkhqkd (dataset)
copy(ok): ds/file1.txt (file) [to datastore...]
action summary:
copy (ok: 1)
PASSED
datalad/distributed/tests/test_create_sibling_ria.py::test_no_storage create(ok): . (dataset)
add(ok): ds/file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_no_storagej1r5h2ke (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_no_storagej1r5h2ke (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->datastore1:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->datastore1:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
PASSED
datalad/distributed/tests/test_create_sibling_ria.py::test_no_store create(ok): . (dataset)
create-sibling-ria(error): /tmp/datalad_temp_test_no_storew4dah47k (dataset) [Missing ria+ prefix in final URL: 'ria+file:///no/where']
PASSED
datalad/distributed/tests/test_drop.py::test_drop_file_content create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(error): ../datalad_temp_test_drop_file_contentibr3reug [path not underneath the reference dataset Dataset(/tmp/datalad_temp_test_drop_file_contentq3ldgzmp)]
drop(error): subdir/annexed_file.txt (file) [unsafe; Could not verify the existence of the 1 necessary copy.; (Use --reckless availability to override this check, or adjust numcopies.)]
drop(error): subds_modified/subfunky (file) [File unknown to git]
drop(error): funky (file) [File unknown to git]
action summary:
drop (error: 2)
drop(ok): subds_modified/subdir/annexed_file.txt (file)
drop(ok): subdir/annexed_file.txt (file)
action summary:
drop (ok: 2)
drop(impossible): subdir/annexed_file.txt (symlink) [cannot drop modified content, save first]
drop(impossible): subds_modified/subds_lvl1_modified/ |;&%b5{}'"<> .datc _directory_untracked (directory) [cannot drop untracked content, save first]
drop(impossible): subds_modified/subds_lvl1_modified/ |;&%b5{}'"<> .datc _directory_untracked (directory) [cannot drop untracked content, save first]
drop(impossible): subds_modified/link2superdsdir (symlink) [cannot drop untracked content, save first]
drop(impossible): |;&%b5{}'"<> .datc file_modified_ (file) [cannot drop untracked content, save first]
drop(impossible): directory_untracked (directory) [cannot drop untracked content, save first]
drop(impossible): link2dir (symlink) [cannot drop untracked content, save first]
drop(impossible): link2subdsdir (symlink) [cannot drop untracked content, save first]
drop(impossible): link2subdsroot (symlink) [cannot drop untracked content, save first]
drop(impossible): subdir/file_modified (file) [cannot drop untracked content, save first]
drop(impossible): subdir/link2annex_files.txt (symlink) [cannot drop untracked content, save first]
drop(impossible): subdir/annexed_file.txt (symlink) [cannot drop modified content, save first]
action summary:
drop (impossible: 10)
PASSED
datalad/distributed/tests/test_drop.py::test_drop_allkeys create(ok): . (dataset)
add(ok): file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(impossible): . (dataset) [cannot drop allkeys, with path constraints given: [PosixPath('/tmp/datalad_temp_test_drop_allkeys8yaadhc6/some')]]
install(ok): /tmp/datalad_temp_test_drop_allkeysbbhr77dj (dataset)
drop(error): . (key) [unsafe
Could not verify the existence of the 1 necessary copy.
(Use --reckless availability to override this check, or adjust numcopies.)]
drop(ok): . (key)
action summary:
drop (error: 1, ok: 1)
drop(ok): . (key)
PASSED
datalad/distributed/tests/test_drop.py::test_undead_annex_detection create(ok): . (dataset)
create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_undead_annex_detectionkoddas9j (dataset)
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex b6c3680..1f1387d]
action summary:
publish (notneeded: 1, ok: 1)
PASSED
datalad/distributed/tests/test_drop.py::test_uninstall_recursive create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
uninstall(error): . (dataset) [cannot drop dataset, subdataset(s) still present (forgot --recursive?): ['/tmp/datalad_temp_test_uninstall_recursiveyad2_hzo/sub']]
uninstall(ok): sub (dataset)
uninstall(ok): . (dataset)
action summary:
uninstall (ok: 2)
PASSED
datalad/distributed/tests/test_drop.py::test_unpushed_state_detection create(ok): . (dataset)
add(ok): file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_unpushed_state_detectionfej52e2k (dataset)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): file2 (file) [to dl-test-remote...]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex 44472c5..4973edd]
publish(ok): . (dataset) [refs/heads/otherbranch->dl-test-remote:refs/heads/otherbranch 78e2c08..f5a0bee]
action summary:
copy (ok: 1)
publish (ok: 2)
PASSED
datalad/distributed/tests/test_drop.py::test_safetynet create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_safetynet2v9jym7v (dataset)
drop(impossible): file1 (file) [cannot drop untracked content, save first]
add(ok): file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
uninstall(error): . (dataset) [to-be-dropped dataset has revisions that are not available at any known sibling. Use `datalad push --to ...` to push these before dropping the local dataset, or ignore via `--reckless availability`. Unique revisions: ['dl-test-branch']]
publish(ok): . (dataset) [refs/heads/dl-test-branch->dl-test-remote:refs/heads/dl-test-branch 5844c57..8f24de1]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex 4d6fcb4..5194bdc]
action summary:
publish (ok: 2)
uninstall(error): . (dataset) [to-be-deleted local annex not declared 'dead' at the following siblings. Announce death (`git annex dead here` + `datalad push --to ...`), or ignore via `--reckless undead`: ['dl-test-remote']]
uninstall(error): . (dataset) [to-be-deleted local annex not declared 'dead' at the following siblings. Announce death (`git annex dead here` + `datalad push --to ...`), or ignore via `--reckless undead`: ['dl-test-remote']]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex 5194bdc..02b1d3c]
action summary:
publish (notneeded: 1, ok: 1)
drop(error): . (key) [unsafe
Could not verify the existence of the 1 necessary copy.
(Use --reckless availability to override this check, or adjust numcopies.)]
copy(ok): file1 (file) [to dl-test-remote...]
action summary:
copy (ok: 1)
publish (notneeded: 2)
drop(ok): . (key)
uninstall(ok): . (dataset)
action summary:
drop (ok: 1)
uninstall (ok: 1)
PASSED
datalad/distributed/tests/test_drop.py::test_kill create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
uninstall(ok): . (dataset)
PASSED
datalad/distributed/tests/test_drop.py::test_kill_7013 create(ok): . (dataset)
add(ok): subdir/subdir/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/subdir/subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subdir/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
uninstall(ok): subds (dataset)
uninstall(ok): subdir/subdir/subds (dataset)
uninstall(ok): subdir/subds (dataset)
action summary:
drop (notneeded: 1)
uninstall (ok: 3)
PASSED
datalad/distributed/tests/test_drop.py::test_refuse_to_drop_cwd create(ok): . (dataset)
drop(error): .. [path not underneath the reference dataset Dataset(/tmp/datalad_temp_test_refuse_to_drop_cwdd390hh9m)]
drop(error): ../.. [path not underneath the reference dataset Dataset(/tmp/datalad_temp_test_refuse_to_drop_cwdd390hh9m)]
drop(error): .. [path not underneath the reference dataset Dataset(/tmp/datalad_temp_test_refuse_to_drop_cwdd390hh9m)]
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/distributed/tests/test_drop.py::test_careless_subdataset_uninstall create(ok): . (dataset)
add(ok): deep1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): deep1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): deep2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): deep2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): deep1 (dataset)
subdataset(ok): deep2 (dataset)
uninstall(ok): . (dataset)
subdataset(ok): deep1 (dataset)
subdataset(ok): deep2 (dataset)
PASSED
datalad/distributed/tests/test_drop.py::test_drop_nocrash_absent_subds create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
action summary:
drop (notneeded: 2)
PASSED
datalad/distributed/tests/test_drop.py::test_uninstall_without_super create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(ok): /tmp/datalad_temp_test_uninstall_without_superouz7lw3i/nosub (dataset)
subdataset(ok): sub (dataset)
uninstall(ok): sub (dataset)
subdataset(ok): sub (dataset)
PASSED
datalad/distributed/tests/test_drop.py::test_drop_from_git create(ok): . (dataset)
add(ok): file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
action summary:
drop (notneeded: 2)
PASSED
datalad/distributed/tests/test_drop.py::test_drop_uninit_annexrepo create(ok): . (dataset)
uninstall(ok): . (dataset)
PASSED
datalad/distributed/tests/test_drop.py::test_drop_allkeys_result_contains_annex_error_messages create(ok): . (dataset)
drop(error): . (key) [git-annex error message here]
PASSED
datalad/distributed/tests/test_drop.py::test_nodrop_symlinked_annex PASSED
datalad/distributed/tests/test_export_to_figshare.py::test_get_default_title create(ok): . (dataset)
PASSED
datalad/distributed/tests/test_ora_http.py::test_initremote create(ok): . (dataset)
PASSED
datalad/distributed/tests/test_ora_http.py::test_read_access create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
drop(ok): one.txt (file)
drop(ok): subdir/four (file)
drop(ok): subdir/two (file)
drop(ok): three.txt (file)
drop(ok): . (directory)
action summary:
drop (ok: 5)
get(ok): one.txt (file) [from ora-remote...]
get(ok): subdir/four (file) [from ora-remote...]
get(ok): subdir/two (file) [from ora-remote...]
get(ok): three.txt (file) [from ora-remote...]
action summary:
get (ok: 4)
download_url(ok): /tmp/datalad_temp_test_read_accesss5oni_u0/dummy (file)
add(ok): dummy (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
PASSED
datalad/distributed/tests/test_ria.py::test_ephemeral create(ok): . (dataset)
add(ok): file1.txt (file)
add(ok): sub/other.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_ephemeral4xzns7ll (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
copy(ok): file1.txt (file) [to riastore-storage...]
copy(ok): sub/other.txt (file) [to riastore-storage...]
publish(ok): . (dataset) [refs/heads/dl-test-branch->riastore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->riastore:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 2)
publish (ok: 2)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_ephemeralxp9tdy98 (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
unlock(ok): file1.txt (file)
add(ok): file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->dl-test-remote:refs/heads/dl-test-branch 761c90a..d4c84b0]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex 36195d3..c6e2fb4]
action summary:
publish (ok: 2)
merge(ok): . (dataset) [Merged riastore/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
get(ok): file1.txt (file) [from riastore-storage...]
get(ok): file1.txt (file) [from riastore-storage...]
action summary:
get (notneeded: 1, ok: 1)
update(ok): . (dataset)
action summary:
get (notneeded: 1, ok: 1)
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_initremote_basic_sshurl SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_initremote_basic_fileurl create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_initremote_basic_httpurl create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_initremote_basic_httpsurl SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_initremote_alias SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_initremote_rewrite SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_remote_layout_ssh SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_remote_layout
7-Zip 24.08 (arm64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-08-11
64-bit arm_v:8-A locale=C.UTF-8 Threads:4 OPEN_MAX:1024
Scanning the drive:
12 folders, 4 files, 32 bytes (1 KiB)
Creating archive: /tmp/datalad_temp__test_remote_layout_zaca6uz/90d/cfcb0-f73c-4f13-a619-0a7ea561a8b1/archives/archive.7z
Add new data to archive: 12 folders, 4 files, 32 bytes (1 KiB)
Files read from disk: 4
Archive size: 440 bytes (1 KiB)
Everything is Ok
7-Zip 24.08 (arm64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-08-11
64-bit arm_v:8-A locale=C.UTF-8 Threads:4 OPEN_MAX:1024
Scanning the drive:
6 folders, 2 files, 16 bytes (1 KiB)
Creating archive: /tmp/datalad_temp__test_remote_layout_zaca6uz/90d/cfcb0-f73c-4f13-a619-0a7ea561a8b1/archives/archive2.7z
Add new data to archive: 6 folders, 2 files, 16 bytes (1 KiB)
Files read from disk: 2
Archive size: 294 bytes (1 KiB)
Everything is Ok
7-Zip 24.08 (arm64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-08-11
64-bit arm_v:8-A locale=C.UTF-8 Threads:4 OPEN_MAX:1024
Scanning the drive:
6 folders, 2 files, 16 bytes (1 KiB)
Creating archive: /tmp/datalad_temp__test_remote_layout_zaca6uz/90d/cfcb0-f73c-4f13-a619-0a7ea561a8b1/archives/archive3.7z
Add new data to archive: 6 folders, 2 files, 16 bytes (1 KiB)
Files read from disk: 2
Archive size: 295 bytes (1 KiB)
Everything is Ok
7-Zip 24.08 (arm64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-08-11
64-bit arm_v:8-A locale=C.UTF-8 Threads:4 OPEN_MAX:1024
Scanning the drive:
6 folders, 2 files, 16 bytes (1 KiB)
Creating archive: /tmp/datalad_temp__test_remote_layout_zaca6uz/90d/cfcb0-f73c-4f13-a619-0a7ea561a8b1/archives/archive4.7z
Add new data to archive: 6 folders, 2 files, 16 bytes (1 KiB)
Files read from disk: 2
Archive size: 301 bytes (1 KiB)
Everything is Ok
create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
copy(ok): one.txt (file) [to store...]
copy(ok): subdir/four (file) [to store...]
copy(ok): subdir/two (file) [to store...]
copy(ok): three.txt (file) [to store...]
action summary:
copy (ok: 4)
export-archive-ora(ok): /tmp/datalad_temp__test_remote_layout_zaca6uz/90d/cfcb0-f73c-4f13-a619-0a7ea561a8b1/archives/archive.7z (file)
export-archive-ora(ok): /tmp/datalad_temp__test_remote_layout_zaca6uz/90d/cfcb0-f73c-4f13-a619-0a7ea561a8b1/archives/archive2.7z (file)
export-archive-ora(ok): /tmp/datalad_temp__test_remote_layout_zaca6uz/90d/cfcb0-f73c-4f13-a619-0a7ea561a8b1/archives/archive3.7z (file)
export-archive-ora(ok): /tmp/datalad_temp__test_remote_layout_zaca6uz/90d/cfcb0-f73c-4f13-a619-0a7ea561a8b1/archives/archive4.7z (file)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_version_check_ssh SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_version_check create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
copy(ok): one.txt (file) [to store...]
copy(ok): subdir/four (file) [to store...]
copy(ok): subdir/two (file) [to store...]
copy(ok): three.txt (file) [to store...]
action summary:
copy (ok: 4)
drop(ok): one.txt (file)
drop(ok): subdir/four (file)
drop(ok): subdir/two (file)
drop(ok): three.txt (file)
drop(ok): . (directory)
action summary:
drop (ok: 5)
get(ok): one.txt (file) [from store...]
get(ok): subdir/four (file) [from store...]
get(ok): subdir/two (file) [from store...]
get(ok): three.txt (file) [from store...]
action summary:
get (ok: 4)
add(ok): new_file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
copy(ok): new_file (file) [to store...]
action summary:
copy (ok: 1)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_gitannex_ssh SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_gitannex_local testremote store (generating test keys...)
Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games)
Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games)
Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games)
Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games)
Cannot run git-annex-remote-!dne! -- It is not installed in PATH (/usr/lib/git-core:/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games)
Remote Tests
unavailable remote
removeKey: OK
storeKey: OK
checkPresent: OK
retrieveKeyFile: OK
retrieveKeyFileCheap: OK
key size Just 1048576; remote chunksize=0 encryption=none
removeKey when not present: OK (0.66s)
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK
present False: OK
key size Just 1048576; remote chunksize=0 encryption=shared
removeKey when not present: OK (0.53s)
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.04s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.04s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK
present False: OK
key size Just 1048576; remote chunksize=10485 encryption=none
removeKey when not present: OK (0.70s)
present False: OK
storeKey: OK (0.18s)
present True: OK (0.05s)
storeKey when already present: OK (0.04s)
present True: OK (0.04s)
retrieveKeyFile: OK (0.14s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.14s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.10s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.07s)
present False: OK
key size Just 1048576; remote chunksize=10485 encryption=shared
removeKey when not present: OK (0.61s)
present False: OK
storeKey: OK (0.14s)
present True: OK (0.04s)
storeKey when already present: OK (0.03s)
present True: OK (0.03s)
retrieveKeyFile: OK (0.10s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.09s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.06s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.06s)
present False: OK
key size Just 1048576; remote chunksize=1048 encryption=none
removeKey when not present: OK (0.82s)
present False: OK
storeKey: OK (1.78s)
present True: OK (0.28s)
storeKey when already present: OK (0.27s)
present True: OK (0.18s)
retrieveKeyFile: OK (0.52s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.46s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.32s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK
fsck downloaded object: OK
removeKey when present: OK (0.26s)
present False: OK
key size Just 1048576; remote chunksize=1048 encryption=shared
removeKey when not present: OK (0.86s)
present False: OK
storeKey: OK (1.62s)
present True: OK (0.32s)
storeKey when already present: OK (0.18s)
present True: OK (0.20s)
retrieveKeyFile: OK (0.58s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.50s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.34s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.01s)
fsck downloaded object: OK
removeKey when present: OK (0.38s)
present False: OK
key size Just 1048576; remote chunksize=1048576 encryption=none
removeKey when not present: OK (0.57s)
present False: OK
storeKey: OK (0.01s)
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK
present False: OK
key size Just 1048576; remote chunksize=1048576 encryption=shared
removeKey when not present: OK (0.65s)
present False: OK
storeKey: OK (0.01s)
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.03s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK
present False: OK
key size Just 1048577; remote chunksize=0 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 0: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048577; remote chunksize=0 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 0: OK (0.03s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK
present False: OK
key size Just 1048577; remote chunksize=10485 encryption=none
removeKey when not present: OK (0.04s)
present False: OK
storeKey: OK (0.17s)
present True: OK (0.05s)
storeKey when already present: OK (0.04s)
present True: OK (0.03s)
retrieveKeyFile: OK (0.14s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.15s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.10s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.06s)
present False: OK
key size Just 1048577; remote chunksize=10485 encryption=shared
removeKey when not present: OK (0.04s)
present False: OK
storeKey: OK (0.16s)
present True: OK (0.04s)
storeKey when already present: OK (0.04s)
present True: OK (0.03s)
retrieveKeyFile: OK (0.11s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.10s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.07s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.05s)
present False: OK
key size Just 1048577; remote chunksize=1048 encryption=none
removeKey when not present: OK (0.28s)
present False: OK
storeKey: OK (1.57s)
present True: OK (0.29s)
storeKey when already present: OK (0.23s)
present True: OK (0.15s)
retrieveKeyFile: OK (0.56s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.53s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.35s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK
fsck downloaded object: OK
removeKey when present: OK (0.25s)
present False: OK
key size Just 1048577; remote chunksize=1048 encryption=shared
removeKey when not present: OK (0.14s)
present False: OK
storeKey: OK (1.63s)
present True: OK (0.27s)
storeKey when already present: OK (0.25s)
present True: OK (0.24s)
retrieveKeyFile: OK (0.59s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.51s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.34s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.01s)
fsck downloaded object: OK
removeKey when present: OK (0.29s)
present False: OK
key size Just 1048577; remote chunksize=1048576 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.01s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.01s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.01s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.01s)
fsck downloaded object: OK
removeKey when present: OK
present False: OK
key size Just 1048577; remote chunksize=1048576 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.01s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048575; remote chunksize=0 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048575; remote chunksize=0 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 1048575; remote chunksize=10485 encryption=none
removeKey when not present: OK (0.05s)
present False: OK
storeKey: OK (0.19s)
present True: OK (0.05s)
storeKey when already present: OK (0.05s)
present True: OK (0.04s)
retrieveKeyFile: OK (0.16s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.14s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.11s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.08s)
present False: OK
key size Just 1048575; remote chunksize=10485 encryption=shared
removeKey when not present: OK (0.04s)
present False: OK
storeKey: OK (0.19s)
present True: OK (0.05s)
storeKey when already present: OK (0.07s)
present True: OK (0.05s)
retrieveKeyFile: OK (0.13s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.10s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.07s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.06s)
present False: OK
key size Just 1048575; remote chunksize=1048 encryption=none
removeKey when not present: OK (0.30s)
present False: OK
storeKey: OK (1.41s)
present True: OK (0.26s)
storeKey when already present: OK (0.19s)
present True: OK (0.18s)
retrieveKeyFile: OK (0.60s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.50s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.33s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK
fsck downloaded object: OK
removeKey when present: OK (0.31s)
present False: OK
key size Just 1048575; remote chunksize=1048 encryption=shared
removeKey when not present: OK (0.26s)
present False: OK
storeKey: OK (1.51s)
present True: OK (0.30s)
storeKey when already present: OK (0.28s)
present True: OK (0.20s)
retrieveKeyFile: OK (0.54s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.49s)
fsck downloaded object: OK
retrieveKeyFile resume from 33%: OK (0.32s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.01s)
fsck downloaded object: OK
removeKey when present: OK (0.23s)
present False: OK
key size Just 1048575; remote chunksize=1048576 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK
removeKey when present: OK
present False: OK
key size Just 1048575; remote chunksize=1048576 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.02s)
fsck downloaded object: OK
retrieveKeyFile resume from 0: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.02s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 2097152; remote chunksize=0 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.04s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 0: OK (0.04s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 33%: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.04s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK
present False: OK
key size Just 2097152; remote chunksize=0 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.01s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.04s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 33%: OK (0.04s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.07s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 2097152; remote chunksize=10485 encryption=none
removeKey when not present: OK (0.08s)
present False: OK
storeKey: OK (0.32s)
present True: OK (0.08s)
storeKey when already present: OK (0.07s)
present True: OK (0.07s)
retrieveKeyFile: OK (0.23s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.27s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.19s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.13s)
present False: OK
key size Just 2097152; remote chunksize=10485 encryption=shared
removeKey when not present: OK (0.07s)
present False: OK
storeKey: OK (0.36s)
present True: OK (0.09s)
storeKey when already present: OK (0.10s)
present True: OK (0.08s)
retrieveKeyFile: OK (0.18s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (0.14s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.10s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.04s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK (0.11s)
present False: OK
key size Just 2097152; remote chunksize=1048 encryption=none
removeKey when not present: OK (0.39s)
present False: OK
storeKey: OK (2.97s)
present True: OK (0.55s)
storeKey when already present: OK (0.39s)
present True: OK (0.42s)
retrieveKeyFile: OK (2.08s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (2.18s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (1.26s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.04s)
fsck downloaded object: OK (0.03s)
removeKey when present: OK (0.70s)
present False: OK
key size Just 2097152; remote chunksize=1048 encryption=shared
removeKey when not present: OK (0.47s)
present False: OK
storeKey: OK (3.29s)
present True: OK (0.55s)
storeKey when already present: OK (0.29s)
present True: OK (0.32s)
retrieveKeyFile: OK (1.02s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 0: OK (1.08s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from 33%: OK (0.71s)
fsck downloaded object: OK (0.01s)
retrieveKeyFile resume from end: OK (0.02s)
fsck downloaded object: OK (0.01s)
removeKey when present: OK (0.59s)
present False: OK
key size Just 2097152; remote chunksize=1048576 encryption=none
removeKey when not present: OK
present False: OK
storeKey: OK (0.01s)
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.03s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 0: OK (0.04s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from 33%: OK (0.04s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
key size Just 2097152; remote chunksize=1048576 encryption=shared
removeKey when not present: OK
present False: OK
storeKey: OK (0.01s)
present True: OK
storeKey when already present: OK
present True: OK
retrieveKeyFile: OK (0.04s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 0: OK (0.04s)
fsck downloaded object: OK (0.03s)
retrieveKeyFile resume from 33%: OK (0.04s)
fsck downloaded object: OK (0.02s)
retrieveKeyFile resume from end: OK (0.03s)
fsck downloaded object: OK (0.02s)
removeKey when present: OK
present False: OK
exporttree=yes; key size Just 1048576; key size Just 2097152
check present export when not present: OK
remove export when not present: OK
store export: OK
check present export after store: OK
store export when already present: OK
retrieve export: OK
store new content to export: OK
check present export after store of new content: OK
retrieve export new content: OK
remove export: OK
check present export after remove: OK
retrieve export fails after removal: OK
remove export directory: OK
remove export directory that is already removed: OK
exporttree=yes; key size Just 1048576; key size Just 1048575
check present export when not present: OK
remove export when not present: OK
store export: OK
check present export after store: OK
store export when already present: OK
retrieve export: OK
store new content to export: OK
check present export after store of new content: OK
retrieve export new content: OK
remove export: OK
check present export after remove: OK
retrieve export fails after removal: OK
remove export directory: OK
remove export directory that is already removed: OK
exporttree=yes; key size Just 1048577; key size Just 2097152
check present export when not present: OK
remove export when not present: OK
store export: OK
check present export after store: OK
store export when already present: OK
retrieve export: OK
store new content to export: OK
check present export after store of new content: OK
retrieve export new content: OK
remove export: OK
check present export after remove: OK
retrieve export fails after removal: OK
remove export directory: OK
remove export directory that is already removed: OK
exporttree=yes; key size Just 1048577; key size Just 1048575
check present export when not present: OK
remove export when not present: OK
store export: OK
check present export after store: OK
store export when already present: OK
retrieve export: OK
store new content to export: OK
check present export after store of new content: OK
retrieve export new content: OK
remove export: OK
check present export after remove: OK
retrieve export fails after removal: OK
remove export directory: OK
remove export directory that is already removed: OK
All 573 tests passed (60.70s)
ok
(recording state in git...)
create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_binary_data SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_push_url create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
.: store(+) [ora]
.: here(+) [git]
PASSED
datalad/distributed/tests/test_ria_basics.py::test_url_keys create(ok): . (dataset)
save(ok): . (dataset)
create-sibling-ria(ok): /tmp/datalad_temp_test_url_keysj5xromyt (dataset)
get(ok): url_no_size.html (file) [from web...]
drop(ok): url_no_size.html (file)
PASSED
datalad/distributed/tests/test_ria_basics.py::test_sanitize_key PASSED
datalad/distributed/tests/test_ria_basics.py::test_obtain_permission_ssh SKIPPED
datalad/distributed/tests/test_ria_basics.py::test_obtain_permission_root create(ok): . (dataset)
add(ok): one.txt (file)
add(ok): subdir/two (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): subdir/four (file)
add(ok): three.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
.: store(+) [ora]
.: here(+) [git]
PASSED
datalad/distributed/tests/test_ria_git_remote.py::test_bare_git_version_1 SKIPPED
datalad/distributed/tests/test_ria_git_remote.py::test_bare_git_version_2 SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_invalid_call create(ok): . (dataset)
create_sibling(error): /tmp/datalad_temp_test_invalid_callkyrt3_4j (dataset) [sibling 'bogus' already configured (specify alternative name, or force reconfiguration via --existing]
create_sibling(error): /tmp/datalad_temp_test_invalid_callkyrt3_4j (dataset) [sibling 'bogus' already configured (specify alternative name, or force reconfiguration via --existing]
PASSED
datalad/distribution/tests/test_create_sibling.py::test_target_ssh_simple SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_target_ssh_recursive install(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2 (dataset)
install(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2/2 (dataset)
install(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2/subm 1 (dataset)
action summary:
install (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2/subm 1 (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2/2 (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2 (dataset)
action summary:
create_sibling (ok: 3)
publish(ok): . (dataset) [refs/heads/git-annex->remote-False:refs/heads/git-annex 84339b1..fa9b49c]
publish(ok): . (dataset) [refs/heads/dl-test-branch->remote-False:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
add(ok): subm 3-False (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 3-False (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2/subm 3-False (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
publish(ok): subm 3-False (dataset) [refs/heads/git-annex->remote-False:refs/heads/git-annex da52832..9a4258a]
publish(ok): subm 3-False (dataset) [refs/heads/dl-test-branch->remote-False:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/dl-test-branch->remote-False:refs/heads/dl-test-branch 252d626..f0b1123]
action summary:
publish (notneeded: 1, ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2/subm 3-False (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2/subm 1 (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2/2 (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2 (dataset)
action summary:
create_sibling (ok: 4)
publish(ok): . (dataset) [refs/heads/git-annex->remote-True:refs/heads/git-annex 4591151..c7534a8]
publish(ok): . (dataset) [refs/heads/dl-test-branch->remote-True:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
add(ok): subm 3-True (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 3-True (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_check_target_ssh_recursivebqjh9w_2/subm 3-True (dataset)
publish(ok): subm 3-True (dataset) [refs/heads/git-annex->remote-True:refs/heads/git-annex aaad550..352c653]
publish(ok): subm 3-True (dataset) [refs/heads/dl-test-branch->remote-True:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/dl-test-branch->remote-True:refs/heads/dl-test-branch f0b1123..352e23e]
action summary:
publish (notneeded: 1, ok: 3)
SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_target_ssh_since SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_failon_no_permissions SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_replace_and_relative_sshpath SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_target_ssh_inherit SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_check_exists_interactive SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_local_relpath create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathakplzr6q/main/subds (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathakplzr6q/main (dataset)
action summary:
create_sibling (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathakplzr6q/main/subds (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathakplzr6q/main (dataset)
action summary:
create_sibling (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathakplzr6q/main/subds (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_relpathakplzr6q/main (dataset)
action summary:
create_sibling (ok: 2)
PASSED
datalad/distribution/tests/test_create_sibling.py::test_local_path_target_dir create(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dir43pforzm/main (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dir43pforzm/main (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dir43pforzm/main (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dir43pforzm/main/subds (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dir43pforzm/main (dataset)
action summary:
create_sibling (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dir43pforzm/main/subds (dataset)
create_sibling(ok): /tmp/datalad_temp_test_local_path_target_dir43pforzm/main (dataset)
action summary:
create_sibling (ok: 2)
PASSED
datalad/distribution/tests/test_create_sibling.py::test_non_master_branch SKIPPED
datalad/distribution/tests/test_create_sibling.py::test_preserve_attrs PASSED
datalad/distribution/tests/test_create_sibling.py::test_only_one_level_without_recursion create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
create_sibling(ok): /tmp/datalad_temp_test_only_one_level_without_recursionibejasf_/main (dataset)
PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_create PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_parse_spec PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_create_test_dataset PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_create_1test_dataset PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_new_relpath PASSED
datalad/distribution/tests/test_create_test_dataset.py::test_hierarchy PASSED
datalad/distribution/tests/test_dataset.py::test_EnsureDataset PASSED
datalad/distribution/tests/test_dataset.py::test_is_installed PASSED
datalad/distribution/tests/test_dataset.py::test_dataset_constructor PASSED
datalad/distribution/tests/test_dataset.py::test_repo_cache PASSED
datalad/distribution/tests/test_dataset.py::test_subdatasets create(ok): . (dataset)
add(ok): test (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
subdataset(ok): subds (dataset)
subdataset(ok): subds (dataset)
subdataset(ok): subds (dataset)
subdataset(ok): subds (dataset)
save(ok): . (dataset)
install(ok): d1/subds (dataset)
add(ok): d1/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/distribution/tests/test_dataset.py::test_hat_dataset_more create(ok): . (dataset)
install(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/distribution/tests/test_dataset.py::test_require_dataset[simple-path] create(ok): /tmp/datalad_temp_test_require_datasetzcqrvkx7/simple-path (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_require_dataset[ |;&%b5{}'"<> .datc ] create(ok): /tmp/datalad_temp_test_require_datasetyttpzocn/ |;&%b5{}'"<> .datc (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_dataset_id create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_Dataset_flyweight create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_property_reevaluation create(ok): . (dataset)
uninstall(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_symlinked_dataset_properties create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_dataset.py::test_resolve_path PASSED
datalad/distribution/tests/test_dataset.py::test_resolve_path_symlink_edition PASSED
datalad/distribution/tests/test_dataset.py::test_hashable create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_dataset_api.py::test_datasetmethod_bound PASSED
datalad/distribution/tests/test_dataset_binding.py::test_decorator PASSED
datalad/distribution/tests/test_dataset_binding.py::test_decorator_star PASSED
datalad/distribution/tests/test_drop.py::test_drop_file_need_nocheck create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(error): foo (file) [unsafe; Could not verify the existence of the 1 necessary copy.; (Use --reckless availability to override this check, or adjust numcopies.)]
drop(ok): foo (file)
PASSED
datalad/distribution/tests/test_get.py::test_get_flexible_source_candidates_for_submodule create(ok): /tmp/datalad_temp_test_get_flexible_source_candidates_for_submodule004whbd0 (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_get_flexible_source_candidates_for_submodulet13mzfko (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
update(ok): . (dataset)
update(ok): /tmp/datalad_temp_test_get_flexible_source_candidates_for_submodule3uujtllf (dataset)
configure-sibling(ok): /tmp/datalad_temp_test_get_flexible_source_candidates_for_submodule3uujtllf (sibling)
install(ok): /tmp/datalad_temp_test_get_flexible_source_candidates_for_submodule3uujtllf (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
update (ok: 1)
update(ok): . (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
PASSED
datalad/distribution/tests/test_get.py::test_get_invalid_call create(ok): . (dataset)
add(ok): some.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): annexed.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
get(impossible): NotExistingFile.txt [path does not exist]
get(error): /tmp/datalad_temp_test_get_invalid_calltxmipha4 [path not associated with dataset Dataset(/tmp/datalad_temp_test_get_invalid_call38vdfh9m)]
PASSED
datalad/distribution/tests/test_get.py::test_get_single_file PASSED
datalad/distribution/tests/test_get.py::test_get_subdataset_inherit_reckless[False] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 2, ok: 1)
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklessxeq404sq/b (dataset)
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklessxeq404sq/b/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdataset_inherit_recklessxeq404sq/b/sub/subsub]
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklessxeq404sq/b/sub/subsub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdataset_inherit_recklessxeq404sq/b/sub/subsub]
action summary:
install (ok: 2)
PASSED
datalad/distribution/tests/test_get.py::test_get_subdataset_inherit_reckless[True] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 2, ok: 1)
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklesssh85hstk/b (dataset)
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklesssh85hstk/b/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdataset_inherit_recklesssh85hstk/b/sub/subsub]
install(ok): /tmp/datalad_temp_test_get_subdataset_inherit_recklesssh85hstk/b/sub/subsub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdataset_inherit_recklesssh85hstk/b/sub/subsub]
action summary:
install (ok: 2)
PASSED
datalad/distribution/tests/test_get.py::test_get_multiple_files create(ok): . (dataset)
add(ok): file1.txt (file)
add(ok): file2.txt (file)
add(ok): file3.txt (file)
add(ok): file4.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_get_multiple_filesi3st9r8u (dataset)
get(impossible): not_existing.txt [path does not exist]
get(ok): file2.txt (file) [from dl-test-remote...]
get(ok): file1.txt (file) [from dl-test-remote...]
action summary:
get (impossible: 1, ok: 2)
get(ok): file3.txt (file) [from dl-test-remote...]
get(ok): file4.txt (file) [from dl-test-remote...]
action summary:
get (ok: 2)
PASSED
datalad/distribution/tests/test_get.py::test_get_recurse_dirs create(ok): . (dataset)
add(ok): file1.txt (file)
add(ok): subdir/file2.txt (file)
add(ok): subdir/subsubdir/file3.txt (file)
add(ok): subdir/subsubdir/file4.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_get_recurse_dirsi1x4m9ym (dataset)
get(ok): subdir/file2.txt (file) [from dl-test-remote...]
get(ok): subdir/subsubdir/file3.txt (file) [from dl-test-remote...]
get(ok): subdir/subsubdir/file4.txt (file) [from dl-test-remote...]
get(ok): subdir (directory)
action summary:
get (ok: 4)
PASSED
datalad/distribution/tests/test_get.py::test_get_recurse_subdatasets install(ok): /tmp/datalad_temp_test_get_recurse_subdatasets1bfkr1fl (dataset)
install(ok): /tmp/datalad_temp_test_get_recurse_subdatasets1bfkr1fl/2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_recurse_subdatasets1bfkr1fl/2]
install(ok): /tmp/datalad_temp_test_get_recurse_subdatasets1bfkr1fl/subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_recurse_subdatasets1bfkr1fl/subm 1]
action summary:
install (ok: 2)
get(ok): 2/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (notneeded: 1, ok: 1)
get(ok): test-annex.dat (file) [from dl-test-remote...]
get(ok): 2/test-annex.dat (file) [from dl-test-remote...]
get(ok): subm 1/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (ok: 3)
get(ok): test-annex.dat (file) [from dl-test-remote...]
PASSED
datalad/distribution/tests/test_get.py::test_get_greedy_recurse_subdatasets install(ok): /tmp/datalad_temp_test_get_greedy_recurse_subdatasetsol6jvwon (dataset)
install(ok): /tmp/datalad_temp_test_get_greedy_recurse_subdatasetsol6jvwon/2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_greedy_recurse_subdatasetsol6jvwon/2]
install(ok): /tmp/datalad_temp_test_get_greedy_recurse_subdatasetsol6jvwon/subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_greedy_recurse_subdatasetsol6jvwon/subm 1]
get(ok): 2/test-annex.dat (file) [from dl-test-remote...]
get(ok): subm 1/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (ok: 2)
install (ok: 2)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
PASSED
datalad/distribution/tests/test_get.py::test_get_install_missing_subdataset install(ok): /tmp/datalad_temp_test_get_install_missing_subdatasetaj8xz1ma (dataset)
create(ok): . (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
get(ok): test-annex.dat (file) [from dl-test-remote...]
install(ok): /tmp/datalad_temp_test_get_install_missing_subdatasetaj8xz1ma/2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_install_missing_subdatasetaj8xz1ma/2/test-annex.dat]
get(ok): 2/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 1)
install(ok): /tmp/datalad_temp_test_get_install_missing_subdatasetaj8xz1ma/subm 1 (dataset)
get(ok): subm 1/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 1)
PASSED
datalad/distribution/tests/test_get.py::test_get_mixed_hierarchy create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_git.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_get_mixed_hierarchycob6uvah (dataset)
install(ok): /tmp/datalad_temp_test_get_mixed_hierarchycob6uvah/subds (dataset)
action summary:
install (ok: 2)
get(ok): subds/file_in_annex.txt (file) [from dl-test-remote...]
PASSED
datalad/distribution/tests/test_get.py::test_get_autoresolve_recurse_subdatasets create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub/subsub (dataset)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
install(ok): /tmp/datalad_temp_test_get_autoresolve_recurse_subdatasets6rr92kxg (dataset)
install(ok): /tmp/datalad_temp_test_get_autoresolve_recurse_subdatasets6rr92kxg/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_autoresolve_recurse_subdatasets6rr92kxg/sub]
install(ok): /tmp/datalad_temp_test_get_autoresolve_recurse_subdatasets6rr92kxg/sub/subsub (dataset)
get(ok): sub/subsub/file_in_annex.txt (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 2)
subdataset(ok): sub (dataset)
subdataset(ok): sub/subsub (dataset)
PASSED
datalad/distribution/tests/test_get.py::test_recurse_existing create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub3 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub4 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub4 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 8)
save (notneeded: 1, ok: 4)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1 (dataset)
action summary:
install (ok: 2)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1/sub2 (dataset)
action summary:
install (ok: 3)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1/sub2 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1/sub2/sub3 (dataset)
action summary:
install (ok: 4)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1/sub2 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1/sub2/sub3 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1/sub2/sub3/sub4 (dataset)
action summary:
install (ok: 5)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1/sub2 (dataset)
action summary:
install (ok: 3)
get(ok): sub1/sub2/file_in_annex.txt (file) [from dl-test-remote...]
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1/sub2/sub3 (dataset)
install(ok): /tmp/datalad_temp_test_recurse_existing6setzc16/sub1/sub2/sub3/sub4 (dataset)
action summary:
install (ok: 2)
get(ok): sub1/sub2/sub3/file_in_annex.txt (file) [from dl-test-remote...]
PASSED
datalad/distribution/tests/test_get.py::test_get_in_unavailable_subdataset create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub3 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub4 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub4 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 8)
save (notneeded: 1, ok: 4)
install(ok): /tmp/datalad_temp_test_get_in_unavailable_subdataset2q1v49m4 (dataset)
install(ok): /tmp/datalad_temp_test_get_in_unavailable_subdataset2q1v49m4/sub1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_in_unavailable_subdataset2q1v49m4/sub1/sub2]
install(ok): /tmp/datalad_temp_test_get_in_unavailable_subdataset2q1v49m4/sub1/sub2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_in_unavailable_subdataset2q1v49m4/sub1/sub2]
get(ok): sub1/sub2/file_in_annex.txt (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 2)
PASSED
datalad/distribution/tests/test_get.py::test_gh3356 create(ok): . (dataset)
add(ok): subdir/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): data/file_in_annex.txt (file)
add(ok): data/file_in_annex2.txt (file)
save(ok): subdir/subds (dataset)
add(ok): subdir/subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 2)
install(ok): /tmp/datalad_temp_test_gh3356kn4umwtk (dataset)
install(ok): /tmp/datalad_temp_test_gh3356kn4umwtk/subdir/subds (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_gh3356kn4umwtk/subdir/subds/data/file_in_annex.txt]
get(ok): subdir/subds/data/file_in_annex.txt (file) [from dl-test-remote...]
get(ok): subdir/subds/data/file_in_annex2.txt (file) [from dl-test-remote...]
action summary:
get (ok: 2)
install (ok: 1)
2 annex'd files (35.0 B/35.0 B present/total size)
nothing to save, working tree clean
PASSED
datalad/distribution/tests/test_get.py::test_get_subdataset_direct_fetch SKIPPED
datalad/distribution/tests/test_get.py::test_get_relays_command_errors create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(ok): foo (file)
PASSED
datalad/distribution/tests/test_get.py::test_missing_path_handling create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_get.py::test_source_candidate_subdataset create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file2.txt (file)
save(ok): sub2 (dataset)
add(ok): file1.txt (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_source_candidate_subdataset00p5u4pz (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_source_candidate_subdataset00p5u4pz/sub1 (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_tree_test_source_candidate_subdataset00p5u4pz/sub2 (dataset)
action summary:
configure-sibling (ok: 3)
create-sibling-ria (ok: 3)
update (ok: 3)
copy(ok): sub1/file1.txt (file) [to firststore-storage...]
publish(ok): sub1 (dataset) [refs/heads/dl-test-branch->firststore:refs/heads/dl-test-branch [new branch]]
publish(ok): sub1 (dataset) [refs/heads/git-annex->firststore:refs/heads/git-annex [new branch]]
copy(ok): sub2/file2.txt (file) [to firststore-storage...]
publish(ok): sub2 (dataset) [refs/heads/dl-test-branch->firststore:refs/heads/dl-test-branch [new branch]]
publish(ok): sub2 (dataset) [refs/heads/git-annex->firststore:refs/heads/git-annex [new branch]]
publish(ok): . (dataset) [refs/heads/dl-test-branch->firststore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->firststore:refs/heads/git-annex [new branch]]
action summary:
copy (ok: 2)
publish (ok: 6)
create(ok): . (dataset)
configure-sibling(ok): . (sibling)
install(ok): intermediate (dataset)
add(ok): intermediate (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
configure-sibling (ok: 1)
install (ok: 1)
save (ok: 2)
update(ok): . (dataset)
update(ok): . (dataset)
configure-sibling(ok): . (sibling)
create-sibling-ria(ok): /tmp/datalad_temp_test_source_candidate_subdatasetcsvmklz0 (dataset)
action summary:
configure-sibling (ok: 1)
create-sibling-ria (ok: 1)
update (ok: 1)
publish(ok): . (dataset) [refs/heads/dl-test-branch->secondstore:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->secondstore:refs/heads/git-annex [new branch]]
action summary:
publish (ok: 2)
configure-sibling(ok): /tmp/datalad_temp_test_source_candidate_subdataseta7pwynx0 (sibling)
install(ok): /tmp/datalad_temp_test_source_candidate_subdataseta7pwynx0 (dataset)
action summary:
configure-sibling (ok: 1)
install (ok: 1)
install(ok): /tmp/datalad_temp_test_source_candidate_subdataseta7pwynx0/intermediate (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_source_candidate_subdataseta7pwynx0/intermediate]
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_source_candidate_subdataseta7pwynx0/intermediate/sub1 (dataset)
configure-sibling(ok): . (sibling)
install(ok): /tmp/datalad_temp_test_source_candidate_subdataseta7pwynx0/intermediate/sub2 (dataset)
get(ok): intermediate/sub1/file1.txt (file) [from firststore-storage...]
get(ok): intermediate/sub2/file2.txt (file) [from firststore-storage...]
action summary:
configure-sibling (ok: 2)
get (ok: 2)
install (ok: 3)
PASSED
datalad/distribution/tests/test_get.py::test_get_non_existing create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub3 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub4 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub4 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 8)
save (notneeded: 1, ok: 4)
install(ok): /tmp/datalad_temp_test_get_non_existingvo4tqt1x (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_guess_dot_git[False] install(error): /tmp/datalad_temp_test_guess_dot_gitw5gya93r (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- http://127.0.0.1:44709/
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://127.0.0.1:44709/ /tmp/datalad_temp_test_guess_dot_gitw5gya93r' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_guess_dot_gitw5gya93r'...
fatal: repository 'http://127.0.0.1:44709/' not found']
- http://127.0.0.1:44709/.git
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://127.0.0.1:44709/.git /tmp/datalad_temp_test_guess_dot_gitw5gya93r' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_guess_dot_gitw5gya93r'...
fatal: repository 'http://127.0.0.1:44709/.git/' not found']]
install(ok): /tmp/datalad_temp_test_guess_dot_gitw5gya93r (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_guess_dot_git[True] install(error): /tmp/datalad_temp_test_guess_dot_git8jcdj_4k (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- http://127.0.0.1:34263/
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://127.0.0.1:34263/ /tmp/datalad_temp_test_guess_dot_git8jcdj_4k' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_guess_dot_git8jcdj_4k'...
fatal: repository 'http://127.0.0.1:34263/' not found']
- http://127.0.0.1:34263/.git
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://127.0.0.1:34263/.git /tmp/datalad_temp_test_guess_dot_git8jcdj_4k' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_guess_dot_git8jcdj_4k'...
fatal: repository 'http://127.0.0.1:34263/.git/' not found']]
install(ok): /tmp/datalad_temp_test_guess_dot_git8jcdj_4k (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_insufficient_args PASSED
datalad/distribution/tests/test_install.py::test_invalid_args install(impossible): Zoidberg [installation `source` and destination `path` are identical. If you are trying to add a subdataset simply use the `save` command]
create(ok): /tmp/datalad_temp_test_invalid_argsbuz2edvo (dataset)
install(error): ../../higherup. (dataset) [clone target path '/higherup.' not in specified target dataset 'Dataset(/tmp/datalad_temp_test_invalid_argsbuz2edvo)']
get(error): ../../higherup. [path not associated with dataset Dataset(/tmp/datalad_temp_test_invalid_argsbuz2edvo)]
get(impossible): Zoidberg [path does not exist]
action summary:
get (error: 1, impossible: 1)
PASSED
datalad/distribution/tests/test_install.py::test_install_datasets_root SKIPPED
datalad/distribution/tests/test_install.py::test_install_simple_local[git] add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_simple_localmijoa4g5 (dataset)
install(ok): /tmp/datalad_temp_test_install_simple_localmijoa4g5 (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_simple_local[annex] add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_simple_localakyh6xzo (dataset)
install(ok): /tmp/datalad_temp_test_install_simple_localakyh6xzo (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_dataset_from_just_source add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_dataset_from_just_sourcez4xs9tw6/datalad_temp_tree_test_install_dataset_from_just_source1o07aaqg (dataset)
install(ok): /tmp/datalad_temp_test_install_dataset_from_just_sourcez4xs9tw6/datalad_temp_tree_test_install_dataset_from_just_source1o07aaqg (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_dataset_from_instance add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_dataset_from_instancex6sg6omv (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_dataset_from_just_source_via_path SKIPPED
datalad/distribution/tests/test_install.py::test_install_dataladri install(ok): /tmp/datalad_temp_test_install_dataladri7x69we6g (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_recursive create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub3 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub4 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub4 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 8)
save (notneeded: 1, ok: 4)
install(ok): /tmp/datalad_temp_test_install_recursivezznbvsuw (dataset)
subdataset(ok): sub1 (dataset)
subdataset(ok): sub1 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursivegg5qwli5 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursivegg5qwli5/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursivegg5qwli5/sub1/sub2 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursivegg5qwli5/sub1/sub2/sub3 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursivegg5qwli5/sub1/sub2/sub3/sub4 (dataset)
action summary:
install (ok: 5)
subdataset(ok): sub1 (dataset)
subdataset(ok): sub1/sub2 (dataset)
subdataset(ok): sub1/sub2/sub3 (dataset)
subdataset(ok): sub1/sub2/sub3/sub4 (dataset)
subdataset(ok): sub1 (dataset)
subdataset(ok): sub1/sub2 (dataset)
subdataset(ok): sub1/sub2/sub3 (dataset)
subdataset(ok): sub1/sub2/sub3/sub4 (dataset)
install(ok): recursive-in-ds (dataset)
add(ok): recursive-in-ds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
install(ok): recursive-in-ds/sub1 (dataset)
install(ok): recursive-in-ds/sub1/sub2 (dataset)
install(ok): recursive-in-ds/sub1/sub2/sub3 (dataset)
install(ok): recursive-in-ds/sub1/sub2/sub3/sub4 (dataset)
action summary:
add (ok: 3)
install (ok: 5)
save (ok: 2)
subdataset(ok): sub1 (dataset)
subdataset(ok): sub1/sub2 (dataset)
subdataset(ok): sub1/sub2/sub3 (dataset)
subdataset(ok): sub1/sub2/sub3/sub4 (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_recursive_with_data create(ok): . (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub3 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub4 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub4 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
add(ok): file_in_annex.txt (file)
save(ok): sub1/sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub1 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 8)
save (notneeded: 1, ok: 4)
install(ok): /tmp/datalad_temp_test_install_recursive_with_datau5orpqwp (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_with_datau5orpqwp/sub1 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_with_datau5orpqwp/sub1/sub2 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_with_datau5orpqwp/sub1/sub2/sub3 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_with_datau5orpqwp/sub1/sub2/sub3/sub4 (dataset)
get(ok): /tmp/datalad_temp_test_install_recursive_with_datau5orpqwp/sub1/sub2/file_in_annex.txt (file) [from dl-test-remote...]
get(ok): /tmp/datalad_temp_test_install_recursive_with_datau5orpqwp/sub1/sub2/sub3/file_in_annex.txt (file) [from dl-test-remote...]
action summary:
get (ok: 2)
install (ok: 5)
subdataset(ok): sub1 (dataset)
subdataset(ok): sub1/sub2 (dataset)
subdataset(ok): sub1/sub2/sub3 (dataset)
subdataset(ok): sub1/sub2/sub3/sub4 (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_into_dataset add(ok): INFO.txt (file)
add(ok): test.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): /tmp/datalad_temp_test_install_into_dataset8zllov5r (dataset)
install(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
subdataset(ok): sub (dataset)
install(ok): sub2 (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
create(ok): /tmp/datalad_temp_test_install_into_dataset8zllov5r/sub3 (dataset)
add(ok): sub3 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/distribution/tests/test_install.py::test_failed_install_multiple SKIPPED
datalad/distribution/tests/test_install.py::test_install_known_subdataset install(ok): /tmp/datalad_temp_test_install_known_subdatasetpwmxk9ho (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
install(ok): subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_known_subdatasetpwmxk9ho/subm 1]
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
get(ok): subm 1/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (notneeded: 1, ok: 1)
PASSED
datalad/distribution/tests/test_install.py::test_implicit_install create(ok): /tmp/datalad_temp_test_implicit_installzh7cm74q (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): file2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): file3.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (notneeded: 1, ok: 2)
install(ok): /tmp/datalad_temp_test_implicit_installr6l6_k_c (dataset)
install(error): obscure (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- obscure
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress obscure /tmp/datalad_temp_test_implicit_installr6l6_k_c/obscure' failed with exitcode 128 [err: 'fatal: repository 'obscure' does not exist']]
install(ok): sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_implicit_installr6l6_k_c/sub/subsub]
install(ok): sub/subsub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_implicit_installr6l6_k_c/sub/subsub]
action summary:
install (ok: 2)
install(error): obscure (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- sub/obscure
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress sub/obscure /tmp/datalad_temp_test_implicit_installr6l6_k_c/obscure' failed with exitcode 128 [err: 'fatal: repository 'sub/obscure' does not exist']]
install(ok): /tmp/datalad_temp_test_implicit_installr6l6_k_c (dataset)
install(ok): /tmp/datalad_temp_test_implicit_installr6l6_k_c/sub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_implicit_installr6l6_k_c/sub/subsub]
install(ok): /tmp/datalad_temp_test_implicit_installr6l6_k_c/sub/subsub (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_implicit_installr6l6_k_c/sub/subsub]
action summary:
install (ok: 2)
PASSED
datalad/distribution/tests/test_install.py::test_failed_install create(ok): /tmp/datalad_temp_test_failed_installb47daejx (dataset)
install(error): sub (dataset) [Failed to clone from any candidate source URL. Encountered errors per each url were:
- http://nonexistingreallyanything.datalad.org/bla
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://nonexistingreallyanything.datalad.org/bla /tmp/datalad_temp_test_failed_installb47daejx/sub' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_failed_installb47daejx/sub'...
fatal: unable to access 'http://nonexistingreallyanything.datalad.org/bla/': Could not resolve host: nonexistingreallyanything.datalad.org']
- http://nonexistingreallyanything.datalad.org/bla/.git
CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false clone --progress http://nonexistingreallyanything.datalad.org/bla/.git /tmp/datalad_temp_test_failed_installb47daejx/sub' failed with exitcode 128 [err: 'Cloning into '/tmp/datalad_temp_test_failed_installb47daejx/sub'...
fatal: unable to access 'http://nonexistingreallyanything.datalad.org/bla/.git/': Could not resolve host: nonexistingreallyanything.datalad.org']]
PASSED
datalad/distribution/tests/test_install.py::test_install_list install(ok): /tmp/datalad_temp_test_install_listjefc51r8 (dataset)
install(ok): 2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_listjefc51r8/2]
install(ok): subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_listjefc51r8/subm 1]
action summary:
install (ok: 2)
action summary:
get (notneeded: 2)
PASSED
datalad/distribution/tests/test_install.py::test_reckless install(ok): /tmp/datalad_temp_test_reckless07f0ff2a (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_recursive_repeat create(ok): . (dataset)
add(ok): sub 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub 2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub 2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub2file.txt (file)
save(ok): sub 2 (dataset)
add(ok): subsubfile.txt (file)
save(ok): sub 1/subsub (dataset)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
add(ok): sub1file.txt (file)
save(ok): sub 1 (dataset)
add(ok): sub 1 (dataset)
add(ok): sub 2 (dataset)
add(ok): .gitmodules (file)
add(ok): top_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 9)
save (ok: 4)
install(ok): /tmp/datalad_temp_test_install_recursive_repeatydcgd8yf (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_repeatydcgd8yf/sub 1 (dataset)
install(ok): /tmp/datalad_temp_test_install_recursive_repeatydcgd8yf/sub 2 (dataset)
get(ok): top_file.txt (file) [from dl-test-remote...]
get(ok): sub 1/sub1file.txt (file) [from dl-test-remote...]
get(ok): sub 2/sub2file.txt (file) [from dl-test-remote...]
action summary:
get (ok: 3)
install (ok: 2)
install(ok): sub 1/subsub (dataset)
get(ok): sub 1/subsub/subsubfile.txt (file) [from dl-test-remote...]
action summary:
get (notneeded: 1, ok: 1)
install (ok: 1)
PASSED
datalad/distribution/tests/test_install.py::test_install_skip_list_arguments install(ok): /tmp/datalad_temp_test_install_skip_list_arguments23v7xkyg (dataset)
install(ok): 2 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_skip_list_arguments23v7xkyg/2]
install(ok): subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_skip_list_arguments23v7xkyg/subm 1]
get(impossible): not_existing [path does not exist]
get(error): ../datalad_temp_test_install_skip_list_argumentszpnwdh27 [path not associated with dataset Dataset(/tmp/datalad_temp_test_install_skip_list_arguments23v7xkyg)]
action summary:
get (error: 1, impossible: 1)
install (ok: 2)
get(impossible): not_existing [path does not exist]
action summary:
get (impossible: 1, notneeded: 1)
get(impossible): not_existing [path does not exist]
get(ok): subm 1/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (impossible: 1, notneeded: 1, ok: 1)
PASSED
datalad/distribution/tests/test_install.py::test_install_skip_failed_recursive install(ok): /tmp/datalad_temp_test_install_skip_failed_recursivehb248_q9 (dataset)
install(ok): /tmp/datalad_temp_test_install_skip_failed_recursivehb248_q9/2 (dataset)
install(error): /tmp/datalad_temp_test_install_skip_failed_recursivehb248_q9/subm 1 (dataset) [target path already exists and not empty, refuse to clone into target path]
get(ok): test-annex.dat (file) [from dl-test-remote...]
get(ok): 2/test-annex.dat (file) [from dl-test-remote...]
action summary:
get (ok: 2)
install (error: 1, ok: 1)
PASSED
datalad/distribution/tests/test_install.py::test_install_noautoget_data create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
add(ok): sub 1 (dataset)
add(ok): sub 2 (dataset)
add(ok): .gitmodules (file)
add(ok): top_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_noautoget_dataku8zuirc (dataset)
install(ok): /tmp/datalad_temp_test_install_noautoget_dataku8zuirc/sub 1 (dataset)
install(ok): /tmp/datalad_temp_test_install_noautoget_dataku8zuirc/sub 2 (dataset)
action summary:
install (ok: 3)
PASSED
datalad/distribution/tests/test_install.py::test_install_source_relpath create(ok): /tmp/datalad_temp_test_install_source_relpath9asu8iiu (dataset)
install(ok): /tmp/datalad_temp_test_install_source_relpath9elzk91i (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_consistent_state create(ok): /tmp/datalad_temp_test_install_consistent_statekxop0qk7 (dataset)
add(ok): sub1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_consistent_statehm1tw0qm (dataset)
add(ok): sub2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): sub1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_consistent_statehm1tw0qm/sub1]
subdataset(ok): sub1 (dataset)
install(ok): /tmp/datalad_temp_test_install_consistent_statekjsy1min (dataset)
install(ok): /tmp/datalad_temp_test_install_consistent_statekjsy1min/sub1 (dataset)
action summary:
install (ok: 2)
subdataset(ok): sub1 (dataset)
install(ok): /tmp/datalad_temp_test_install_consistent_statewore2igy (dataset)
install(ok): sub1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_install_consistent_statewore2igy/sub1]
subdataset(ok): sub1 (dataset)
PASSED
datalad/distribution/tests/test_install.py::test_install_subds_with_space SKIPPED
datalad/distribution/tests/test_install.py::test_install_from_tilda create(ok): /tmp/datalad_temp_test_install_from_tildar3skxw38 (dataset)
add(ok): sub ds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub ds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_from_tildaaxr1honl (dataset)
install(ok): /tmp/datalad_temp_test_install_from_tildaaxr1honl/sub ds (dataset)
action summary:
install (ok: 2)
PASSED
datalad/distribution/tests/test_install.py::test_install_subds_from_another_remote SKIPPED
datalad/distribution/tests/test_install.py::test_datasets_datalad_org[] SKIPPED
datalad/distribution/tests/test_install.py::test_datasets_datalad_org[/.git] SKIPPED
datalad/distribution/tests/test_install.py::test_relpath_semantics create(ok): /tmp/datalad_temp_test_relpath_semantics1rwx6ywy/super (dataset)
create(ok): /tmp/datalad_temp_test_relpath_semantics1rwx6ywy/subsrc (dataset)
install(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/distribution/tests/test_install.py::test_install_branch create(ok): /tmp/datalad_temp_test_install_branchyf1kkzy7/ds_a (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_install_branchyf1kkzy7/tmp/ds_a (dataset)
install(ok): /tmp/datalad_temp_test_install_branchyf1kkzy7/ds_b (dataset)
install(ok): /tmp/datalad_temp_test_install_branchyf1kkzy7/ds_b/sub (dataset)
action summary:
install (ok: 2)
PASSED
datalad/distribution/tests/test_install.py::test_install_recursive_github SKIPPED
datalad/distribution/tests/test_siblings.py::test_siblings subdataset(ok): subm 1 (dataset)
subdataset(ok): subm 1 (dataset)
subdataset(ok): subm 1 (dataset)
PASSED
datalad/distribution/tests/test_siblings.py::test_here create(ok): /tmp/datalad_temp_test_hereq_2o8aqn (dataset)
.: here(+) [git]
.: here(+) [git]
PASSED
datalad/distribution/tests/test_siblings.py::test_no_annex create(ok): /tmp/datalad_temp_test_no_annextid81y_g (dataset)
PASSED
datalad/distribution/tests/test_siblings.py::test_arg_missing create(ok): /tmp/datalad_temp_test_arg_missingpphejs3g (dataset)
.: somename(-) [/tmp/datalad_temp_test_arg_missingltgou8rs (git)]
configure-sibling(error): . (sibling) [need sibling `name` for configuration]
.: somename2(-) [/tmp/datalad_temp_test_arg_missingltgou8rs (git)]
PASSED
datalad/distribution/tests/test_siblings.py::test_sibling_enable_sameas SKIPPED
datalad/distribution/tests/test_siblings.py::test_sibling_inherit create(ok): . (dataset)
create(ok): . (dataset)
install(ok): clone (dataset)
add(ok): clone (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/distribution/tests/test_siblings.py::test_sibling_inherit_no_super_remote create(ok): . (dataset)
create(ok): . (dataset)
install(ok): clone (dataset)
add(ok): clone (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/distribution/tests/test_siblings.py::test_sibling_path_is_posix create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_siblings.py::test_bf3733 create(ok): /tmp/datalad_temp_test_bf37334z3p72mq (dataset)
configure-sibling(error): . (sibling) [unknown sibling(s) specified as publication dependency: {'doesntmatter'}]
PASSED
datalad/distribution/tests/test_siblings.py::test_as_common_datasource create(ok): . (dataset)
add(ok): testfile (file)
add(ok): testfile2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_as_common_datasourcej2ai97t4 (dataset)
get(ok): testfile (file) [from dl-test-remote...]
install(ok): /tmp/datalad_temp_test_as_common_datasourcee6xokegh (dataset)
install(ok): /tmp/datalad_temp_test_as_common_datasourcesqghehdx (dataset)
install(ok): /tmp/datalad_temp_test_as_common_datasource0mmwrzs0 (dataset)
get(ok): testfile (file) [from fresh-sr...]
get(ok): testfile2 (file) [from mike2...]
drop(ok): testfile (file)
get(ok): testfile (file) [from mike2...]
drop(ok): testfile (file)
get(ok): testfile (file) [from fresh-sr...]
PASSED
datalad/distribution/tests/test_siblings.py::test_specialremote create(ok): . (dataset)
PASSED
datalad/distribution/tests/test_uninstall.py::test_uninstall_uninstalled PASSED
datalad/distribution/tests/test_update.py::test_update_simple install(ok): /tmp/datalad_temp_test_update_simplembhlu1tv (dataset)
install(ok): /tmp/datalad_temp_test_update_simplembhlu1tv/2 (dataset)
install(ok): /tmp/datalad_temp_test_update_simplembhlu1tv/subm 1 (dataset)
action summary:
install (ok: 3)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
subdataset(ok): 2 (dataset)
subdataset(ok): subm 1 (dataset)
update(impossible): . (dataset) ['funky' not known to dataset /tmp/datalad_temp_test_update_simplembhlu1tv
Skipping]
install(ok): /tmp/datalad_temp_test_update_simpleo218tte1 (dataset)
update(ok): . (dataset)
update(ok): /tmp/datalad_temp_test_update_simpleo218tte1/2 (dataset)
configure-sibling(ok): /tmp/datalad_temp_test_update_simpleo218tte1/2 (sibling)
install(ok): /tmp/datalad_temp_test_update_simpleo218tte1/2 (dataset)
update(ok): . (dataset)
update(ok): /tmp/datalad_temp_test_update_simpleo218tte1/subm 1 (dataset)
configure-sibling(ok): /tmp/datalad_temp_test_update_simpleo218tte1/subm 1 (sibling)
install(ok): /tmp/datalad_temp_test_update_simpleo218tte1/subm 1 (dataset)
action summary:
configure-sibling (ok: 2)
install (ok: 3)
update (ok: 2)
update(ok): . (dataset)
add(ok): update.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(ok): . (dataset)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
update(ok): . (dataset)
update(ok): 2 (dataset)
update(ok): subm 1 (dataset)
action summary:
update (ok: 3)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): subm 1 (dataset)
action summary:
update (ok: 2)
update(ok): . (dataset)
update(ok): subm 1 (dataset)
action summary:
update (ok: 2)
update(ok): . (dataset)
update(ok): 2 (dataset)
update(ok): subm 1 (dataset)
action summary:
update (ok: 3)
update(ok): . (dataset)
update(ok): subm 1 (dataset)
action summary:
update (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): subm 1 (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): subm 1 (dataset) [Merged annex branch]
update(ok): subm 1 (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
uninstall(ok): subm 1 (dataset)
remove(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall (ok: 1)
update(ok): . (dataset)
update(ok): 2 (dataset)
action summary:
update (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): 2 (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): 2 (dataset) [Merged annex branch]
update(ok): 2 (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
add(ok): load.dat (file)
save(ok): 2 (dataset)
add(ok): 2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): 2 (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): 2 (dataset) [Merged annex branch]
update(ok): 2 (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
get(ok): 2/load.dat (file) [from dl-test-remote...]
action summary:
get (notneeded: 1, ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_update_git_smoke create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_update_git_smoke47nmy9a7 (dataset)
add(ok): file.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_update_fetch_all create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_update_fetch_all6j0cgcoz/remote_1 (dataset)
install(ok): /tmp/datalad_temp_test_update_fetch_all6j0cgcoz/remote_2 (dataset)
.: sibling_1(+) [/tmp/datalad_temp_test_update_fetch_all6j0cgcoz/remote_1 (git)]
.: sibling_2(+) [/tmp/datalad_temp_test_update_fetch_all6j0cgcoz/remote_2 (git)]
add(ok): first.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): second.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(ok): . (dataset)
merge(ok): . (dataset) [Merged sibling_1/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_newthings_coming_down add(ok): load.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_newthings_coming_downdqjd7p61 (dataset)
update(ok): . (dataset)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
update(ok): . (dataset)
update(ok): . (dataset)
update(ok): . (dataset)
PASSED
datalad/distribution/tests/test_update.py::test_update_volatile_subds create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_update_volatile_subds2y8xq3he (dataset)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
update(ok): . (dataset)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
subdataset(ok): subm 1 (dataset)
uninstall(ok): subm 1 (dataset)
remove(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): load.dat (file)
save(ok): subm 1 (dataset)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
install(ok): /tmp/datalad_temp_test_update_volatile_subds2y8xq3he/subm 1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_update_volatile_subds2y8xq3he/subm 1/load.dat]
get(ok): subm 1/load.dat (file) [from dl-test-remote...]
action summary:
get (ok: 1)
install (ok: 1)
add(ok): probe (file)
save(ok): subm 1 (dataset)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
add(ok): mike (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): subm 1 (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): subm 1 (dataset) [Merged annex branch]
update(ok): subm 1 (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
uninstall(ok): subm 1 (dataset)
remove(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall (ok: 1)
subdataset(ok): subm 1 (dataset)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
uninstall(ok): . (dataset)
create(ok): . (dataset)
install(ok): other (dataset)
add(ok): other (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
add(ok): brand (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): other (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): other (dataset) [Merged annex branch]
update(ok): other (dataset)
add(ok): other (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
merge (ok: 2)
save (ok: 1)
update (ok: 2)
update.annex_merge (ok: 2)
PASSED
datalad/distribution/tests/test_update.py::test_reobtain_data create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_reobtain_datad61ev_oj (dataset)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
add(ok): load.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
get(ok): load.dat (file) [from dl-test-remote...]
add(ok): novel (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
get (notneeded: 1)
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
add(ok): load.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
get(ok): load.dat (file) [from dl-test-remote...]
get(ok): load.dat (file) [from dl-test-remote...]
update(ok): . (dataset)
action summary:
get (ok: 1)
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_multiway_merge create(ok): . (dataset)
.: r1(+) [/tmp/datalad_temp_test_multiway_merge8nkzipnd/ds_r1 (git)]
.: r2(-) [/tmp/datalad_temp_test_multiway_merge8nkzipnd/ds_r2 (git)]
publish(ok): . (dataset) [refs/heads/git-annex->r1:refs/heads/git-annex 05167b8..da12222]
publish(ok): . (dataset) [refs/heads/dl-test-branch->r1:refs/heads/dl-test-branch [new branch]]
action summary:
publish (ok: 2)
publish(ok): . (dataset) [refs/heads/dl-test-branch->r2:refs/heads/dl-test-branch [new branch]]
publish(ok): . (dataset) [refs/heads/git-annex->r2:refs/heads/git-annex [new branch]]
action summary:
copy (notneeded: 1)
publish (ok: 2)
update(ok): . (dataset)
update(impossible): . (dataset) [Multiple siblings, please specify from which to update.]
PASSED
datalad/distribution/tests/test_update.py::test_unrelated_history_merge create(ok): . (dataset)
.: repo(+) [/tmp/pytest-of-debusine-worker/pytest-1/test_unrelated_history_merge0/repo (git)]
merge(error): . (dataset) [CommandError(CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge repo/dl-test-branch' failed with exitcode 128 [err: 'fatal: refusing to merge unrelated histories'])]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(error): . (dataset) [Update of repo/dl-test-branch failed]
action summary:
merge (error: 1)
update (error: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_merge_no_merge_target create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_merge_no_merge_target574jmmn4/clone (dataset)
update(impossible): . (dataset) [Could not determine update target]
PASSED
datalad/distribution/tests/test_update.py::test_merge_conflict create(ok): . (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_merge_conflictrc_flr54/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_conflictrc_flr54/clone/s0 (dataset)
install(ok): /tmp/datalad_temp_test_merge_conflictrc_flr54/clone/s1 (dataset)
action summary:
install (ok: 3)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(error): . (dataset) [CommandError(CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge dl-test-remote/dl-test-branch' failed with exitcode 1)]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(error): . (dataset) [Update of dl-test-remote/dl-test-branch failed]
action summary:
merge (error: 1)
update (error: 1)
update.annex_merge (ok: 1)
add(ok): foo (file)
save(ok): s1 (dataset)
add(ok): foo (file)
save(ok): s0 (dataset)
add(ok): s0 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
add(ok): foo (file)
save(ok): s0 (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (notneeded: 1, ok: 2)
merge(error): . (dataset) [CommandError(CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge dl-test-remote/dl-test-branch' failed with exitcode 1 [err: 'hint: Recursive merging with submodules currently only supports trivial cases.
hint: Please manually handle the merging of each conflicted submodule.
hint: This can be accomplished with the following steps:
hint: - come back to superproject and run:
hint:
hint: git add s0
hint:
hint: to record the above merge or update
hint: - resolve any other conflicts in the superproject
hint: - commit the resulting index in the superproject
hint:
hint: Disable this message with "git config advice.submoduleMergeConflict false"'])]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(error): . (dataset) [Update of dl-test-remote/dl-test-branch failed]
merge(error): s0 (dataset) [CommandError(CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge dl-test-remote/dl-test-branch' failed with exitcode 1)]
update.annex_merge(ok): s0 (dataset) [Merged annex branch]
update(error): s0 (dataset) [Update of dl-test-remote/dl-test-branch failed]
merge(ok): s1 (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): s1 (dataset) [Merged annex branch]
update(ok): s1 (dataset)
action summary:
merge (error: 2, ok: 1)
update (error: 2, ok: 1)
update.annex_merge (ok: 3)
PASSED
datalad/distribution/tests/test_update.py::test_merge_conflict_in_subdataset_only create(ok): . (dataset)
add(ok): sub_conflict (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub_conflict (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub_noconflict (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub_noconflict (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_merge_conflict_in_subdataset_only6ieokqx2/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_conflict_in_subdataset_only6ieokqx2/clone/sub_conflict (dataset)
install(ok): /tmp/datalad_temp_test_merge_conflict_in_subdataset_only6ieokqx2/clone/sub_noconflict (dataset)
action summary:
install (ok: 3)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(error): sub_conflict (dataset) [CommandError(CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge dl-test-remote/dl-test-branch' failed with exitcode 1)]
update.annex_merge(ok): sub_conflict (dataset) [Merged annex branch]
update(error): sub_conflict (dataset) [Update of dl-test-remote/dl-test-branch failed]
merge(ok): sub_noconflict (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): sub_noconflict (dataset) [Merged annex branch]
update(ok): sub_noconflict (dataset)
add(ok): sub_noconflict (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
merge (error: 1, ok: 2)
save (ok: 1)
update (error: 1, ok: 2)
update.annex_merge (ok: 3)
PASSED
datalad/distribution/tests/test_update.py::test_merge_ff_only create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_merge_ff_onlyxdzyb5n3/clone_ff (dataset)
install(ok): /tmp/datalad_temp_test_merge_ff_onlyxdzyb5n3/clone_nonff (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): bar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
merge(error): . (dataset) [CommandError(CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false merge --ff-only dl-test-remote/dl-test-branch' failed with exitcode 128 [err: 'hint: Diverging branches can't be fast-forwarded, you need to either:
hint:
hint: git merge --no-ff
hint:
hint: or:
hint:
hint: git rebase
hint:
hint: Disable this message with "git config advice.diverging false"
fatal: Not possible to fast-forward, aborting.'])]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(error): . (dataset) [Update of dl-test-remote/dl-test-branch failed]
action summary:
merge (error: 1)
update (error: 1)
update.annex_merge (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_merge_follow_parentds_subdataset_other_branch create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_other_branchw6m19592/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_other_branchw6m19592/clone/subds (dataset)
action summary:
install (ok: 2)
add(ok): foo (file)
save(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): subds (dataset) [Merged c7370ffd410a8668a4ee4a930036f83bdcb3b901]
update.annex_merge(ok): subds (dataset) [Merged annex branch]
update(ok): subds (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
add(ok): bar (file)
save(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): subds (dataset) [Merged 120be9002822a5dade28693ba6b23adaba0ab908]
update.annex_merge(ok): subds (dataset) [Merged annex branch]
update(ok): subds (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
PASSED
datalad/distribution/tests/test_update.py::test_merge_follow_parentds_subdataset_adjusted_warning create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_adjusted_warningpyumun2a/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_adjusted_warningpyumun2a/clone/subds (dataset)
action summary:
install (ok: 2)
add(ok): foo (file)
save(ok): subds (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
update(impossible): subds (dataset) [follow='parentds' is incompatible with adjusted branches]
action summary:
merge (ok: 1)
update (impossible: 1, ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_merge_follow_parentds_subdataset_detached[True] create(ok): . (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 2, ok: 1)
action summary:
save (notneeded: 3)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detached9qi5lalu/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detached9qi5lalu/clone/s0 (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detached9qi5lalu/clone/s0/s1 (dataset)
action summary:
install (ok: 3)
add(ok): foo (file)
save(ok): s0/s1 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): s0 (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
update.annex_sync(ok): . (dataset) [Ran git-annex-sync]
update(ok): . (dataset)
update(impossible): s0 (dataset) [follow='parentds' is incompatible with adjusted branches]
update(impossible): s0/s1 (dataset) [follow='parentds' is incompatible with adjusted branches]
action summary:
update (impossible: 2, ok: 1)
update.annex_sync (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_merge_follow_parentds_subdataset_detached[False] create(ok): . (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 2, ok: 1)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detachedubcaj1uv/clone (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detachedubcaj1uv/clone/s0 (dataset)
install(ok): /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detachedubcaj1uv/clone/s0/s1 (dataset)
action summary:
install (ok: 3)
add(ok): foo (file)
save(ok): s0/s1 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): s0 (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): s0 (dataset) [Merged 0a194e4a57dc7da4a79752e6b8665db8b0445269]
update.annex_merge(ok): s0 (dataset) [Merged annex branch]
update(ok): s0 (dataset)
merge(ok): s0/s1 (dataset) [Merged 4985c413553512070d9e9faf2fbddceaf2d14186]
update.annex_merge(ok): s0/s1 (dataset) [Merged annex branch]
update(ok): s0/s1 (dataset)
action summary:
merge (ok: 3)
save (notneeded: 2)
update (ok: 3)
update.annex_merge (ok: 3)
add(ok): bar (file)
save(ok): s0/s1 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): s0 (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): s0 (dataset) [Merged dee26696926421872b59a0415c4b3d6025386e39]
update.annex_merge(ok): s0 (dataset) [Merged annex branch]
update(ok): s0 (dataset)
update(impossible): s0/s1 (dataset) [Attempt to fetch ffa6923f1c1414d61aa84094eb645147392f272f from dl-test-remote failed: CommandError(CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false fetch --verbose --progress --recurse-submodules=no dl-test-remote ffa6923f1c1414d61aa84094eb645147392f272f' failed with exitcode 1 under /tmp/datalad_temp_test_merge_follow_parentds_subdataset_detachedubcaj1uv/clone/s0/s1 [err: 'error: Server does not allow request for unadvertised object ffa6923f1c1414d61aa84094eb645147392f272f'])]
action summary:
merge (ok: 2)
save (notneeded: 1)
update (impossible: 1, ok: 2)
update.annex_merge (ok: 2)
update(ok): . (dataset)
update(ok): s0 (dataset)
update(impossible): s0/s1 (dataset) [Need to fetch ffa6923f1c1414d61aa84094eb645147392f272f directly but single sibling not resolved]
action summary:
update (impossible: 1, ok: 2)
PASSED
datalad/distribution/tests/test_update.py::test_update_unborn_master create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_update_unborn_mastercykbjnin/ds-b (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
update(impossible): . (dataset) [Could not determine update target]
merge(ok): . (dataset) [Merged dl-test-remote/other]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (ok: 1)
update.annex_merge (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_update_follow_parentds_lazy create(ok): . (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s0 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 5, ok: 1)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazyopacyh5b/clone (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazyopacyh5b/clone/s0 (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazyopacyh5b/clone/s1 (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazyopacyh5b/clone/s2 (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazyopacyh5b/clone/s0/s0 (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazyopacyh5b/clone/s0/s1 (dataset)
action summary:
install (ok: 6)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): s1 (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
save(ok): s0 (dataset)
add(ok): s0 (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (notneeded: 3, ok: 3)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): s0 (dataset) [Merged 2ee128a007e6ac0ca839590a26abea34eb791d2c]
update.annex_merge(ok): s0 (dataset) [Merged annex branch]
update(ok): s0 (dataset)
merge(ok): s0/s0 (dataset) [Merged b681b2abd4f8025746351f2eb9bf7018a84725e9]
update.annex_merge(ok): s0/s0 (dataset) [Merged annex branch]
update(ok): s0/s0 (dataset)
merge(ok): s1 (dataset) [Merged f61a034ea7eb4227978040a83c681748f769fbcb]
update.annex_merge(ok): s1 (dataset) [Merged annex branch]
update(ok): s1 (dataset)
action summary:
merge (ok: 4)
save (notneeded: 2)
update (notneeded: 2, ok: 4)
update.annex_merge (ok: 4)
PASSED
datalad/distribution/tests/test_update.py::test_update_follow_parentds_lazy_other_branch create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
action summary:
save (notneeded: 2)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazy_other_branchkah0aoea/clone (dataset)
install(ok): /tmp/datalad_temp_test_update_follow_parentds_lazy_other_branchkah0aoea/clone/sub (dataset)
action summary:
install (ok: 2)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 1, ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): sub (dataset) [Merged 5b70116ce670030ec587531467baffa7b93f2e95]
update.annex_merge(ok): sub (dataset) [Merged annex branch]
update(ok): sub (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
action summary:
merge (ok: 1)
update (notneeded: 1, ok: 1)
update.annex_merge (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
merge(ok): sub (dataset) [Merged dc9ddc19d99bbd005488cc156dc3ce2cfbc97e36]
update.annex_merge(ok): sub (dataset) [Merged annex branch]
update(ok): sub (dataset)
action summary:
merge (ok: 2)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 2)
PASSED
datalad/distribution/tests/test_update.py::test_update_adjusted_incompatible_with_ff_only create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_update_adjusted_incompatible_with_ff_onlyxk9e0nr8/clone (dataset)
update(impossible): . (dataset) [Updating via 'ff-only' is incompatible with adjusted branches]
update(ok): . (dataset)
PASSED
datalad/distribution/tests/test_update.py::test_update_how_subds_different[parentds-reset] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_update_how_subds_differentl8nry8nd/clone (dataset)
install(ok): /tmp/datalad_temp_test_update_how_subds_differentl8nry8nd/clone/sub (dataset)
action summary:
install (ok: 2)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): bar (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
add(ok): baz (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
update.reset(ok): sub (dataset) [Reset to 24a3f5e92d84f448acdf187443f89ab63bf0b4c9]
update(ok): sub (dataset)
action summary:
merge (ok: 1)
save (notneeded: 1)
update (ok: 2)
update.annex_merge (ok: 1)
update.reset (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_update_how_subds_different[sibling-checkout] create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_update_how_subds_differentxmdh92ze/clone (dataset)
install(ok): /tmp/datalad_temp_test_update_how_subds_differentxmdh92ze/clone/sub (dataset)
action summary:
install (ok: 2)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): bar (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
add(ok): baz (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
merge(ok): . (dataset) [Merged dl-test-remote/dl-test-branch]
update.annex_merge(ok): . (dataset) [Merged annex branch]
update(ok): . (dataset)
update.checkout(ok): sub (dataset) [Checkout dl-test-remote/dl-test-branch]
update(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
merge (ok: 1)
save (ok: 1)
update (ok: 2)
update.annex_merge (ok: 1)
update.checkout (ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_update_reset_dirty create(ok): . (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_update_reset_dirtymf4fjn7t/clone (dataset)
install(ok): /tmp/datalad_temp_test_update_reset_dirtymf4fjn7t/clone/s1 (dataset)
install(ok): /tmp/datalad_temp_test_update_reset_dirtymf4fjn7t/clone/s2 (dataset)
action summary:
install (ok: 3)
add(ok): bar (file)
save(ok): s2 (dataset)
add(ok): foo (file)
save(ok): s1 (dataset)
add(ok): s1 (dataset)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
update.reset(error): . (dataset) [Refusing to reset dirty working tree]
update(error): . (dataset) [Update of dl-test-remote/dl-test-branch failed]
update.reset(error): s1 (dataset) [Refusing to reset dirty working tree]
update(error): s1 (dataset) [Update of dl-test-remote/dl-test-branch failed]
update.reset(ok): s2 (dataset) [Reset to dl-test-remote/dl-test-branch]
update(ok): s2 (dataset)
action summary:
update (error: 2, ok: 1)
update.reset (error: 2, ok: 1)
PASSED
datalad/distribution/tests/test_update.py::test_process_how_args PASSED
datalad/distribution/tests/test_update.py::test_update_fetch_failure create(ok): . (dataset)
add(ok): s1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): s2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_update_fetch_failure6xrf30rm/ds-b (dataset)
install(ok): /tmp/datalad_temp_test_update_fetch_failure6xrf30rm/ds-b/s1 (dataset)
install(ok): /tmp/datalad_temp_test_update_fetch_failure6xrf30rm/ds-b/s2 (dataset)
action summary:
install (ok: 3)
update(ok): . (dataset)
update(error): s1 (dataset) [Fetch failed: CommandError(CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false fetch --verbose --progress --no-recurse-submodules --prune dl-test-remote' failed with exitcode 128 under /tmp/datalad_temp_test_update_fetch_failure6xrf30rm/ds-b/s1 [err: 'fatal: '/tmp/datalad_temp_test_update_fetch_failure6xrf30rm/ds_a/s1' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.'])] [CommandError: 'git -c diff.ignoreSubmodules=none -c core.quotepath=false fetch --verbose --progress --no-recurse-submodules --prune dl-test-remote' failed with exitcode 128 under /tmp/datalad_temp_test_update_fetch_failure6xrf30rm/ds-b/s1 [err: 'fatal: '/tmp/datalad_temp_test_update_fetch_failure6xrf30rm/ds_a/s1' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.']]
update(ok): s2 (dataset)
action summary:
update (error: 1, ok: 2)
PASSED
datalad/distribution/tests/test_utils.py::test_get_flexible_source_candidates PASSED
datalad/downloaders/tests/test_base.py::test_docstring PASSED
datalad/downloaders/tests/test_credentials.py::test_cred1_enter_new PASSED
datalad/downloaders/tests/test_credentials.py::test_cred1_call PASSED
datalad/downloaders/tests/test_credentials.py::test_keyring SKIPPED
datalad/downloaders/tests/test_credentials.py::test_composite_credential1 PASSED
datalad/downloaders/tests/test_credentials.py::test_credentials_from_env PASSED
datalad/downloaders/tests/test_credentials.py::test_delete_not_crashing PASSED
datalad/downloaders/tests/test_credentials.py::test_gitcredential_read create(ok): . (dataset)
PASSED
datalad/downloaders/tests/test_credentials.py::test_gitcredential create(ok): . (dataset)
PASSED
datalad/downloaders/tests/test_docker_registry.py::test_download_docker_blob SKIPPED
datalad/downloaders/tests/test_http.py::test_docstring PASSED
datalad/downloaders/tests/test_http.py::test_process_www_authenticate PASSED
datalad/downloaders/tests/test_http.py::test_HTTPDownloader_basic PASSED
datalad/downloaders/tests/test_http.py::test_access_denied PASSED
datalad/downloaders/tests/test_http.py::test_authenticate_external_portals SKIPPED
datalad/downloaders/tests/test_http.py::test_detect_login_error1 SKIPPED
datalad/downloaders/tests/test_http.py::test_detect_login_error2 SKIPPED
datalad/downloaders/tests/test_http.py::test_download_ftp SKIPPED (S...)
datalad/downloaders/tests/test_http.py::test_mtime PASSED
datalad/downloaders/tests/test_http.py::test_get_status_from_headers PASSED
datalad/downloaders/tests/test_http.py::test_HTMLFormAuthenticator_httpretty PASSED
datalad/downloaders/tests/test_http.py::test_auth_but_no_cred PASSED
datalad/downloaders/tests/test_http.py::test_authfail404_interactive PASSED
datalad/downloaders/tests/test_http.py::test_authfail404_noninteractive PASSED
datalad/downloaders/tests/test_http.py::test_auth_bytes_content PASSED
datalad/downloaders/tests/test_http.py::test_scenario_2 PASSED
datalad/downloaders/tests/test_http.py::test_HTTPBearerTokenAuthenticator PASSED
datalad/downloaders/tests/test_http.py::test_HTTPLorisTokenAuthenticator PASSED
datalad/downloaders/tests/test_http.py::test_lorisadapter
http://example.com/crap.txt: 0%| | 0.00/12.0 [00:00<?, ?B/s]
PASSED
datalad/downloaders/tests/test_http.py::test_download_url PASSED
datalad/downloaders/tests/test_providers.py::test_Providers_OnStockConfiguration PASSED
datalad/downloaders/tests/test_providers.py::test_Providers_default_ones PASSED
datalad/downloaders/tests/test_providers.py::test_Providers_process_credential PASSED
datalad/downloaders/tests/test_providers.py::test_get_downloader_class PASSED
datalad/downloaders/tests/test_providers.py::test_Providers_from_config__files PASSED
datalad/downloaders/tests/test_providers.py::test_providers_enter_new ERROR: File /tmp/datalad_temp_test_providers_enter_newkoxzdrls/providers/exists.cfg already exists, choose another name
ERROR: Provided regular expression doesn't match original url. Please re-enter
PASSED
datalad/downloaders/tests/test_providers.py::test_providers_multiple_matches PASSED
datalad/downloaders/tests/test_providers.py::test_providers_badre PASSED
datalad/downloaders/tests/test_shub.py::test_downloader_bad_query PASSED
datalad/downloaders/tests/test_shub.py::test_downloader_bad_json PASSED
datalad/downloaders/tests/test_shub.py::test_downloader_download PASSED
datalad/interface/tests/test_base.py::test_status_custom_summary_no_repeats create(ok): . (dataset)
PASSED
datalad/interface/tests/test_base.py::test_update_docstring_with_parameters_no_kwds PASSED
datalad/interface/tests/test_base.py::test_update_docstring_with_parameters_single_line_prefix PASSED
datalad/interface/tests/test_docs.py::test_dedent PASSED
datalad/interface/tests/test_docs.py::test_alter_interface_docs_for_api PASSED
datalad/interface/tests/test_results.py::test_annexjson2result PASSED
datalad/interface/tests/test_results.py::tests_status_dict_exit_code PASSED
datalad/interface/tests/test_shell_completion.py::test_shell_completion_python PASSED
datalad/interface/tests/test_shell_completion.py::test_shell_completion_source PASSED
datalad/interface/tests/test_utils.py::test_dirty create(ok): . (dataset)
save(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): subds (dataset)
PASSED
datalad/interface/tests/test_utils.py::test_save_hierarchy create(ok): . (dataset)
add(ok): a (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): a (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): aa (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): aa (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): b (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): b (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): ba (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): ba (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): bb (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): bb (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): bba (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): bba (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): bbaa (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): bbaa (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): c (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): c (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): ca (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): ca (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): d (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): d (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): da (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): da (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): db (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): db (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_db (file)
save(ok): d/db (dataset)
add(ok): file_da (file)
save(ok): d/da (dataset)
add(ok): da (dataset)
add(ok): db (dataset)
add(ok): .gitmodules (file)
add(ok): file_d (file)
save(ok): d (dataset)
add(ok): file_ca (file)
save(ok): c/ca (dataset)
add(ok): ca (dataset)
add(ok): .gitmodules (file)
add(ok): file_c (file)
save(ok): c (dataset)
add(ok): file_bbaa (file)
save(ok): b/bb/bba/bbaa (dataset)
add(ok): bbaa (dataset)
add(ok): .gitmodules (file)
save(ok): b/bb/bba (dataset)
add(ok): bba (dataset)
add(ok): .gitmodules (file)
add(ok): file_bb (file)
save(ok): b/bb (dataset)
add(ok): file_ba (file)
save(ok): b/ba (dataset)
add(ok): ba (dataset)
add(ok): bb (dataset)
add(ok): .gitmodules (file)
save(ok): b (dataset)
add(ok): file_aa (file)
save(ok): a/aa (dataset)
add(ok): aa (dataset)
add(ok): .gitmodules (file)
save(ok): a (dataset)
add(ok): a (dataset)
add(ok): b (dataset)
add(ok): c (dataset)
add(ok): d (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 28)
save (ok: 13)
delete(ok): file_bbaa (symlink)
save(ok): bba/bbaa (dataset)
add(ok): bbaa (dataset)
add(ok): .gitmodules (file)
save(ok): bba (dataset)
add(ok): bba (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
delete (ok: 1)
save (ok: 3)
delete(ok): file_db (symlink)
save(ok): db (dataset)
delete(ok): file_da (symlink)
save(ok): da (dataset)
add(ok): da (dataset)
add(ok): db (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
delete (ok: 2)
save (ok: 3)
delete(ok): file_d (symlink)
save(ok): d (dataset)
delete(ok): file_ca (symlink)
save(ok): c/ca (dataset)
delete(ok): file_c (symlink)
save(ok): c (dataset)
delete(ok): file_bb (symlink)
save(ok): b/bb (dataset)
delete(ok): file_ba (symlink)
save(ok): b/ba (dataset)
add(ok): ba (dataset)
add(ok): bb (dataset)
add(ok): .gitmodules (file)
save(ok): b (dataset)
delete(ok): file_aa (symlink)
save(ok): a/aa (dataset)
add(ok): aa (dataset)
add(ok): .gitmodules (file)
save(ok): a (dataset)
add(ok): b (dataset)
add(ok): d (dataset)
add(ok): a (dataset)
add(ok): c (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 10)
delete (ok: 6)
save (ok: 9)
PASSED
datalad/interface/tests/test_utils.py::test_eval_results_plus_build_doc off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 3)
off(ok): some
off(ok): some
action summary:
off (ok: 2)
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 3)
off(ok): some
off(ok): some
action summary:
off (ok: 2)
PASSED
datalad/interface/tests/test_utils.py::test_result_filter off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
off(ok): some
off(ok): some
off(ok): some
off(ok): some
action summary:
off (ok: 4)
PASSED
datalad/interface/tests/test_utils.py::test_discover_ds_trace create(ok): . (dataset)
add(ok): a (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): a (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): aa (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): aa (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): d (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): d (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): da (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): da (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): db (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): db (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): file_db (file)
save(ok): d/db (dataset)
add(ok): file_da (file)
save(ok): d/da (dataset)
add(ok): da (dataset)
add(ok): db (dataset)
add(ok): .gitmodules (file)
add(ok): file_d (file)
save(ok): d (dataset)
add(ok): file_aa (file)
save(ok): a/aa (dataset)
add(ok): aa (dataset)
add(ok): .gitmodules (file)
save(ok): a (dataset)
add(ok): a (dataset)
add(ok): d (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 12)
save (ok: 6)
PASSED
datalad/interface/tests/test_utils.py::test_utils_suppress_similar PASSED
datalad/interface/tests/test_utils.py::test_incorrect_msg_interpolation test(ok): %eatthis [all good my friend]
PASSED
datalad/interface/tests/test_utils.py::test_custom_result_renderer PASSED
datalad/interface/tests/test_utils.py::test_custom_result_summary_renderer test.one(ok): [message]
test.two(ok): [message]
test.one(ok): [message]
test.one(ok): [message]
test.two(ok): [message]
test.one(ok): [message]
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_dirs create(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_dirsn8yn6nhe (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_content create(ok): . (dataset)
add-archive-content(impossible): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset) [No such file: /tmp/datalad_temp_test_add_archive_contentycpabeh2/nonexisting.tar.gz]
add-archive-content(impossible): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset) [Can not add archive outside of the dataset]
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset)
add-archive-content(error): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset) [/tmp/datalad_temp_test_add_archive_contentycpabeh2/1/1 f.txt exists, but would be overwritten by new file 1/1 f.txt. Consider adjusting --existing]
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_contentycpabeh2 (dataset)
drop(ok): 1/1 f.txt (file)
get(ok): 1/1 f.txt (file) [from datalad-archives...]
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_content_strip_leading create(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_add_archive_content_strip_leadinghamyd39b (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_content_zip create(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_content_zip_o4e7vyu (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_content_absolute_path create(ok): . (dataset)
add(ok): 1.tar.gz (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_content_absolute_pathokcdm005/ds (dataset)
add-archive-content(impossible): /tmp/datalad_temp_tree_test_add_archive_content_absolute_pathokcdm005/ds (dataset) [Can not add archive outside of the dataset]
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_use_archive_dir create(ok): . (dataset)
add-archive-content(impossible): /tmp/datalad_temp_tree_test_add_archive_use_archive_dirzlzer5w1 (dataset) [Can not add an untracked archive. Run 'datalad save 4u/1.tar.gz']
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_use_archive_dirzlzer5w1 (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_use_archive_dirzlzer5w1 (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_use_archive_dirzlzer5w1 (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::test_add_archive_single_file create(ok): . (dataset)
add(ok): archives/1.gz (file)
add(ok): archives/2.xz (file)
add(ok): archives/3.lzma (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_single_file5e1dhiy6 (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_single_file5e1dhiy6 (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_test_add_archive_single_file5e1dhiy6 (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::TestAddArchiveOptions::test_add_delete create(ok): . (dataset)
add(ok): 1.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_teeu1q2o (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::TestAddArchiveOptions::test_add_archive_leading_dir create(ok): . (dataset)
add(ok): 1.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
delete(ok): 1.tar (symlink)
add(ok): sub/123.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
delete (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_d2qfmic9 (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::TestAddArchiveOptions::test_add_delete_after_and_drop create(ok): . (dataset)
add(ok): 1.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_rc8a92gc (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_rc8a92gc (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::TestAddArchiveOptions::test_add_delete_after_and_drop_subdir create(ok): . (dataset)
add(ok): 1.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree_hxz10zr3 (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree_hxz10zr3 (dataset)
PASSED
datalad/local/tests/test_add_archive_content.py::TestAddArchiveOptions::test_override_existing_under_git create(ok): . (dataset)
add(ok): 1.tar (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): 1.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add-archive-content(ok): /tmp/datalad_temp_tree__z39lqhq (dataset)
add-archive-content(ok): /tmp/datalad_temp_tree__z39lqhq (dataset)
PASSED
datalad/local/tests/test_add_readme.py::test_add_readme create(ok): . (dataset)
add(ok): datapackage.json (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): .gitattributes (file)
save(ok): . (dataset)
add_readme(ok): /tmp/datalad_temp_tree_test_add_readmeo_hf0sp3/README.md (file)
add(ok): README.md (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
add_readme (ok: 1)
save (ok: 2)
PASSED
datalad/local/tests/test_addurls.py::test_formatter PASSED
datalad/local/tests/test_addurls.py::test_formatter_lower_case PASSED
datalad/local/tests/test_addurls.py::test_formatter_no_idx_map PASSED
datalad/local/tests/test_addurls.py::test_formatter_no_mapping_arg PASSED
datalad/local/tests/test_addurls.py::test_formatter_placeholder_with_spaces PASSED
datalad/local/tests/test_addurls.py::test_formatter_placeholder_nonpermitted_chars PASSED
datalad/local/tests/test_addurls.py::test_formatter_missing_arg PASSED
datalad/local/tests/test_addurls.py::test_repformatter PASSED
datalad/local/tests/test_addurls.py::test_clean_meta_args PASSED
datalad/local/tests/test_addurls.py::test_get_subpaths PASSED
datalad/local/tests/test_addurls.py::test_sort_paths PASSED
datalad/local/tests/test_addurls.py::test_is_legal_metafield PASSED
datalad/local/tests/test_addurls.py::test_filter_legal_metafield PASSED
datalad/local/tests/test_addurls.py::test_fmt_to_name PASSED
datalad/local/tests/test_addurls.py::test_get_file_parts PASSED
datalad/local/tests/test_addurls.py::test_get_url_parts PASSED
datalad/local/tests/test_addurls.py::test_extract PASSED
datalad/local/tests/test_addurls.py::test_extract_disable_autometa PASSED
datalad/local/tests/test_addurls.py::test_extract_exclude_autometa_regexp PASSED
datalad/local/tests/test_addurls.py::test_extract_csv_json_equal[csv] PASSED
datalad/local/tests/test_addurls.py::test_extract_csv_json_equal[tsv] PASSED
datalad/local/tests/test_addurls.py::test_extract_wrong_input_type PASSED
datalad/local/tests/test_addurls.py::test_registerurl_constructor create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::test_addurls_nonannex_repo create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::test_addurls_unknown_placeholder create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::test_addurls_dry_run create(ok): . (dataset)
add(ok): links.json (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls create(ok): . (dataset)
unlock(ok): a (file)
add(ok): a (file) [Copied metadata from old version of a to new version. If you don't want this copied metadata, run: git annex metadata --remove-all a]
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_unbound_dataset create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_create_newdataset PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_from_list create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_subdataset create(ok): . (dataset)
add(ok): bar-nosave (dataset)
add(ok): foo-nosave (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
subdataset(ok): bar-nosave (dataset)
subdataset(ok): bar-save (dataset)
subdataset(ok): foo-nosave (dataset)
subdataset(ok): foo-save (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_repindex create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_on_collision_error_if_different create(ok): . (dataset)
addurls(error): /tmp/datalad_temp_test_addurls_url_on_collision_error_if_different2uxx33tq (dataset) [1 file name collided across rows; troubleshoot by logging at debug level or consider using {_repindex}]
action summary:
addurls (error: 1)
addurls(error): /tmp/datalad_temp_test_addurls_url_on_collision_error_if_different2uxx33tq (dataset) [1 file name collided across rows; troubleshoot by logging at debug level or consider using {_repindex}]
action summary:
addurls (error: 1)
addurl(ok): /tmp/datalad_temp_test_addurls_url_on_collision_error_if_different2uxx33tq/a (file) [to a]
save(ok): . (dataset)
action summary:
addurl (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_on_collision_choose create(ok): . (dataset)
addurls(error): /tmp/datalad_temp_test_addurls_url_on_collision_choosev70sbzih (dataset) [1 file name collided across rows; troubleshoot by logging at debug level or consider using {_repindex}]
action summary:
addurls (error: 1)
addurls(error): /tmp/datalad_temp_test_addurls_url_on_collision_choosev70sbzih (dataset) [1 file name collided across rows; troubleshoot by logging at debug level or consider using {_repindex}]
action summary:
addurls (error: 1)
addurl(ok): /tmp/datalad_temp_test_addurls_url_on_collision_choosev70sbzih/a-first (file) [to a-first]
metadata(ok): /tmp/datalad_temp_test_addurls_url_on_collision_choosev70sbzih/a-first (file)
save(ok): . (dataset)
action summary:
addurl (ok: 1)
metadata (ok: 1)
save (ok: 1)
addurl(ok): /tmp/datalad_temp_test_addurls_url_on_collision_choosev70sbzih/a-last (file) [to a-last]
metadata(ok): /tmp/datalad_temp_test_addurls_url_on_collision_choosev70sbzih/a-last (file)
save(ok): . (dataset)
action summary:
addurl (ok: 1)
metadata (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_parts create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_filename create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_filename_fail create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_url_special_key_fail create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_metafail create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_dropped_urls create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_version create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_deeper create(ok): . (dataset)
subdataset(ok): bar (dataset)
subdataset(ok): bar/adir/bar-again (dataset)
subdataset(ok): bar/adir/bar-again/other-ds (dataset)
subdataset(ok): foo (dataset)
subdataset(ok): foo/adir/foo-again (dataset)
subdataset(ok): foo/adir/foo-again/other-ds (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_invalid_input create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_no_rows create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_stdin_input create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_stdin_input_command_line addurl(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_lineq8t486j9/a (file) [to a]
addurl(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_lineq8t486j9/b (file) [to b]
addurl(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_lineq8t486j9/c (file) [to c]
metadata(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_lineq8t486j9/a (file)
metadata(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_lineq8t486j9/b (file)
metadata(ok): /tmp/datalad_temp_test_addurls_stdin_input_command_lineq8t486j9/c (file)
save(ok): . (dataset)
action summary:
addurl (ok: 3)
metadata (ok: 3)
save (ok: 1)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_drop_after create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_from_key_invalid_format create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_from_key create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_addurls.py::TestAddurls::test_addurls_row_missing_key_fields create(ok): . (dataset)
PASSED
datalad/local/tests/test_check_dates.py::test_check_dates_invalid_repo PASSED
datalad/local/tests/test_check_dates.py::test_check_dates_invalid_date PASSED
datalad/local/tests/test_check_dates.py::test_check_dates PASSED
datalad/local/tests/test_clean.py::test_clean nothing to clean, no temporary locations present.
clean(ok): .git/datalad/tmp/archives (directory) [Removed 1 temporary archive directory: somebogus]
clean(ok): .git/annex/tmp (directory) [Removed 1 temporary annex file: somebogus]
clean(ok): .git/annex/transfer (directory) [Removed 1 annex temporary transfer directory: somebogus]
clean(ok): .git/datalad/tmp/archives (directory) [Removed empty temporary archive directory]
clean(ok): .git/annex/tmp (directory) [Removed empty temporary annex directory]
clean(ok): .git/annex/transfer (directory) [Removed empty annex temporary transfer directory]
PASSED
datalad/local/tests/test_configuration.py::test_something create(ok): . (dataset)
4
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_copy_file3sbcskfr/src/myfile1.txt (file)
add(ok): myfile1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_copy_file3sbcskfr/src/subdir/myfile2.txt (file)
add(ok): subdir/myfile2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
create(ok): . (dataset)
drop(ok): myfile1.txt (file)
copy_file(ok): /tmp/datalad_temp_test_copy_file3sbcskfr/src/myfile1.txt [/tmp/datalad_temp_test_copy_file3sbcskfr/dest/myfile1.txt]
save(ok): . (dataset)
action summary:
copy_file (ok: 1)
save (ok: 1)
get(ok): myfile1.txt (file) [from web...]
copy_file(ok): /tmp/datalad_temp_test_copy_file3sbcskfr/src/myfile1.txt [/tmp/datalad_temp_test_copy_file3sbcskfr/dest/renamed.txt]
save(ok): . (dataset)
action summary:
copy_file (ok: 1)
save (ok: 1)
copy_file(ok): /tmp/datalad_temp_test_copy_file3sbcskfr/src/myfile1.txt [/tmp/datalad_temp_test_copy_file3sbcskfr/dest/myfile1.txt]
copy_file(ok): /tmp/datalad_temp_test_copy_file3sbcskfr/src/subdir/myfile2.txt [/tmp/datalad_temp_test_copy_file3sbcskfr/dest/myfile2.txt]
save(ok): . (dataset)
action summary:
copy_file (ok: 2)
save (ok: 1)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_fileegnizgoq/webfile1
add(ok): webfile1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
copy_file (ok: 1)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_test_copy_file3sbcskfr/src/subdir/myfile2.txt
add(ok): myfile2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
copy_file (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_errors create(ok): . (dataset)
copy_file(error): /tmp/datalad_temp_test_copy_file_errors6fb377lr [reference dataset does not contain destination path: /tmp/datalad_temp_test_copy_file_errors6fb377lr]
create(ok): . (dataset)
copy_file(error): /tmp/datalad_temp_test_copy_file_errorsxe7hynh7 [reference dataset does not contain destination path: /tmp/datalad_temp_test_copy_file_errorsxe7hynh7]
copy_file(impossible): /tmp/datalad_temp_test_copy_file_errors6fb377lr [recursion not enabled, omitting directory]
copy_file(impossible): /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/funky [no such file or directory]
copy_file(impossible): somepath [need destination path or target directory]
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_datalad_specialremote create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_copy_file_datalad_specialremotefit_v17s/src/myfile1.txt (file)
add(ok): myfile1.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_copy_file_datalad_specialremotefit_v17s/src/myfile2.txt (file)
add(ok): myfile2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_test_copy_file_datalad_specialremotefit_v17s/src/myfile1.txt [/tmp/datalad_temp_test_copy_file_datalad_specialremotefit_v17s/dest/myfile1.txt]
save(ok): . (dataset)
action summary:
copy_file (ok: 1)
save (ok: 1)
drop(ok): myfile1.txt (file)
copy_file(ok): /tmp/datalad_temp_test_copy_file_datalad_specialremotefit_v17s/src/myfile2.txt [/tmp/datalad_temp_test_copy_file_datalad_specialremotefit_v17s/dest/myfile1.txt]
save(ok): . (dataset)
action summary:
copy_file (ok: 1)
save (ok: 1)
drop(ok): myfile1.txt (file)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_into_nonannex create(ok): . (dataset)
add(ok): gone.txt (file)
add(ok): present.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
drop(ok): gone.txt (file)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_test_copy_file_into_nonannexlvb2xqsn/src/present.txt
copy_file(impossible): /tmp/datalad_temp_test_copy_file_into_nonannexlvb2xqsn/src/gone.txt [file has no content available]
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_recursion create(ok): . (dataset)
add(ok): subdir/file1 (file)
add(ok): subdir/file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_recursion7ahs17_r/subdir/file1 [/tmp/datalad_temp_test_copy_file_recursionpnowewja/subdir/file1]
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_recursion7ahs17_r/subdir/file2 [/tmp/datalad_temp_test_copy_file_recursionpnowewja/subdir/file2]
action summary:
copy_file (ok: 2)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_into_dshierarchy create(ok): . (dataset)
add(ok): lvl1/file1 (file)
add(ok): lvl1/lvl2/file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
add(ok): lvl2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): lvl2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_into_dshierarchyzllwma5w/lvl1/file1 [/tmp/datalad_temp_test_copy_file_into_dshierarchy47j0yfhb/lvl1/file1]
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_into_dshierarchyzllwma5w/lvl1/lvl2/file2 [/tmp/datalad_temp_test_copy_file_into_dshierarchy47j0yfhb/lvl1/lvl2/file2]
save(ok): . (dataset)
action summary:
copy_file (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_specs_from create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_from_4zcmmuh/lvl1/file1
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_from_4zcmmuh/lvl1/lvl2/file2
add(ok): file1 (file)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
copy_file (ok: 2)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): lvl1/file1
copy_file(ok): lvl1/lvl2/file2
add(ok): file1 (file)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
copy_file (ok: 2)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_from_4zcmmuh/lvl1/file1
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_from_4zcmmuh/lvl1/lvl2/file2
add(ok): file1 (file)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
copy_file (ok: 2)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): lvl1/file1
copy_file(ok): lvl1/lvl2/file2
add(ok): file1 (file)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
copy_file (ok: 2)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_from_4zcmmuh/lvl1/file1
copy_file(ok): /tmp/datalad_temp_tree_test_copy_file_specs_from_4zcmmuh/lvl1/lvl2/file2
add(ok): file1 (file)
add(ok): file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
copy_file (ok: 2)
save (ok: 1)
copy_file(error): /tmp/datalad_temp_test_copy_file_specs_from_oul2dtz/srcdest_wrong/lvl1/file1 [copy destination not within a dataset]
copy_file(error): /tmp/datalad_temp_test_copy_file_specs_from_oul2dtz/srcdest_wrong/lvl1/lvl2/file2 [copy destination not within a dataset]
action summary:
copy_file (error: 2)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_prevent_dotgit_placement create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
create(ok): . (dataset)
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8x6750bd/sub/.datalad/.gitattributes
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8x6750bd/sub/.datalad/config
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8x6750bd/sub/.gitattributes
add(ok): sub/.datalad/.gitattributes (file)
add(ok): sub/.datalad/config (file)
add(ok): sub/.gitattributes (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
copy_file (ok: 3)
save (ok: 1)
copy_file(impossible): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8x6750bd/sub/.git [refuse to place '.git' into destination dataset]
copy_file(impossible): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8x6750bd/sub/.git/config [refuse to place '.git' into destination dataset]
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8x6750bd/sub/.git/config
add(ok): config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
copy_file (ok: 1)
save (ok: 1)
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8x6750bd/sub/.git/config
add(ok): some (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
copy_file (ok: 1)
save (ok: 1)
copy_file(ok): /tmp/datalad_temp_test_copy_file_prevent_dotgit_placement8x6750bd/sub/.git/config
action summary:
copy_file (ok: 1)
save (notneeded: 1)
PASSED
datalad/local/tests/test_copy_file.py::test_copy_file_nourl create(ok): . (dataset)
add(ok): myfile.dat (file)
add(ok): noavail.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
drop(ok): noavail.dat (file)
create(ok): . (dataset)
install(ok): serv (dataset)
add(ok): serv (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
copy_file(impossible): /tmp/datalad_temp_test_copy_file_nourl5s7rhe24/serv/noavail.dat [no known location of file content]
PASSED
datalad/local/tests/test_download_url.py::test_download_url_exceptions download_url(error): /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests/test_download_url.py (file) [When specifying multiple urls, --path should point to a directory target (with a trailing separator). Got '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/local/tests/test_download_url.py']
download_url(error): /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/ (file) [AccessFailedError(Failed to establish a new session 1 times. )] [Failed to establish a new session 1 times. ]
PASSED
datalad/local/tests/test_download_url.py::test_download_url_existing_dir_no_slash_exception download_url(error): /tmp/datalad_temp_tree_test_download_url_existing_dir_no_slash_exceptionkjc_5r2j/dir (file) [Non-directory path given (no trailing separator) but a directory with that name (after adding archive suffix) exists]
PASSED
datalad/local/tests/test_download_url.py::test_download_url_return download_url(ok): /tmp/datalad_temp_test_download_url_return8ff6cydd/file1.txt (file)
download_url(error): /tmp/datalad_temp_test_download_url_return8ff6cydd/ (file) [DownloadError(Path /tmp/datalad_temp_test_download_url_return8ff6cydd/file1.txt already exists)] [Path /tmp/datalad_temp_test_download_url_return8ff6cydd/file1.txt already exists]
download_url(ok): /tmp/datalad_temp_test_download_url_return8ff6cydd/file2.txt (file)
action summary:
download_url (error: 1, ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_return8ff6cydd/file1.txt (file)
download_url(ok): /tmp/datalad_temp_test_download_url_return8ff6cydd/file2.txt (file)
action summary:
download_url (ok: 2)
PASSED
datalad/local/tests/test_download_url.py::test_download_url_dataset download_url(ok): /tmp/datalad_temp_test_download_url_datasetwrfk57w9/file1.txt (file)
create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_download_url_datasetwrfk57w9/ds/file1.txt (file)
download_url(ok): /tmp/datalad_temp_test_download_url_datasetwrfk57w9/ds/file2.txt (file)
add(ok): file1.txt (file)
add(ok): file2.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
download_url (ok: 2)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_datasetwrfk57w9/ds/file3.txt (file)
download_url(ok): /tmp/datalad_temp_test_download_url_datasetwrfk57w9/ds/l1/l2/f (file)
add(ok): l1/l2/f (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_datasetwrfk57w9/ds/subdir/file4.txt (file)
add(ok): subdir/file4.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_datasetwrfk57w9/ds/subdir/five.txt (file)
add(ok): subdir/five.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_datasetwrfk57w9/ds/file6.txt (file)
add(ok): file6.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_datasetwrfk57w9/ds/subdir/file7.txt (file)
add(ok): subdir/file7.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_datasetwrfk57w9/file8.txt (file)
status(error): ../file8.txt [path not underneath the reference dataset /tmp/datalad_temp_test_download_url_datasetwrfk57w9/ds]
action summary:
download_url (ok: 1)
save (notneeded: 1)
status (error: 1)
PASSED
datalad/local/tests/test_download_url.py::test_download_url_archive create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_download_url_archivesxzp97ge/archive.tar.gz (file)
add(ok): archive.tar.gz (file)
save(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_download_url_archivesxzp97ge (dataset)
action summary:
add (ok: 1)
add-archive-content (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_archivesxzp97ge/archive.tar.gz (file)
add(ok): archive.tar.gz (file)
save(ok): . (dataset)
add-archive-content(impossible): /tmp/datalad_temp_test_download_url_archivesxzp97ge (dataset) [clean dataset required. Use `datalad status` to inspect unsaved changes]
action summary:
add (ok: 1)
add-archive-content (impossible: 1)
download_url (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_download_url.py::test_download_url_archive_from_subdir create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_download_url_archive_from_subdirxz22ej8i/subdir/archive.tar.gz (file)
add(ok): subdir/archive.tar.gz (file)
save(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_download_url_archive_from_subdirxz22ej8i (dataset)
action summary:
add (ok: 1)
add-archive-content (ok: 1)
download_url (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_download_url.py::test_download_url_archive_trailing_separator create(ok): . (dataset)
download_url(ok): /tmp/datalad_temp_test_download_url_archive_trailing_separatorihpispw4/with-slash/a0.tar.gz (file)
add(ok): with-slash/a0.tar.gz (file)
save(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_download_url_archive_trailing_separatorihpispw4 (dataset)
action summary:
add (ok: 1)
add-archive-content (ok: 1)
download_url (ok: 1)
save (ok: 1)
download_url(ok): /tmp/datalad_temp_test_download_url_archive_trailing_separatorihpispw4/no-slash.tar.gz (file)
add(ok): no-slash.tar.gz (file)
save(ok): . (dataset)
add-archive-content(ok): /tmp/datalad_temp_test_download_url_archive_trailing_separatorihpispw4 (dataset)
action summary:
add (ok: 1)
add-archive-content (ok: 1)
download_url (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_download_url.py::test_download_url_need_datalad_remote SKIPPED
datalad/local/tests/test_export_archive.py::test_failure PASSED
datalad/local/tests/test_export_archive.py::test_archive create(ok): . (dataset)
add(ok): dir/file1_down (file)
add(ok): dir/file2_down (file)
add(ok): file_up (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
export_archive(ok): /tmp/datalad_temp_tree_test_archive2o8c24ve/datalad_dff4555c-cbff-4314-ac9d-705f55ed7a02.tar.gz (file)
export_archive(ok): /tmp/datalad_temp_tree_test_archive2o8c24ve/myexport.tar.gz (file)
export_archive(ok): /tmp/datalad_temp_tree_test_archive2o8c24ve/myexport.tar.tar.gz (file)
drop(ok): file_up (file)
export_archive(ok): /tmp/datalad_temp_tree_test_archive2o8c24ve/partial.tar.gz (file)
PASSED
datalad/local/tests/test_export_archive.py::test_zip_archive create(ok): . (dataset)
add(ok): dir/file1_down (file)
add(ok): dir/file2_down (file)
add(ok): file_up (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
export_archive(ok): /tmp/datalad_temp_tree_test_zip_archive5kcs7duh/my.zip (file)
export_archive(ok): /tmp/datalad_temp_tree_test_zip_archive5kcs7duh/my.zip (file)
export_archive(ok): /tmp/datalad_temp_tree_test_zip_archive5kcs7duh/ds/datalad_19b870a3-6a8b-4d5b-a9d8-15c85d09f1fe.zip (file)
PASSED
datalad/local/tests/test_foreach_dataset.py::test_basic_resilience[__call__] /tmp/datalad_temp_check_basic_resiliencectl_amr0
Removing dirt
create(ok): /tmp/datalad_temp_check_basic_resiliencectl_amr0 (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resiliencectl_amr0 (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resiliencectl_amr0 (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resiliencectl_amr0 (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resiliencectl_amr0 (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resiliencectl_amr0 (dataset)
PASSED
datalad/local/tests/test_foreach_dataset.py::test_basic_resilience[get_deeply_nested_structure] /tmp/datalad_temp_check_basic_resilience9mldzz_v
/tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified
/tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified/subds_lvl1_modified
Removing dirt
Removing dirt
Removing link2superdsdir
Removing dirt
create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
add(ok): |;&%b5{}'"<> .datc file_modified_ (file)
add(ok): directory_untracked/link2dir (file)
add(ok): link2dir (file)
add(ok): link2subdsdir (file)
add(ok): link2subdsroot (file)
add(ok): subdir/file_modified (file)
add(ok): subdir/link2annex_files.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 9)
save (ok: 1)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified/subds_lvl1_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified/subds_lvl1_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified/subds_lvl1_modified (dataset)
subdataset(ok): subds_modified (dataset)
subdataset(ok): subds_modified/subds_lvl1_modified (dataset)
subdataset(ok): subds_modified/subds_lvl1_modified (dataset)
subdataset(ok): subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified/subds_lvl1_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_basic_resilience9mldzz_v/subds_modified/subds_lvl1_modified (dataset)
PASSED
datalad/local/tests/test_foreach_dataset.py::test_python create(ok): . (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_python_eval07_0abpe (dataset)
create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
foreach-dataset(ok): /tmp/datalad_temp_check_python_execozsut1yz (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_python_execozsut1yz/sub (dataset)
create(ok): . (dataset)
foreach-dataset(ok): /tmp/datalad_temp_check_python_evalof9f8mx9 (dataset)
PASSED
datalad/local/tests/test_gitcredential.py::test_gitcredential_interface create(ok): . (dataset)
PASSED
datalad/local/tests/test_gitcredential.py::test_datalad_credential_helper create(ok): . (dataset)
PASSED
datalad/local/tests/test_gitcredential.py::test_credential_cycle create(ok): . (dataset)
add(ok): .datalad/providers/test_cycle.cfg (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_no_annex.py::test_no_annex create(ok): /tmp/datalad_temp_test_no_annext73zlusp (dataset)
add(ok): code/inannex (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
no_annex(ok): /tmp/datalad_temp_test_no_annext73zlusp (dataset)
add(ok): .gitattributes (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
no_annex (ok: 1)
save (ok: 1)
add(ok): README (file)
add(ok): code/notinannex (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_remove.py::test_remove create(ok): . (dataset)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds_modified/subds_lvl1_modified (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subdir/annexed_file.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
remove(ok): subdir/git_file.txt (file)
save(ok): . (dataset)
action summary:
drop (notneeded: 1)
remove (ok: 1)
save (ok: 1)
drop(error): subdir/annexed_file.txt (file) [unsafe; Could not verify the existence of the 1 necessary copy.; (Use --reckless availability to override this check, or adjust numcopies.)]
remove(ok): subdir/annexed_file.txt (symlink)
save(ok): . (dataset)
action summary:
remove (ok: 1)
save (ok: 1)
drop(impossible): subdir (directory) [cannot drop untracked content, save first]
add(ok): subdir/file_modified (file)
add(ok): subdir/link2annex_files.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
remove(ok): subdir/file_modified (symlink)
remove(ok): subdir/link2annex_files.txt (symlink)
save(ok): . (dataset)
action summary:
remove (ok: 2)
save (ok: 1)
add(ok): |;&%b5{}'"<> .datc _directory_untracked/untracked_file (file)
save(ok): subds_modified/subds_lvl1_modified (dataset)
add(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 3)
uninstall(error): subds_modified/subds_lvl1_modified (dataset) [to-be-dropped dataset has revisions that are not available at any known sibling. Use `datalad push --to ...` to push these before dropping the local dataset, or ignore via `--reckless availability`. Unique revisions: ['dl-test-branch']]
drop(ok): subds_modified/subds_lvl1_modified (key)
uninstall(ok): subds_modified/subds_lvl1_modified (dataset)
remove(ok): subds_lvl1_modified (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
drop (ok: 1)
remove (ok: 1)
save (ok: 2)
uninstall (ok: 1)
add(ok): |;&%b5{}'"<> .datc file_modified_ (file)
add(ok): directory_untracked/link2dir (file)
add(ok): link2dir (file)
add(ok): link2subdsdir (file)
add(ok): link2subdsroot (file)
save(ok): . (dataset)
action summary:
add (ok: 5)
save (ok: 1)
uninstall(ok): subds_modified (dataset)
remove(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall(ok): . (dataset)
PASSED
datalad/local/tests/test_remove.py::test_remove_subdataset_nomethod create(ok): . (dataset)
add(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subds (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
uninstall(error): subds (dataset) [to-be-dropped dataset has revisions that are not available at any known sibling. Use `datalad push --to ...` to push these before dropping the local dataset, or ignore via `--reckless availability`. Unique revisions: ['dl-test-branch']]
uninstall(ok): subds (dataset)
remove(ok): subds (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall (ok: 1)
PASSED
datalad/local/tests/test_remove.py::test_remove_uninstalled PASSED
datalad/local/tests/test_remove.py::test_remove_nowhining create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_remove_nowhining9xlpah5l/subds (dataset)
uninstall(ok): . (dataset)
PASSED
datalad/local/tests/test_remove.py::test_remove_recreation create(ok): . (dataset)
uninstall(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_remove.py::test_remove_more_than_one create(ok): . (dataset)
add(ok): one (file)
add(ok): three (file)
add(ok): two (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
remove(ok): one (symlink)
remove(ok): two (symlink)
save(ok): . (dataset)
action summary:
remove (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_remove.py::test_no_interaction_with_untracked_content create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
remove(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
remove (ok: 1)
save (ok: 1)
add(ok): subsub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subsub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_remove.py::test_kill create(ok): . (dataset)
add(ok): file.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): deep1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): deep1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): deep1 (dataset)
uninstall(error): deep1 (dataset) [to-be-dropped dataset has revisions that are not available at any known sibling. Use `datalad push --to ...` to push these before dropping the local dataset, or ignore via `--reckless availability`. Unique revisions: ['dl-test-branch']]
uninstall(error): . (dataset) [cannot drop dataset, subdataset(s) still present (forgot --recursive?): ['/tmp/datalad_temp_test_killt13fg15u/deep1']]
action summary:
uninstall (error: 2)
uninstall(ok): deep1 (dataset)
drop(ok): . (key)
uninstall(ok): . (dataset)
action summary:
drop (ok: 1)
uninstall (ok: 2)
PASSED
datalad/local/tests/test_remove.py::test_clean_subds_removal create(ok): . (dataset)
add(ok): one (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): one (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): two (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): two (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): one (dataset)
subdataset(ok): two (dataset)
uninstall(ok): one (dataset)
remove(ok): one (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
uninstall (ok: 1)
subdataset(ok): two (dataset)
add(ok): three (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): three (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): three (dataset)
subdataset(ok): two (dataset)
uninstall(ok): two (dataset)
subdataset(ok): three (dataset)
subdataset(ok): two (dataset)
remove(ok): two (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
remove (ok: 1)
save (ok: 1)
subdataset(ok): three (dataset)
PASSED
datalad/local/tests/test_rerun.py::test_rerun cat: sub/sequence: No such file or directory
cat: sub/sequence: No such file or directory
create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
run(impossible): /tmp/datalad_temp_test_rerun54pn1067/sub (dataset) [934fb7b was ran from a different dataset; skipping]
run(impossible): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [clean dataset required to detect changes from command; use `datalad status` to inspect unsaved changes]
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
run (ok: 1)
save (ok: 2)
unlock (ok: 1)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [ca7540b does not have a command; skipping]
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
run (ok: 3)
save (ok: 4)
unlock (ok: 2)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [ca7540b does not have a command; skipping]
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
unlock(ok): sub/sequence (file)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [echo x$(cat sub/sequence) > sub/sequence]
add(ok): sequence (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 15)
run (ok: 6)
save (ok: 10)
unlock (ok: 5)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset) [ca7540b does not have a command; skipping or cherry picking]
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset)
run(ok): /tmp/datalad_temp_test_rerun54pn1067 (dataset)
action summary:
run (ok: 11)
drop(ok): sub/sequence (file)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_empty_branch run(impossible): /tmp/datalad_temp_test_rerun_empty_branch11blxm6l (dataset) [cannot rerun command, nothing recorded]
PASSED
datalad/local/tests/test_rerun.py::test_rerun_onto cat: grows: No such file or directory
cat: grows: No such file or directory
cat: grows: No such file or directory
create(ok): . (dataset)
run(impossible): /tmp/datalad_temp_test_rerun_onto6l249ivt (dataset) [No run commits found in range HEAD]
run(impossible): /tmp/datalad_temp_test_rerun_onto6l249ivt (dataset) [No run commits found in range HEAD..HEAD]
run(ok): /tmp/datalad_temp_test_rerun_onto6l249ivt (dataset) [echo static-content > static]
add(ok): static (file)
save(ok): . (dataset)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_onto6l249ivt (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
unlock(ok): static (file)
run(ok): /tmp/datalad_temp_test_rerun_onto6l249ivt (dataset) [echo static-content > static]
add(ok): static (file)
action summary:
add (ok: 1)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_onto6l249ivt (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
run(error): /tmp/datalad_temp_test_rerun_onto6l249ivt (dataset) [branch 'from-base' already exists]
PASSED
datalad/local/tests/test_rerun.py::test_rerun_chain cat: grows: No such file or directory
create(ok): . (dataset)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_chainz6adz1hc (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_chainz6adz1hc (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_chainz6adz1hc (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
unlock(ok): grows (file)
run(ok): /tmp/datalad_temp_test_rerun_chainz6adz1hc (dataset) [echo x$(cat grows) > grows]
add(ok): grows (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_just_one_commit create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_just_one_commit8_be4gxy (dataset) [echo static-content > static]
add(ok): static (file)
save(ok): . (dataset)
run(impossible): /tmp/datalad_temp_test_rerun_just_one_commit8_be4gxy (dataset) [No run commits found in range orph]
run(impossible): /tmp/datalad_temp_test_rerun_just_one_commit8_be4gxy (dataset) [No run commits found in range orph]
run(impossible): /tmp/datalad_temp_test_rerun_just_one_commit8_be4gxy (dataset) [No run commits found in range orph]
PASSED
datalad/local/tests/test_rerun.py::test_run_failure cat: sub/grows: No such file or directory
create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): grows (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
unlock(ok): sub/grows (file)
run(ok): /tmp/datalad_temp_test_run_failurezrhqo_j9 (dataset) [echo x$(cat sub/grows) > sub/grows && fa...]
add(ok): grows (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
run (ok: 1)
save (ok: 2)
unlock (ok: 1)
run(ok): /tmp/datalad_temp_test_run_failurezrhqo_j9 (dataset) [[ ! -e bar ] && echo c >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(error): /tmp/datalad_temp_test_run_failurezrhqo_j9 (dataset) [false]
PASSED
datalad/local/tests/test_rerun.py::test_rerun_branch cat: run-file: No such file or directory
cat: run-file: No such file or directory
create(ok): . (dataset)
unlock(ok): run-file (file)
run(ok): /tmp/datalad_temp_test_rerun_branch9qfqacq_ (dataset) [echo x$(cat run-file) > run-file]
add(ok): run-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): run-file (file)
run(ok): /tmp/datalad_temp_test_rerun_branch9qfqacq_ (dataset) [echo x$(cat run-file) > run-file]
add(ok): run-file (file)
save(ok): . (dataset)
unlock(ok): run-file (file)
run(ok): /tmp/datalad_temp_test_rerun_branch9qfqacq_ (dataset) [echo x$(cat run-file) > run-file]
add(ok): run-file (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_branch9qfqacq_ (dataset) [9540b9f does not have a command; skipping]
action summary:
add (ok: 2)
run (ok: 3)
save (ok: 2)
unlock (ok: 2)
run(error): /tmp/datalad_temp_test_rerun_branch9qfqacq_ (dataset) [branch 'rerun2' already exists]
PASSED
datalad/local/tests/test_rerun.py::test_rerun_cherry_pick create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_cherry_pickjryma4ca (dataset) [echo abc > runfile]
add(ok): runfile (file)
save(ok): . (dataset)
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): runfile (file)
run(ok): /tmp/datalad_temp_test_rerun_cherry_pickjryma4ca (dataset) [echo abc > runfile]
add(ok): runfile (file)
run(ok): /tmp/datalad_temp_test_rerun_cherry_pickjryma4ca (dataset) [43bdd41 does not have a command; skipping]
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_cherry_pickjryma4ca (dataset) [echo abc > runfile]
add(ok): runfile (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_cherry_pickjryma4ca (dataset) [43bdd41 does not have a command; cherry picking]
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_invalid_merge_run_commit create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_invalid_merge_run_commitsgr5rt92 (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_invalid_merge_run_commitsgr5rt92 (dataset) [echo invalid >>invalid]
add(ok): invalid (file)
save(ok): . (dataset)
add(ok): non-run (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_invalid_merge_run_commitsgr5rt92 (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_invalid_merge_run_commitsgr5rt92 (dataset) [d217df5 does not have a command; skipping]
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_outofdate_tree grep: foo: No such file or directory
create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_outofdate_treet6x6hxox (dataset) [grep def foo > out]
add(ok): out (file)
save(ok): . (dataset)
remove(ok): foo (file)
save(ok): . (dataset)
action summary:
remove (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_ambiguous_revision_file create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_ambiguous_revision_filez1v8u_kh (dataset) [echo ambig > ambig]
add(ok): ambig (file)
save(ok): . (dataset)
unlock(ok): ambig (file)
run(ok): /tmp/datalad_temp_test_rerun_ambiguous_revision_filez1v8u_kh (dataset) [echo ambig > ambig]
add(ok): ambig (file)
action summary:
add (ok: 1)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_subdir create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_rerun_subdirsdn4y30h (dataset) [touch test.dat]
add(ok): subdir/test.dat (file)
save(ok): . (dataset)
unlock(ok): subdir/test.dat (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_subdirsdn4y30h (dataset) [touch test.dat]
add(ok): subdir/test.dat (file)
action summary:
add (ok: 1)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_rerun_subdirsdn4y30h (dataset) [touch test2.dat]
add(ok): test2.dat (file)
save(ok): . (dataset)
unlock(ok): test2.dat (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_subdirsdn4y30h (dataset) [touch test2.dat]
add(ok): test2.dat (file)
action summary:
add (ok: 1)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_new_or_modified create(ok): . (dataset)
add(ok): d/to_modify (file)
add(ok): to_modify (file)
add(ok): to_remove (file)
add(ok): unchanged (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
add(ok): d/to_modify (file)
add(ok): to_modify (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_script create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_scriptwuc4tfee (dataset) [echo a >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_scriptwuc4tfee (dataset) [touch bar]
add(ok): .datalad/runinfo/38369c6a7ad3bc751b391b6015eaae09 (file)
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_scriptwuc4tfee (dataset)
run(ok): /tmp/datalad_temp_test_rerun_scriptwuc4tfee/commands.sh (dataset) [Script written to /tmp/datalad_temp_test_rerun_scriptwuc4tfee/commands.sh]
run(ok): /tmp/datalad_temp_test_rerun_scriptwuc4tfee/commands.sh (dataset) [Script written to /tmp/datalad_temp_test_rerun_scriptwuc4tfee/commands.sh]
PASSED
datalad/local/tests/test_rerun.py::test_run_inputs_outputs create(ok): . (dataset)
add(ok): a.dat (file)
add(ok): b.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
add(ok): c.dat (file)
add(ok): d.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
add(ok): s2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
add(ok): e.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
add(ok): s1_0 (dataset)
add(ok): s1_1 (dataset)
add(ok): ss (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
create(ok): . (dataset)
add(ok): s0 (dataset)
add(ok): .gitmodules (file)
add(ok): extra-input.dat (file)
add(ok): input.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_run_inputs_outputsn1pdv5f4 (dataset)
get(ok): input.dat (file) [from dl-test-remote...]
get(ok): extra-input.dat (file) [from dl-test-remote...]
unlock(ok): doubled.dat (file)
run(ok): /tmp/datalad_temp_test_run_inputs_outputsn1pdv5f4 (dataset) [cat input.dat input.dat >doubled.dat]
add(ok): doubled.dat (file)
action summary:
add (ok: 1)
get (ok: 2)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
add(ok): a.dat (file)
add(ok): b.dat (file)
add(ok): c.txt (file)
add(ok): d.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
copy(ok): a.dat (file) [to dl-test-remote...]
copy(ok): b.dat (file) [to dl-test-remote...]
copy(ok): c.txt (file) [to dl-test-remote...]
copy(ok): d.txt (file) [to dl-test-remote...]
publish(ok): . (dataset) [refs/heads/git-annex->dl-test-remote:refs/heads/git-annex dbca74c..59f3025]
publish(error): . (dataset) [refs/heads/dl-test-branch->dl-test-remote:refs/heads/dl-test-branch [remote rejected] (branch is currently checked out)]
action summary:
copy (ok: 4)
publish (error: 1, ok: 1)
XFAIL (pu...)
datalad/local/tests/test_rerun.py::test_run_inputs_no_annex_repo create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_run_inputs_no_annex_repor8jv125s (dataset) [cd .> dummy]
add(ok): dummy (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_run_inputs_no_annex_repor8jv125s (dataset) [cd .> dummy]
action summary:
get (notneeded: 2)
run (ok: 1)
save (notneeded: 1)
unlock (notneeded: 1)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_explicit create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicitvknwliic (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicitvknwliic (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
run (ok: 1)
save (ok: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicitvknwliic (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicitvknwliic (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
run (ok: 2)
save (ok: 2)
unlock (ok: 2)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicitvknwliic (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicitvknwliic (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicitvknwliic (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_tree_test_rerun_explicitvknwliic (dataset) [echo o >> foo]
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
run (ok: 4)
save (ok: 4)
unlock (ok: 3)
save(ok): . (dataset)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_assume_ready create(ok): . (dataset)
add(ok): f1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_assume_readyfhwtcxj_ (dataset) [/usr/bin/python3.12 -c 'import sys; impo...]
add(ok): out1 (file)
add(ok): out2 (file)
save(ok): . (dataset)
drop(ok): out1 (file)
drop(ok): out2 (file)
action summary:
drop (ok: 2)
run(ok): /tmp/datalad_temp_test_rerun_assume_readyfhwtcxj_ (dataset) [/usr/bin/python3.12 -c 'import sys; impo...]
add(ok): out1 (file)
add(ok): out2 (file)
action summary:
add (ok: 2)
run (ok: 1)
save (notneeded: 1)
PASSED
datalad/local/tests/test_rerun.py::test_placeholders create(ok): . (dataset)
add(ok): a.in (file)
add(ok): b.in (file)
add(ok): c.out (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 1)
unlock(ok): c.out (file)
run(ok): /tmp/datalad_temp_tree_test_placeholderscttq6nhp (dataset) [echo a.in b.in>c.out]
add(ok): c.out (file)
save(ok): . (dataset)
unlock(ok): c.out (file)
run(ok): /tmp/datalad_temp_tree_test_placeholderscttq6nhp (dataset) [echo a.in b.in>c.out]
add(ok): c.out (file)
action summary:
add (ok: 1)
get (notneeded: 2)
run (ok: 1)
save (notneeded: 1)
unlock (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_placeholderscttq6nhp (dataset) [echo a.in>getitem]
add(ok): getitem (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_placeholderscttq6nhp (dataset) [echo /tmp/datalad_temp_tree_test_placeho...]
add(ok): expanded-pwd (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_placeholderscttq6nhp (dataset) [echo /tmp/datalad_temp_tree_test_placeho...]
add(ok): expanded-dspath (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_placeholderscttq6nhp (dataset) [echo /tmp/datalad_temp_tree_test_placeho...]
add(ok): subdir/expanded-pwd (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_placeholderscttq6nhp (dataset) [cd .> {inputs}]
add(ok): {inputs} (file)
save(ok): . (dataset)
run(impossible): /tmp/datalad_temp_tree_test_placeholderscttq6nhp (dataset) [command has an unrecognized placeholder: 'unknown_placeholder']
run(ok): /tmp/datalad_temp_tree_test_placeholderscttq6nhp (dataset) [echo gpl3 >configured-license]
add(ok): configured-license (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_placeholderscttq6nhp (dataset) [echo /tmp/datalad-run-mnqels2x >tout]
add(ok): tout (file)
save(ok): . (dataset)
PASSED
datalad/local/tests/test_rerun.py::test_rerun_commit_message_check PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_fastforwardable create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable00c3fbag (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable00c3fbag (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable00c3fbag (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable00c3fbag (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable00c3fbag (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable00c3fbag (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable00c3fbag (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_fastforwardable_mutator create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable_mutator_zyhtqmj (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable_mutator_zyhtqmj (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable_mutator_zyhtqmj (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable_mutator_zyhtqmj (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_fastforwardable_mutator_zyhtqmj (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_left_right_runs create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset)
action summary:
add (ok: 2)
run (ok: 3)
save (ok: 2)
unlock(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset) [echo bar >bar]
add(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset)
action summary:
add (ok: 2)
run (ok: 3)
save (notneeded: 1, ok: 1)
unlock (ok: 1)
unlock(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset) [echo bar >bar]
add(ok): bar (file)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_left_right_runs7klpu7gb (dataset)
action summary:
add (ok: 2)
run (ok: 3)
save (notneeded: 2)
unlock (ok: 2)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_run_left_mutator_right create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_mutator_rightn687lzjz (dataset) [echo ichange >>ichange]
add(ok): ichange (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_mutator_rightn687lzjz (dataset) [echo idont >idont]
add(ok): idont (file)
save(ok): . (dataset)
unlock(ok): idont (file)
run(ok): /tmp/datalad_temp_test_rerun_run_left_mutator_rightn687lzjz (dataset) [echo idont >idont]
add(ok): idont (file)
unlock(ok): ichange (file)
run(ok): /tmp/datalad_temp_test_rerun_run_left_mutator_rightn687lzjz (dataset) [echo ichange >>ichange]
add(ok): ichange (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_mutator_rightn687lzjz (dataset)
action summary:
add (ok: 2)
run (ok: 3)
save (notneeded: 1, ok: 1)
unlock (ok: 2)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_nonrun_left_run_right create(ok): . (dataset)
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_rightjdih3zfu (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_rightjdih3zfu (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_rightjdih3zfu (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_rightjdih3zfu (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_rightjdih3zfu (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_rightjdih3zfu (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_nonrun_left_run_rightjdih3zfu (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_run_left_nonrun_right create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rights75kppym (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rights75kppym (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rights75kppym (dataset) [8ef6246 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rights75kppym (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rights75kppym (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rights75kppym (dataset) [8ef6246 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rights75kppym (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rights75kppym (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rights75kppym (dataset) [8ef6246 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_run_left_nonrun_rights75kppym (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_mutator_left_nonrun_right create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_left_nonrun_rightc5v2evw1 (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
add(ok): nonrun-file (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_mutator_left_nonrun_rightc5v2evw1 (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_left_nonrun_rightc5v2evw1 (dataset) [f1181e8 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_mutator_left_nonrun_rightc5v2evw1 (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_mutator_stem_nonrun_merges create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
add(ok): nonrun-file0 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): nonrun-file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset) [913a529 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset) [cacfe79 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset)
action summary:
add (ok: 1)
run (ok: 4)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset) [913a529 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset) [cacfe79 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset)
action summary:
add (ok: 1)
run (ok: 4)
save (ok: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset) [913a529 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset) [cacfe79 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_mutator_stem_nonrun_mergesjqjbqdhe (dataset)
action summary:
add (ok: 1)
run (ok: 4)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_exclude_side create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_exclude_sidennv2qi87 (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_exclude_sidennv2qi87 (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_exclude_sidennv2qi87 (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_exclude_sidennv2qi87 (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_unrelated_run_left_nonrun_right create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightnizqlp2f (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightnizqlp2f (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightnizqlp2f (dataset) [564e862 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightnizqlp2f (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightnizqlp2f (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightnizqlp2f (dataset) [564e862 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightnizqlp2f (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightnizqlp2f (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightnizqlp2f (dataset) [564e862 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_unrelated_run_left_nonrun_rightnizqlp2f (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_unrelated_mutator_left_nonrun_right create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_mutator_left_nonrun_rightrzdn8_bx (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_mutator_left_nonrun_rightrzdn8_bx (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_mutator_left_nonrun_rightrzdn8_bx (dataset) [9428a92 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_unrelated_mutator_left_nonrun_rightrzdn8_bx (dataset)
action summary:
add (ok: 1)
run (ok: 3)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_unrelated_nonrun_left_run_right create(ok): . (dataset)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_right7ansfio0 (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_right7ansfio0 (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_right7ansfio0 (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_right7ansfio0 (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_right7ansfio0 (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_right7ansfio0 (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_run_right7ansfio0 (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (notneeded: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_unrelated_nonrun_left_mutator_right create(ok): . (dataset)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_mutator_righttzsdaa7t (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_mutator_righttzsdaa7t (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_mutator_righttzsdaa7t (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock (ok: 1)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_mutator_righttzsdaa7t (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_unrelated_nonrun_left_mutator_righttzsdaa7t (dataset)
action summary:
add (ok: 1)
run (ok: 2)
save (ok: 1)
unlock (ok: 1)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_multifork create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
add(ok): nonrun-file0 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): nonrun-file1 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
add(ok): nonrun-file2 (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo onside0 >onside0]
add(ok): onside0 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo after-side-side >after-side-side]
add(ok): after-side-side (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo foo >foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [0fd1112 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [7de47a5 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo onside0 >onside0]
add(ok): onside0 (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo after-side-side >after-side-side]
add(ok): after-side-side (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [f41f315 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset)
action summary:
add (ok: 4)
run (ok: 10)
save (ok: 4)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo foo >foo]
add(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [0fd1112 does not have a command; skipping]
unlock(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo bar >bar]
add(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [7de47a5 does not have a command; skipping]
unlock(ok): onside0 (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo onside0 >onside0]
add(ok): onside0 (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset)
unlock(ok): after-side-side (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [echo after-side-side >after-side-side]
add(ok): after-side-side (file)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset)
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset) [f41f315 does not have a command; skipping]
run(ok): /tmp/datalad_temp_test_rerun_multiforkrzhljq5v (dataset)
action summary:
add (ok: 4)
run (ok: 10)
save (notneeded: 4)
unlock (ok: 4)
PASSED
datalad/local/tests/test_rerun_merges.py::test_rerun_octopus create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
add(ok): non-run (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [echo baz >baz]
add(ok): baz (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [aade560 does not have a command; cherry picking]
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [echo bar >bar]
add(ok): bar (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [echo baz >baz]
add(ok): baz (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset)
action summary:
add (ok: 3)
run (ok: 5)
save (ok: 3)
unlock(ok): foo (file)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [echo foo >>foo]
add(ok): foo (file)
save(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [aade560 does not have a command; skipping]
unlock(ok): bar (file)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [echo bar >bar]
add(ok): bar (file)
unlock(ok): baz (file)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset) [echo baz >baz]
add(ok): baz (file)
run(ok): /tmp/datalad_temp_test_rerun_octopus7c_oclif (dataset)
action summary:
add (ok: 3)
run (ok: 5)
save (notneeded: 2, ok: 1)
unlock (ok: 3)
PASSED
datalad/local/tests/test_run_procedure.py::test_invalid_call PASSED
datalad/local/tests/test_run_procedure.py::test_dirty Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/resources/procedures/cfg_yoda.py", line 37, in <module>
raise RuntimeError(
RuntimeError: Stopping, because to be modified dataset content was found dirty: ['/tmp/datalad_temp_tree_test_dirtyg_j9udix/README.md']
create(ok): . (dataset)
add(ok): README.md (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_tree_test_dirtyg_j9udix (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
PASSED
datalad/local/tests/test_run_procedure.py::test_procedure_discovery create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_procedure_discovery4ui5dz9s (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): cfg_yoda.sh (file)
add(ok): code/datalad_test_proc.py (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
create(ok): . (dataset)
install(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/local/tests/test_run_procedure.py::test_configs add(ok): fromproc.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): fromproc.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): fromproc.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_configsljnq3x70 (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
run(ok): /tmp/datalad_temp_tree_test_configsljnq3x70 (dataset) [/usr/bin/python3.12 /tmp/datalad_temp_tr...]
unlock(ok): fromproc.txt (file)
run(ok): /tmp/datalad_temp_tree_test_configsljnq3x70 (dataset) [/usr/bin/python3.12 /tmp/datalad_temp_tr...]
unlock(ok): fromproc.txt (file)
run(ok): /tmp/datalad_temp_tree_test_configsljnq3x70 (dataset) [/usr/bin/python3.12 /tmp/datalad_temp_tr...]
procedure_help(impossible): code/datalad_test_proc.py (file) [No help available for 'datalad_test_proc']
datalad_test_proc (code/datalad_test_proc.py)
This is a help message
PASSED
datalad/local/tests/test_run_procedure.py::test_spaces add(ok): with spaces (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_spacesvmd0z8wl (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
run(ok): /tmp/datalad_temp_tree_test_spacesvmd0z8wl (dataset) [/usr/bin/python3.12 /tmp/datalad_temp_tr...]
PASSED
datalad/local/tests/test_run_procedure.py::test_quoting ['/tmp/datalad_temp_tree_test_quotingk5qbm7hy/ |;&%b5{}\'"<> .datc /code/just2args.py', '/tmp/datalad_temp_tree_test_quotingk5qbm7hy/ |;&%b5{}\'"<> .datc ', "with ' sing", 'with " doub']
['/tmp/datalad_temp_tree_test_quotingk5qbm7hy/ |;&%b5{}\'"<> .datc /code/just2args.py', '/tmp/datalad_temp_tree_test_quotingk5qbm7hy/ |;&%b5{}\'"<> .datc ', 'still-one arg']
Traceback (most recent call last):
File "/tmp/datalad_temp_tree_test_quotingk5qbm7hy/ |;&%b5{}'"<> .datc /code/just2args.py", line 5, in <module>
assert len(sys.argv) == 4
^^^^^^^^^^^^^^^^^^
AssertionError
create(ok): . (dataset)
PASSED
datalad/local/tests/test_run_procedure.py::test_text2git create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_text2git4irb686l (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
add(ok): 0blob (file)
add(ok): JSON (file)
add(ok): MARKDOWN (file)
add(ok): YAML (file)
add(ok): empty (file)
add(ok): emptyline (file)
save(ok): . (dataset)
action summary:
add (ok: 6)
save (ok: 1)
PASSED
datalad/local/tests/test_run_procedure.py::test_name_with_underscore ['/tmp/datalad_temp_tree_test_name_with_underscorein31akif/.datalad/procedures/print_args']
create(ok): . (dataset)
run(ok): /tmp/datalad_temp_tree_test_name_with_underscorein31akif (dataset) [/usr/bin/python3.12 /tmp/datalad_temp_tr...]
PASSED
datalad/local/tests/test_run_procedure.py::test_call_fmt_from_env_requires_reload create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
run(ok): /tmp/datalad_temp_test_call_fmt_from_env_requires_reloadjemxg5d4 (dataset) [/usr/bin/python3.12 /tmp/datalad_temp_te...]
PASSED
datalad/local/tests/test_run_procedure.py::test_run_proc_with_dict create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_run_proc_with_dict9vof4s2p (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
PASSED
datalad/local/tests/test_subdataset.py::test_get_subdatasets create(ok): . (dataset)
add(ok): sub dataset1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub dataset1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): 2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): 2 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): sub sub dataset1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub sub dataset1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subm 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): 2 (dataset)
add(ok): .gitmodules (file)
save(ok): sub sub dataset1 (dataset)
add(ok): sub sub dataset1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub sub dataset1/2 (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): sub sub dataset1 (dataset)
add(ok): sub sub dataset1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub sub dataset1/subm 1 (dataset)
action summary:
add (ok: 4)
create (ok: 1)
save (ok: 2)
add(ok): sub dataset1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (notneeded: 6, ok: 1)
install(ok): /tmp/datalad_temp_test_get_subdatasetsd08y4a38 (dataset)
add(ok): subdir/.lots.of.dots (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): subdir/.lots.of.dots (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): sub dataset1 (dataset)
install(ok): /tmp/datalad_temp_test_get_subdatasetsd08y4a38/sub dataset1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdatasetsd08y4a38/sub dataset1]
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
install(ok): /tmp/datalad_temp_test_get_subdatasetsd08y4a38/sub dataset1/sub sub dataset1 (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_get_subdatasetsd08y4a38/sub dataset1/sub sub dataset1]
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
subdataset(ok): sub dataset1 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
add(ok): sub dataset1/sub sub dataset1/.gitmodules (file)
save(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
add(ok): sub dataset1/sub sub dataset1/.gitmodules (file)
save(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
subdataset(ok): sub dataset1 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
add(ok): sub dataset1/sub sub dataset1/.gitmodules (file)
save(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
add(ok): sub dataset1/sub sub dataset1/.gitmodules (file)
save(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
add(ok): sub dataset1/.gitmodules (file)
save(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1/subm 1 (dataset)
subdataset(ok): subdir/.lots.of.dots (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
subdataset(impossible): /tmp/datalad_temp_test_get_subdatasetsd08y4a38 [path not contained in any matching subdataset]
subdataset(impossible): /tmp/datalad_temp_test_get_subdatasetsd08y4a38/impossible_yes [path not contained in any matching subdataset]
subdataset(impossible): /tmp/datalad_temp_test_get_subdatasetsd08y4a38/../impossible_yes [path not contained in any matching subdataset]
subdataset(ok): sub dataset1 (dataset)
subdataset(ok): sub dataset1/2 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1 (dataset)
subdataset(ok): sub dataset1/sub sub dataset1/subm 1 (dataset)
PASSED
datalad/local/tests/test_subdataset.py::test_state create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): sub (dataset)
uninstall(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
subdataset(ok): sub (dataset)
PASSED
datalad/local/tests/test_subdataset.py::test_get_subdatasets_types create(ok): /tmp/datalad_temp_test_get_subdatasets_typesc8zktrq0 (dataset)
add(ok): 1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): 1 (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): true (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): true (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): 1 (dataset)
subdataset(ok): true (dataset)
PASSED
datalad/local/tests/test_subdataset.py::test_parent_on_unborn_branch subdataset(ok): sub (dataset)
PASSED
datalad/local/tests/test_subdataset.py::test_name_starts_with_hyphen create(ok): . (dataset)
add(ok): -sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): -sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
subdataset(ok): -sub (dataset)
create(ok): . (dataset)
install(ok): /tmp/datalad_temp_test_name_starts_with_hyphen353muj46/-clone (dataset)
add(ok): -clone (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
subdataset(ok): -clone (dataset)
uninstall(ok): -clone (dataset)
subdataset(ok): -clone (dataset)
install(ok): /tmp/datalad_temp_test_name_starts_with_hyphen353muj46/-clone (dataset) [Installed subdataset in order to get /tmp/datalad_temp_test_name_starts_with_hyphen353muj46/-clone]
subdataset(ok): -clone (dataset)
PASSED
datalad/local/tests/test_unlock.py::test_unlock_raises create(ok): /tmp/datalad_temp_test_unlock_raiseskh8den30 (dataset)
unlock(impossible): notexistent.txt (file) [path does not exist]
status(error): ../datalad_temp_test_unlock_raisesci0gxy7u [path not underneath the reference dataset /tmp/datalad_temp_test_unlock_raiseskh8den30]
PASSED
datalad/local/tests/test_unlock.py::test_unlock create(ok): . (dataset)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_unlock9m5ylq_8 (dataset)
unlock(impossible): test-annex.dat (file) [no content present; cannot unlock]
unlock(ok): test-annex.dat (file)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): test-annex.dat (file)
add(ok): test-annex.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/local/tests/test_unlock.py::test_unlock_directory create(ok): . (dataset)
add(ok): dir/a (file)
add(ok): dir/b (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
unlock(ok): dir/a (file)
unlock(ok): dir/b (file)
action summary:
unlock (ok: 2)
add(ok): dir/a (file)
add(ok): dir/b (file)
action summary:
add (ok: 2)
save (notneeded: 1)
drop(ok): dir/a (file)
unlock(ok): dir/b (file)
unlock(impossible): dir/a (file) [no content present; cannot unlock]
PASSED
datalad/local/tests/test_unlock.py::test_unlock_cant_unlock create(ok): . (dataset)
add(ok): regular_git (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): already_unlocked (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
unlock(ok): already_unlocked (file)
unlock(impossible): untracked (file) [untracked; cannot unlock]
PASSED
datalad/local/tests/test_unlock.py::test_unlock_gh_5456 create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/local/tests/test_wtf.py::test_wtf create(ok): /tmp/datalad_temp_tree_test_wtfa2273xcn/ |;&%b5{}'"<> .datc (dataset)
# WTF
SKIPPED ()
datalad/resources/procedures/tests/test_noannex.py::test_noannex_simple create(ok): . (dataset)
run(ok): /tmp/datalad_temp_test_noannex_simplexc7mhjq4 (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
PASSED
datalad/resources/procedures/tests/test_noannex.py::test_noannex_create_force run(ok): /tmp/datalad_temp_tree_test_noannex_create_force9nkkklco (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
create(ok): . (dataset)
action summary:
create (ok: 1)
run (ok: 1)
PASSED
datalad/resources/procedures/tests/test_noannex.py::test_noannex_fail_if_has_annexed Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/resources/procedures/cfg_noannex.py", line 43, in <module>
no_annex(sys.argv[1])
File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build/datalad/resources/procedures/cfg_noannex.py", line 28, in no_annex
raise RuntimeError("Annex has some annexed files, unsafe")
RuntimeError: Annex has some annexed files, unsafe
create(ok): . (dataset)
add(ok): data (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
run(error): /tmp/datalad_temp_tree_test_noannex_fail_if_has_annexedcdage8z5 (dataset) [/usr/bin/python3.12 /build/datalad-fCpM1...]
XFAIL
datalad/runner/tests/test_exception.py::test_format_error_with_duplicates PASSED
datalad/runner/tests/test_exception.py::test_format_no_errors PASSED
datalad/runner/tests/test_exception.py::test_command_error_rendering PASSED
datalad/runner/tests/test_generatormixin.py::test_generator_mixin_basic PASSED
datalad/runner/tests/test_generatormixin.py::test_generator_mixin_runner PASSED
datalad/runner/tests/test_generatormixin.py::test_post_pipe_callbacks PASSED
datalad/runner/tests/test_generatormixin.py::test_file_number_activity_detection a
PASSED
datalad/runner/tests/test_generatormixin.py::test_failing_process PASSED
datalad/runner/tests/test_gitrunner.py::test_gitrunner_generator PASSED
datalad/runner/tests/test_gitrunner.py::test_gitrunner_list PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_interactive_communication PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_thread_exit deque([])
PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_read_exception_catching PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_read_closing PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_write_exception_catching PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_writer_closing PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_writer_closing_timeout_signal PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_blocking_writer_closing_no_signal PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_inside_async PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_popen_invocation create(ok): . (dataset)
add(ok): file.dat (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
install(ok): /tmp/datalad_temp_test_popen_invocation2xi6g13p (dataset)
get(ok): file.dat (file) [from dl-test-remote...]
PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_timeout PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_timeout_nothing PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_timeout_stdout_stderr PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_timeout_process PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_exit_3 PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_exit_4 PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_generator_throw PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_exiting_process exit
PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_stalling_detection_1 PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_stalling_detection_2 PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_concurrent_waiting_run PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_concurrent_generator_reading PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_same_thread_reenter_detection PASSED
datalad/runner/tests/test_nonasyncrunner.py::test_reenter_generator_detection PASSED
datalad/runner/tests/test_threadsafety.py::test_thread_serialization PASSED
datalad/runner/tests/test_threadsafety.py::test_reentry_detection PASSED
datalad/runner/tests/test_threadsafety.py::test_leave_handling PASSED
datalad/runner/tests/test_threadsafety.py::test_thread_leave_handling PASSED
datalad/runner/tests/test_utils.py::test_line_splitter_basic PASSED
datalad/runner/tests/test_utils.py::test_line_splitter_basic_keep PASSED
datalad/runner/tests/test_utils.py::test_line_splitter_zero PASSED
datalad/runner/tests/test_utils.py::test_line_splitter_zero_keep PASSED
datalad/runner/tests/test_utils.py::test_line_splitter_corner_cases PASSED
datalad/runner/tests/test_utils.py::test_assembling_decoder_mix_in_basic PASSED
datalad/runner/tests/test_utils.py::test_assembling_decoder_mix_in_multiple PASSED
datalad/runner/tests/test_utils.py::test_assembling_decoder_mix_in_multiple_fail PASSED
datalad/runner/tests/test_utils.py::test_assembling_decoder_mix_in_warning PASSED
datalad/runner/tests/test_witless_runner.py::test_runner PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_stderr_capture PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_stdout_capture PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_failure PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_fix_PWD PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_cwd_encoding PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_stdin PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_stdin_no_capture STUVWXYZ-
PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_no_stdin_no_capture a b c
PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_empty_stdin
PASSED
datalad/runner/tests/test_witless_runner.py::test_runner_parametrized_protocol PASSED
datalad/runner/tests/test_witless_runner.py::test_asyncio_loop_noninterference1 /tmp/datalad_temp_test_asyncio_loop_noninterference1j2mahtff/reproducer.py:2: DeprecationWarning: There is no current event loop
asyncio.get_event_loop()
install(ok): /tmp/datalad_temp_test_asyncio_loop_noninterference187diyca3 (dataset)
nothing to save, working tree clean
create(ok): /tmp/datalad_temp_test_asyncio_loop_noninterference1j2mahtff (dataset)
PASSED
datalad/runner/tests/test_witless_runner.py::test_asyncio_forked PASSED
datalad/runner/tests/test_witless_runner.py::test_done_deprecation PASSED
datalad/runner/tests/test_witless_runner.py::test_faulty_poll_detection PASSED
datalad/runner/tests/test_witless_runner.py::test_kill_output PASSED
datalad/runner/tests/test_witless_runner.py::test_too_long PASSED
datalad/runner/tests/test_witless_runner.py::test_path_to_str_conversion PASSED
datalad/runner/tests/test_witless_runner.py::test_env_copying PASSED
datalad/runner/tests/test_witless_runner.py::test_environment PASSED
datalad/runner/tests/test_witless_runner.py::test_argument_priority PASSED
datalad/runner/tests/test_witless_runner.py::test_concurrent_execution PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_instance_from_clone PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_instance_from_existing PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_instance_brand_new PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_crippled_filesystem PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_is_direct_mode PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_is_direct_mode_gitrepo PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_file_key PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_outofspace PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_remote_na PASSED
datalad/support/tests/test_annexrepo.py::test_annex_repo_sameas_special SKIPPED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_file_has_content[False] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_file_has_content[True] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_is_under_annex[False] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_is_under_annex[True] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_web_remote PASSED
datalad/support/tests/test_annexrepo.py::test_find_batch_equivalence PASSED
datalad/support/tests/test_annexrepo.py::test_repo_info PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_migrating_backends PASSED
datalad/support/tests/test_annexrepo.py::test_dropkey[False] PASSED
datalad/support/tests/test_annexrepo.py::test_dropkey[True] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_backend_option PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_file_backend PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_always_commit PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_on_uninited_annex Cloning into '/tmp/datalad_temp_test_AnnexRepo_on_uninited_annexlqwowye7'...
done.
PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_commit PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_add_to_annex PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_add_to_git PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get PASSED
datalad/support/tests/test_annexrepo.py::test_v7_detached_get PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_contentlocation[False] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_contentlocation[True] PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_addurl_to_file_batched SKIPPED
datalad/support/tests/test_annexrepo.py::test_annexrepo_fake_dates_disables_batched PASSED
datalad/support/tests/test_annexrepo.py::test_annex_backends PASSED
datalad/support/tests/test_annexrepo.py::test_annex_ssh SKIPPED (Run...)
datalad/support/tests/test_annexrepo.py::test_annex_remove PASSED
datalad/support/tests/test_annexrepo.py::test_repo_version_upgrade PASSED
datalad/support/tests/test_annexrepo.py::test_repo_version_supported[8] PASSED
datalad/support/tests/test_annexrepo.py::test_repo_version_supported[9] PASSED
datalad/support/tests/test_annexrepo.py::test_repo_version_supported[10] PASSED
datalad/support/tests/test_annexrepo.py::test_init_scanning_message SKIPPED
datalad/support/tests/test_annexrepo.py::test_annex_copy_to PASSED
datalad/support/tests/test_annexrepo.py::test_annex_drop PASSED
datalad/support/tests/test_annexrepo.py::test_annex_get_annexed_files PASSED
datalad/support/tests/test_annexrepo.py::test_is_available[True] create(ok): . (dataset)
save(ok): . (dataset)
drop(ok): test-annex.dat (file)
install(ok): /tmp/datalad_temp_test_is_availablegpg23dp0 (dataset)
PASSED
datalad/support/tests/test_annexrepo.py::test_is_available[False] create(ok): . (dataset)
save(ok): . (dataset)
drop(ok): test-annex.dat (file)
install(ok): /tmp/datalad_temp_test_is_availableatitg08j (dataset)
PASSED
datalad/support/tests/test_annexrepo.py::test_get_urls_none PASSED
datalad/support/tests/test_annexrepo.py::test_annex_add_no_dotfiles /tmp/datalad_temp_test_annex_add_no_dotfileshi8mhuhj
PASSED
datalad/support/tests/test_annexrepo.py::test_annex_version_handling_at_min_version PASSED
datalad/support/tests/test_annexrepo.py::test_annex_version_handling_bad_git_annex PASSED
datalad/support/tests/test_annexrepo.py::test_get_description PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_flyweight PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_toppath PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_submodules SKIPPED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_dirty PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_set_remote_url PASSED
datalad/support/tests/test_annexrepo.py::test_wanted PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_metadata PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_addurl_batched_and_set_metadata PASSED
datalad/support/tests/test_annexrepo.py::test_change_description PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_corresponding_branch PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_get_tracking_branch PASSED
datalad/support/tests/test_annexrepo.py::test_AnnexRepo_is_managed_branch PASSED
datalad/support/tests/test_annexrepo.py::test_fake_is_not_special PASSED
datalad/support/tests/test_annexrepo.py::test_is_special PASSED
datalad/support/tests/test_annexrepo.py::test_fake_dates PASSED
datalad/support/tests/test_annexrepo.py::test_error_reporting PASSED
datalad/support/tests/test_annexrepo.py::test_annexjson_protocol PASSED
datalad/support/tests/test_annexrepo.py::test_annexjson_protocol_long PASSED
datalad/support/tests/test_annexrepo.py::test_annexjson_protocol_incorrect[] PASSED
datalad/support/tests/test_annexrepo.py::test_annexjson_protocol_incorrect[, end=""] PASSED
datalad/support/tests/test_annexrepo.py::test_commit_annex_commit_changed[True] PASSED
datalad/support/tests/test_annexrepo.py::test_commit_annex_commit_changed[False] PASSED
datalad/support/tests/test_annexrepo.py::test_unannex_etc PASSED
datalad/support/tests/test_annexrepo.py::test_files_split_exc[GitRepo] PASSED
datalad/support/tests/test_annexrepo.py::test_files_split_exc[AnnexRepo] PASSED
datalad/support/tests/test_annexrepo.py::test_files_split[GitRepo] PASSED
datalad/support/tests/test_annexrepo.py::test_files_split[AnnexRepo] PASSED
datalad/support/tests/test_annexrepo.py::test_ro_operations SKIPPED
datalad/support/tests/test_annexrepo.py::test_save_noperms SKIPPED (...)
datalad/support/tests/test_annexrepo.py::test_get_size_from_key PASSED
datalad/support/tests/test_annexrepo.py::test_call_annex PASSED
datalad/support/tests/test_annexrepo.py::test_whereis_zero_copies PASSED
datalad/support/tests/test_annexrepo.py::test_whereis_batch_eqv PASSED
datalad/support/tests/test_annexrepo.py::test_done_deprecation PASSED
datalad/support/tests/test_annexrepo.py::test_generator_annex_json_protocol PASSED
datalad/support/tests/test_annexrepo.py::test_captured_exception PASSED
datalad/support/tests/test_annexrepo.py::test_stderr_rejecting_protocol_trigger PASSED
datalad/support/tests/test_annexrepo.py::test_stderr_rejecting_protocol_ignore PASSED
datalad/support/tests/test_ansi_colors.py::test_color_enabled PASSED
datalad/support/tests/test_ansi_colors.py::test_format_msg PASSED
datalad/support/tests/test_ansi_colors.py::test_color_word PASSED
datalad/support/tests/test_ansi_colors.py::test_color_status PASSED
datalad/support/tests/test_cache.py::test_DictCache PASSED
datalad/support/tests/test_captured_exception.py::test_CapturedException PASSED
datalad/support/tests/test_captured_exception.py::test_format_exception_with_cause PASSED
datalad/support/tests/test_cookies.py::test_no_blows BDB3028 /tmp/datalad_temp_test_no_blowsflto4iqq/mycookies.db: unable to flush: No such file or directory
PASSED
datalad/support/tests/test_digests.py::test_digester PASSED
datalad/support/tests/test_due_utils.py::test_duecredit_dataset create(ok): . (dataset)
PASSED
datalad/support/tests/test_extensions.py::test_register_config PASSED
datalad/support/tests/test_external_versions.py::test_external_versions_basic PASSED
datalad/support/tests/test_external_versions.py::test_external_version_contains PASSED
datalad/support/tests/test_external_versions.py::test_external_versions_unknown PASSED
datalad/support/tests/test_external_versions.py::test_external_versions_popular_packages SKIPPED
datalad/support/tests/test_external_versions.py::test_external_versions_rogue_module PASSED
datalad/support/tests/test_external_versions.py::test_custom_versions PASSED
datalad/support/tests/test_external_versions.py::test_ancient_annex PASSED
datalad/support/tests/test_external_versions.py::test_annex_version_comparison PASSED
datalad/support/tests/test_external_versions.py::test_list_tuple PASSED
datalad/support/tests/test_external_versions.py::test_system_ssh_version PASSED
datalad/support/tests/test_external_versions.py::test_ssh_versions PASSED
datalad/support/tests/test_external_versions.py::test_humanize PASSED
datalad/support/tests/test_external_versions.py::test_check PASSED
datalad/support/tests/test_external_versions.py::test_add PASSED
datalad/support/tests/test_fileinfo.py::test_get_content_info PASSED
datalad/support/tests/test_fileinfo.py::test_compare_content_info create(ok): . (dataset)
PASSED
datalad/support/tests/test_fileinfo.py::test_subds_path create(ok): . (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): sub (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): some.txt (file)
save(ok): sub (dataset)
add(ok): sub (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
PASSED
datalad/support/tests/test_fileinfo.py::test_report_absent_keys create(ok): . (dataset)
add(ok): dummy (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
drop(ok): dummy (file)
get(ok): mehasurlkey (file) [from web...]
PASSED
datalad/support/tests/test_fileinfo.py::test_annexinfo_init create(ok): . (dataset)
add(ok): bar (file)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 2)
save (ok: 1)
PASSED
datalad/support/tests/test_fileinfo.py::test_info_path_inside_submodule create(ok): . (dataset)
add(ok): submod (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
create(ok): submod (dataset)
action summary:
add (ok: 2)
create (ok: 1)
save (ok: 1)
add(ok): foo (file)
save(ok): submod (dataset)
add(ok): submod (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
save (ok: 2)
PASSED
datalad/support/tests/test_fileinfo.py::test_get_content_info_dotgit create(ok): . (dataset)
PASSED
datalad/support/tests/test_fileinfo.py::test_get_content_info_paths_empty_list create(ok): . (dataset)
add(ok): foo (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/support/tests/test_fileinfo.py::test_status_paths_empty_list create(ok): . (dataset)
PASSED
datalad/support/tests/test_fileinfo.py::test_get_file_annexinfo create(ok): . (dataset)
add(ok): ingit.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
add(ok): dir1/dropped (file)
add(ok): dir2/d21 (file)
add(ok): dir2/d22 (file)
add(ok): inannex.txt (file)
save(ok): . (dataset)
action summary:
add (ok: 4)
save (ok: 1)
drop(ok): dir1/dropped (file)
drop(ok): dir1 (directory)
action summary:
drop (ok: 2)
PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_invalid_path PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_instance_from_clone PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_instance_from_existing PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_instance_from_not_existing PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_init_options PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_bare PASSED
datalad/support/tests/test_gitrepo.py::test_init_fail_under_known_subdir PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_equals PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_add PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_remove PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_commit PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_indexed_files PASSED
datalad/support/tests/test_gitrepo.py::test_normalize_path PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_files_decorator PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_remote_add SKIPPED
datalad/support/tests/test_gitrepo.py::test_GitRepo_remote_remove PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_remote_url PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_fetch PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_ssh_fetch SKIPPED
datalad/support/tests/test_gitrepo.py::test_GitRepo_ssh_push SKIPPED
datalad/support/tests/test_gitrepo.py::test_GitRepo_push_n_checkout PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_remote_update PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_files PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_toppath PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_dirty PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_merge_base PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_git_get_branch_commits_ PASSED
datalad/support/tests/test_gitrepo.py::test_get_tracking_branch PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_submodules PASSED
datalad/support/tests/test_gitrepo.py::test_get_submodules_parent_on_unborn_branch PASSED
datalad/support/tests/test_gitrepo.py::test_to_options PASSED
datalad/support/tests/test_gitrepo.py::test_to_options_from_gitpython PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_count_objects PASSED
datalad/support/tests/test_gitrepo.py::test_optimized_cloning PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_flyweight PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_gitignore PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_set_remote_url PASSED
datalad/support/tests/test_gitrepo.py::test_gitattributes PASSED
datalad/support/tests/test_gitrepo.py::test_get_hexsha_tag PASSED
datalad/support/tests/test_gitrepo.py::test_get_tags PASSED
datalad/support/tests/test_gitrepo.py::test_get_commit_date PASSED
datalad/support/tests/test_gitrepo.py::test_fake_dates PASSED
datalad/support/tests/test_gitrepo.py::test_duecredit PASSED
datalad/support/tests/test_gitrepo.py::test_GitRepo_get_revisions PASSED
datalad/support/tests/test_gitrepo.py::test_gitrepo_add_to_git_with_annex_v7 PASSED
datalad/support/tests/test_gitrepo.py::test_gitrepo_call_git_methods PASSED
datalad/support/tests/test_gitrepo.py::test_protocols[https] SKIPPED
datalad/support/tests/test_gitrepo.py::test_gitrepo_push_default_first_kludge PASSED
datalad/support/tests/test_globbedpaths.py::test_globbedpaths_get_sub_patterns PASSED
datalad/support/tests/test_globbedpaths.py::test_globbedpaths PASSED
datalad/support/tests/test_globbedpaths.py::test_globbedpaths_misses PASSED
datalad/support/tests/test_globbedpaths.py::test_globbedpaths_partial_matches PASSED
datalad/support/tests/test_globbedpaths.py::test_globbedpaths_cached PASSED
datalad/support/tests/test_json_py.py::test_load_screwy_unicode PASSED
datalad/support/tests/test_json_py.py::test_load_unicode_line_separator PASSED
datalad/support/tests/test_json_py.py::test_loads PASSED
datalad/support/tests/test_json_py.py::test_compression PASSED
datalad/support/tests/test_json_py.py::test_dump PASSED
datalad/support/tests/test_json_py.py::test_dump2stream PASSED
datalad/support/tests/test_locking.py::test_lock_if_check_fails PASSED
datalad/support/tests/test_locking.py::test_try_lock_informatively PASSED
datalad/support/tests/test_network.py::test_same_website PASSED
datalad/support/tests/test_network.py::test_get_tld PASSED
datalad/support/tests/test_network.py::test_dlurljoin PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[] PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[#] PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[#tag] PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[#tag/obscure] PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[?param=1] PASSED
datalad/support/tests/test_network.py::test_get_url_straight_filename[?param=1&another=/] PASSED
datalad/support/tests/test_network.py::test_rfc2822_to_epoch PASSED
datalad/support/tests/test_network.py::test_get_response_disposition_filename PASSED
datalad/support/tests/test_network.py::test_parse_url_opts PASSED
datalad/support/tests/test_network.py::test_split_colon PASSED
datalad/support/tests/test_network.py::test_url_eq PASSED
datalad/support/tests/test_network.py::test_url_base PASSED
datalad/support/tests/test_network.py::test_pathri_guessing PASSED
datalad/support/tests/test_network.py::test_pathri_windows_anchor SKIPPED
datalad/support/tests/test_network.py::test_url_samples SKIPPED (TOD...)
datalad/support/tests/test_network.py::test_git_transport_ri PASSED
datalad/support/tests/test_network.py::test_url_quote_path[SSHRI-clskwargs0-example.com:/ "';a&b&cd `| ] PASSED
datalad/support/tests/test_network.py::test_url_quote_path[URL-clskwargs1-http://example.com/%20%22%27%3Ba%26b%26cd%20%60%7C%20] PASSED
datalad/support/tests/test_network.py::test_url_quote_path[PathRI-clskwargs2-/ "';a&b&cd `| ] PASSED
datalad/support/tests/test_network.py::test_url_compose_archive_one PASSED
datalad/support/tests/test_network.py::test_url_fragments_and_query PASSED
datalad/support/tests/test_network.py::test_url_dicts PASSED
datalad/support/tests/test_network.py::test_get_url_path_on_fileurls PASSED
datalad/support/tests/test_network.py::test_is_url PASSED
datalad/support/tests/test_network.py::test_is_datalad_compat_ri PASSED
datalad/support/tests/test_network.py::test_get_local_file_url D: test.txt
D: |;&%b5{}'"<> .datc
D: /a
D: /a/b/c
D: /a~
D: /a b/name
PASSED
datalad/support/tests/test_network.py::test_get_local_file_url_compatibility create(ok): . (dataset)
create(ok): . (dataset)
install(ok): ds2 (dataset)
add(ok): ds2 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 3)
install (ok: 1)
save (ok: 2)
PASSED
datalad/support/tests/test_network.py::test_is_ssh PASSED
datalad/support/tests/test_network.py::test_iso8601_to_epoch PASSED
datalad/support/tests/test_network.py::test_mapping_identity temp_dir: /tmp
PASSED
datalad/support/tests/test_network.py::test_auto_resolve_path PASSED
datalad/support/tests/test_network.py::test_hostname_detection SKIPPED
datalad/support/tests/test_network.py::test_url_path2local_path_excceptions PASSED
datalad/support/tests/test_network.py::test_quote_path PASSED
datalad/support/tests/test_parallel.py::test_ProducerConsumer PASSED
datalad/support/tests/test_parallel.py::test_creatsubdatasets create(ok): . (dataset)
create(error): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds1 (dataset) [will not create a dataset in a non-empty directory, use `--force` option to ignore]
create(error): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds0 (dataset) [will not create a dataset in a non-empty directory, use `--force` option to ignore]
create(ok): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds0/subsub1 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds1/subsub0 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds0/subsub0 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds1/subsub1 (dataset)
create(ok): . (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds1 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds0 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds0/subsub1 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds0/subsub0 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds1/subsub1 (dataset)
create(ok): /tmp/datalad_temp_test_creatsubdatasetsl8m72b8k/subds1/subsub0 (dataset)
add(ok): subsub0 (dataset)
add(ok): subsub1 (dataset)
add(ok): .gitmodules (file)
save(ok): subds1 (dataset)
add(ok): subsub0 (dataset)
add(ok): subsub1 (dataset)
add(ok): .gitmodules (file)
save(ok): subds0 (dataset)
add(ok): subds0 (dataset)
add(ok): subds1 (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 9)
save (ok: 3)
PASSED
datalad/support/tests/test_parallel.py::test_stalling PASSED
datalad/support/tests/test_parallel.py::test_parallel_flyweights PASSED
datalad/support/tests/test_path.py::test_robust_abspath PASSED
datalad/support/tests/test_path.py::test_split_ext PASSED
datalad/support/tests/test_path.py::test_get_parent_paths[None] PASSED
datalad/support/tests/test_path.py::test_get_parent_paths[/] PASSED
datalad/support/tests/test_path.py::test_get_parent_paths[\\] PASSED
datalad/support/tests/test_path.py::test_get_filtered_paths_ PASSED
datalad/support/tests/test_repo_save.py::test_save_basics PASSED
datalad/support/tests/test_repo_save.py::test_gitrepo_save_all add(ok): file_untracked (file)
save(ok): subds_modified/someds/dirtyds (dataset)
add(ok): dirtyds (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified/someds (dataset)
add(ok): someds (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): progressedds (dataset)
add(ok): .gitmodules (file)
save(ok): subdir/subds_modified (dataset)
add(ok): subdir/subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 10)
save (notneeded: 7, ok: 5)
PASSED
datalad/support/tests/test_repo_save.py::test_annexrepo_save_all add(ok): file_untracked (file)
save(ok): subds_modified/someds/dirtyds (dataset)
add(ok): dirtyds (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified/someds (dataset)
add(ok): someds (dataset)
add(ok): .gitmodules (file)
save(ok): subds_modified (dataset)
add(ok): progressedds (dataset)
add(ok): .gitmodules (file)
save(ok): subdir/subds_modified (dataset)
add(ok): subdir/subds_modified (dataset)
add(ok): subds_modified (dataset)
add(ok): .gitmodules (file)
save(ok): . (dataset)
action summary:
add (ok: 10)
save (notneeded: 7, ok: 5)
PASSED
datalad/support/tests/test_repo_save.py::test_save_typechange PASSED
datalad/support/tests/test_repo_save.py::test_save_to_git PASSED
datalad/support/tests/test_repo_save.py::test_save_subds_change PASSED
datalad/support/tests/test_repodates.py::test_check_dates_empty_repo PASSED
datalad/support/tests/test_repodates.py::test_check_dates PASSED
datalad/support/tests/test_sshconnector.py::test_ssh_get_connection SKIPPED
datalad/support/tests/test_sshconnector.py::test_ssh_open_close SKIPPED
datalad/support/tests/test_sshconnector.py::test_ssh_manager_close SKIPPED
datalad/support/tests/test_sshconnector.py::test_ssh_manager_close_no_throw PASSED
datalad/support/tests/test_sshconnector.py::test_ssh_copy SKIPPED (R...)
datalad/support/tests/test_sshconnector.py::test_ssh_compound_cmds SKIPPED
datalad/support/tests/test_sshconnector.py::test_ssh_custom_identity_file SKIPPED
datalad/support/tests/test_sshconnector.py::test_ssh_git_props SKIPPED
datalad/support/tests/test_sshconnector.py::test_bundle_invariance SKIPPED
datalad/support/tests/test_sshrun.py::test_exit_code SKIPPED (Run th...)
datalad/support/tests/test_sshrun.py::test_no_stdin_swallow SKIPPED
datalad/support/tests/test_sshrun.py::test_fancy_quotes SKIPPED (Run...)
datalad/support/tests/test_sshrun.py::test_ssh_option SKIPPED (Run t...)
datalad/support/tests/test_sshrun.py::test_ssh_ipv4_6_incompatible SKIPPED
datalad/support/tests/test_sshrun.py::test_ssh_ipv4_6 SKIPPED (Run t...)
datalad/support/tests/test_stats.py::test_ActivityStats_basic PASSED
datalad/support/tests/test_stats.py::test_ActivityStats_comparisons PASSED
datalad/support/tests/test_stats.py::test_add PASSED
datalad/support/tests/test_status.py::test_FileStatus_basic PASSED
datalad/support/tests/test_vcr_.py::test_use_cassette_if_no_vcr SKIPPED
datalad/tests/test__main__.py::test_main_help PASSED
datalad/tests/test__main__.py::test_main_version PASSED
datalad/tests/test_api.py::test_basic_setup PASSED
datalad/tests/test_api.py::test_consistent_order_of_args PASSED
datalad/tests/test_archives.py::test_decompress_file[None] PASSED
datalad/tests/test_archives.py::test_decompress_file[strip] PASSED
datalad/tests/test_archives.py::test_decompress_file_unknown PASSED
datalad/tests/test_archives.py::test_compress_dir[.tar.xz] PASSED
datalad/tests/test_archives.py::test_compress_dir[.tar.gz] PASSED
datalad/tests/test_archives.py::test_compress_dir[.tgz] PASSED
datalad/tests/test_archives.py::test_compress_dir[.tbz2] PASSED
datalad/tests/test_archives.py::test_compress_dir[.tar] PASSED
datalad/tests/test_archives.py::test_compress_dir[.zip] PASSED
datalad/tests/test_archives.py::test_compress_dir[.7z] PASSED
datalad/tests/test_archives.py::test_compress_file[.xz-True] PASSED
datalad/tests/test_archives.py::test_compress_file[.xz-False] PASSED
datalad/tests/test_archives.py::test_compress_file[.gz-True] PASSED
datalad/tests/test_archives.py::test_compress_file[.gz-False] PASSED
datalad/tests/test_archives.py::test_compress_file[.zip-True] PASSED
datalad/tests/test_archives.py::test_compress_file[.zip-False] PASSED
datalad/tests/test_archives.py::test_compress_file[.7z-True] PASSED
datalad/tests/test_archives.py::test_compress_file[.7z-False] PASSED
datalad/tests/test_archives.py::test_ExtractedArchive PASSED
datalad/tests/test_archives.py::test_ArchivesCache PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value0-None-kwargs0] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value1-None-kwargs1] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value2-None-kwargs2] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value3-d-kwargs3] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value4-d-kwargs4] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value5-None-kwargs5] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value6-None-kwargs6] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value7-d/d2-kwargs7] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value8-d-kwargs8] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value9-d-kwargs9] PASSED
datalad/tests/test_archives.py::test_get_leading_directory[return_value10-d/d1-kwargs10] PASSED
datalad/tests/test_base.py::test_paths_with_forward_slashes /tmp/datalad_temp_tree_test_paths_with_forward_slashesj2hu3kf8
PASSED
datalad/tests/test_base.py::test_not_under_git PASSED
datalad/tests/test_base.py::test_no_empty_http_proxy PASSED
datalad/tests/test_base.py::test_git_config_warning PASSED
datalad/tests/test_cmd.py::test_readline_rstripped_deprecation PASSED
datalad/tests/test_cmd.py::test_batched_command PASSED
datalad/tests/test_cmd.py::test_batched_close_abandon PASSED
datalad/tests/test_cmd.py::test_batched_close_timeout_exception PASSED
datalad/tests/test_cmd.py::test_batched_close_wait PASSED
datalad/tests/test_cmd.py::test_batched_close_ok PASSED
datalad/tests/test_cmd.py::test_tuple_requests PASSED
datalad/tests/test_cmd.py::test_batched_restart PASSED
datalad/tests/test_cmd.py::test_command_fail_1 PASSED
datalad/tests/test_cmd.py::test_command_fail_2 PASSED
datalad/tests/test_config.py::test_parse_gitconfig_dump PASSED
datalad/tests/test_config.py::test_something fatal: no such section: nothere
fatal: --local can only be used inside a git repository
PASSED
datalad/tests/test_config.py::test_includeif_breaking PASSED
datalad/tests/test_config.py::test_crazy_cfg PASSED
datalad/tests/test_config.py::test_obtain create(ok): /tmp/datalad_temp_test_obtaineucg8z_9 (dataset)
PASSED
datalad/tests/test_config.py::test_from_env PASSED
datalad/tests/test_config.py::test_from_env_overrides PASSED
datalad/tests/test_config.py::test_overrides PASSED
datalad/tests/test_config.py::test_rewrite_url PASSED
datalad/tests/test_config.py::test_no_leaks create(ok): . (dataset)
create(ok): . (dataset)
PASSED
datalad/tests/test_config.py::test_no_local_write_if_no_dataset create(ok): . (dataset)
PASSED
datalad/tests/test_config.py::test_dataset_local_mode create(ok): /tmp/datalad_temp_test_dataset_local_modet9arei2h (dataset)
PASSED
datalad/tests/test_config.py::test_dataset_systemglobal_mode create(ok): /tmp/datalad_temp_test_dataset_systemglobal_modep1oijzst (dataset)
PASSED
datalad/tests/test_config.py::test_global_config PASSED
datalad/tests/test_config.py::test_bare create(ok): . (dataset)
add(ok): .datalad/config (file)
save(ok): . (dataset)
action summary:
add (ok: 1)
save (ok: 1)
PASSED
datalad/tests/test_config.py::test_write_config_section PASSED
datalad/tests/test_config.py::test_external_modification PASSED
datalad/tests/test_config.py::test_where_to_scope PASSED
datalad/tests/test_config.py::test_cross_cfgman_update PASSED
datalad/tests/test_constraints.py::test_int PASSED
datalad/tests/test_constraints.py::test_float PASSED
datalad/tests/test_constraints.py::test_bool PASSED
datalad/tests/test_constraints.py::test_str PASSED
datalad/tests/test_constraints.py::test_str_min_len PASSED
datalad/tests/test_constraints.py::test_none PASSED
datalad/tests/test_constraints.py::test_callable PASSED
datalad/tests/test_constraints.py::test_choice PASSED
datalad/tests/test_constraints.py::test_keychoice PASSED
datalad/tests/test_constraints.py::test_range PASSED
datalad/tests/test_constraints.py::test_listof PASSED
datalad/tests/test_constraints.py::test_tupleof PASSED
datalad/tests/test_constraints.py::test_constraints PASSED
datalad/tests/test_constraints.py::test_altconstraints PASSED
datalad/tests/test_constraints.py::test_both PASSED
datalad/tests/test_constraints.py::test_type_str PASSED
datalad/tests/test_direct_mode.py::test_direct_cfg PASSED
datalad/tests/test_dochelpers.py::test_basic PASSED
datalad/tests/test_dochelpers.py::test_borrow_doc PASSED
datalad/tests/test_dochelpers.py::test_borrow_kwargs PASSED
datalad/tests/test_installed.py::test_run_datalad_help FAILED
datalad/tests/test_interface.py::test_param PASSED
datalad/tests/test_interface.py::test_interface PASSED
datalad/tests/test_interface.py::test_name_generation PASSED
datalad/tests/test_log.py::test_logging_to_a_file PASSED
datalad/tests/test_log.py::test_logtarget_via_env_variable PASSED
datalad/tests/test_log.py::test_mutliple_targets PASSED
datalad/tests/test_log.py::test_filters PASSED
datalad/tests/test_log.py::test_traceback PASSED
datalad/tests/test_log.py::test_color_formatter PASSED
datalad/tests/test_log.py::test_log_progress_noninteractive_filter PASSED
datalad/tests/test_log.py::test_with_result_progress_generator PASSED
datalad/tests/test_log.py::test_with_progress_generator PASSED
datalad/tests/test_misc.py::test_is_url_quoted PASSED
datalad/tests/test_misc.py::test_get_response_stamp PASSED
datalad/tests/test_s3.py::test_add_version_to_url PASSED
datalad/tests/test_s3.py::test_get_versioned_url SKIPPED (Skipping s...)
datalad/tests/test_s3.py::test_get_versioned_url_anon SKIPPED (Skipp...)
datalad/tests/test_s3.py::test_version_url_deleted SKIPPED (Skipping...)
datalad/tests/test_strings.py::test_apply_replacement_rules PASSED
datalad/tests/test_utils.py::test_better_wraps PASSED
datalad/tests/test_utils.py::test_getargspec PASSED
datalad/tests/test_utils.py::test_get_sig_param_names PASSED
datalad/tests/test_utils.py::test_rotree PASSED
datalad/tests/test_utils.py::test_swallow_outputs PASSED
datalad/tests/test_utils.py::test_swallow_logs PASSED
datalad/tests/test_utils.py::test_swallow_logs_assert PASSED
datalad/tests/test_utils.py::test_disable_logger PASSED
datalad/tests/test_utils.py::test_md5sum PASSED
datalad/tests/test_utils.py::test_md5sum_archive PASSED
datalad/tests/test_utils.py::test_updated PASSED
datalad/tests/test_utils.py::test_get_local_file_url_windows SKIPPED
datalad/tests/test_utils.py::test_getpwd_basic PASSED
datalad/tests/test_utils.py::test_getpwd_change_mode PASSED
datalad/tests/test_utils.py::test_getpwd_symlink PASSED
datalad/tests/test_utils.py::test_chpwd_obscure_name PASSED
datalad/tests/test_utils.py::test_auto_repr PASSED
datalad/tests/test_utils.py::test_todo_interface_for_extensions PASSED
datalad/tests/test_utils.py::test_assure_iter PASSED
datalad/tests/test_utils.py::test_assure_list_copy PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[-None] PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[value1-None] PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[somestring-result2] PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[some\nmultiline\nstring-result3] PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[value4-result4] PASSED
datalad/tests/test_utils.py::test_assure_list_from_str[value5-result5] PASSED
datalad/tests/test_utils.py::test_assure_dict_from_str PASSED
datalad/tests/test_utils.py::test_assure_bool PASSED
datalad/tests/test_utils.py::test_generate_chunks PASSED
datalad/tests/test_utils.py::test_any_re_search PASSED
datalad/tests/test_utils.py::test_find_files PASSED
datalad/tests/test_utils.py::test_find_files_exclude_vcs PASSED
datalad/tests/test_utils.py::test_not_supported_on_windows PASSED
datalad/tests/test_utils.py::test_file_basename PASSED
datalad/tests/test_utils.py::test_expandpath PASSED
datalad/tests/test_utils.py::test_is_explicit_path PASSED
datalad/tests/test_utils.py::test_knows_annex PASSED
datalad/tests/test_utils.py::test_make_tempfile PASSED
datalad/tests/test_utils.py::test_unique PASSED
datalad/tests/test_utils.py::test_partition PASSED
datalad/tests/test_utils.py::test_path_ PASSED
datalad/tests/test_utils.py::test_get_timestamp_suffix PASSED
datalad/tests/test_utils.py::test_memoized_generator PASSED
datalad/tests/test_utils.py::test_assure_unicode PASSED
datalad/tests/test_utils.py::test_pathlib_unicode PASSED
datalad/tests/test_utils.py::test_path_prefix PASSED
datalad/tests/test_utils.py::test_get_trace PASSED
datalad/tests/test_utils.py::test_get_dataset_root PASSED
datalad/tests/test_utils.py::test_path_startswith PASSED
datalad/tests/test_utils.py::test_path_is_subpath PASSED
datalad/tests/test_utils.py::test_probe_known_failure PASSED
datalad/tests/test_utils.py::test_skip_if SKIPPED (condition was True)
datalad/tests/test_utils.py::test_skip_known_failure SKIPPED (Skip t...)
datalad/tests/test_utils.py::test_known_failure SKIPPED (Skip test k...)
datalad/tests/test_utils.py::test_known_failure_direct_mode PASSED
datalad/tests/test_utils.py::test_read_csv_lines_basic PASSED
datalad/tests/test_utils.py::test_read_csv_lines_tsv_unicode PASSED
datalad/tests/test_utils.py::test_read_csv_lines_one_column PASSED
datalad/tests/test_utils.py::test_import_modules PASSED
datalad/tests/test_utils.py::test_import_module_from_file PASSED
datalad/tests/test_utils.py::test_import_modules_fail PASSED
datalad/tests/test_utils.py::test_line_profile SKIPPED (Module line_...)
datalad/tests/test_utils.py::test_dlabspath PASSED
datalad/tests/test_utils.py::test_get_open_files SKIPPED (Module psu...)
datalad/tests/test_utils.py::test_map_items PASSED
datalad/tests/test_utils.py::test_CMD_MAX_ARG PASSED
datalad/tests/test_utils.py::test_create_tree PASSED
datalad/tests/test_utils.py::test_never_fail PASSED
datalad/tests/test_utils.py::test_is_interactive XPASS (TODO: for so...)
datalad/tests/test_utils.py::test_splitjoin_cmdline PASSED
datalad/tests/test_utils.py::test_obtain_write_permission PASSED
datalad/tests/test_utils.py::test_ensure_write_permission PASSED
datalad/tests/test_utils_cached_dataset.py::test_get_cached_dataset SKIPPED
datalad/tests/test_utils_cached_dataset.py::test_cached_dataset SKIPPED
datalad/tests/test_utils_cached_dataset.py::test_cached_url SKIPPED
datalad/tests/test_utils_testrepos.py::test_BasicAnnexTestRepo_random_location_generated PASSED
datalad/tests/test_utils_testrepos.py::test_BasicAnnexTestRepo PASSED
datalad/tests/test_utils_testrepos.py::test_BasicGitTestRepo PASSED
datalad/tests/test_version.py::test__version__ SKIPPED (no /build/da...)
datalad/ui/tests/test_base.py::test_ui_switcher PASSED
datalad/ui/tests/test_base.py::test_with_testsui PASSED
datalad/ui/tests/test_dialog.py::test_yesno PASSED
datalad/ui/tests/test_dialog.py::test_question_choices PASSED
datalad/ui/tests/test_dialog.py::test_hidden_doubleentry PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-0-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-0-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-0-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-0-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-0-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-4-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-4-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-4-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-4-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-4-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-10-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-10-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-10-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-10-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-10-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-1000-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-1000-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-1000-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-1000-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[True-1000-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-0-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-0-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-0-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-0-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-0-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-4-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-4-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-4-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-4-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-4-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-10-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-10-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-10-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-10-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-10-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-1000-silent] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-1000-none] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-1000-log] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-1000-tqdm] PASSED
datalad/ui/tests/test_dialog.py::test_progress_bar[False-1000-annex-remote] PASSED
datalad/ui/tests/test_dialog.py::test_IPythonUI PASSED
datalad/ui/tests/test_dialog.py::test_silent_question PASSED
datalad/ui/tests/test_dialog.py::test_message_pbar_state_logging_is_demoted testing 0
testing 1
PASSEDVersions: annexremote=1.6.4 boto3=1.34.46 cmd:7z=24.08 cmd:annex=10.20241031 cmd:bundled-git=UNKNOWN cmd:git=2.45.2 cmd:ssh=9.9p1 cmd:system-git=2.45.2 cmd:system-ssh=9.9p1 datalad=1.1.3 humanize=4.11.0 iso8601=2.1.0 keyring=25.4.1 keyrings.alt=UNKNOWN msgpack=1.0.3 patoolib=2.0.0 platformdirs=4.3.6 requests=2.32.3
Obscure filename: str=b' |;&%b5{}\'"<> .datc ' repr=' |;&%b5{}\'"<> .datc '
Encodings: default='utf-8' filesystem='utf-8' locale.prefered='UTF-8'
Environment: PATH='/<<PKGBUILDDIR>>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' LANG='en_US.UTF-8' LC_ALL='C.UTF-8' PYTHONPATH='/<<PKGBUILDDIR>>/debian/python3-datalad/usr/lib/python3.12/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build' 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__6k6zszu/.gitconfig' GIT_ASKPASS='true'
=================================== FAILURES ===================================
_________________________________ test_version _________________________________
def test_version():
# we just get a version if not asking for a version of some command
> stdout, stderr = run_main(['--version'], expect_stderr=True)
datalad/cli/tests/test_main.py:115:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/cli/tests/test_main.py:83: in run_main
assert_equal(cm.value.code, exit_code)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = 2, second = 0, msg = None
def assert_equal(first, second, msg=None):
if msg is None:
> assert first == second
E assert 2 == 0
datalad/tests/utils_pytest.py:80: AssertionError
_________________________________ test_help_np _________________________________
def test_help_np():
> stdout, stderr = run_main(['--help-np'])
datalad/cli/tests/test_main.py:134:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/cli/tests/test_main.py:83: in run_main
assert_equal(cm.value.code, exit_code)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = 2, second = 0, msg = None
def assert_equal(first, second, msg=None):
if msg is None:
> assert first == second
E assert 2 == 0
datalad/tests/utils_pytest.py:80: AssertionError
__________________________________ test_dashh __________________________________
def test_dashh():
> stdout, stderr = run_main(['-h'])
datalad/cli/tests/test_main.py:182:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/cli/tests/test_main.py:83: in run_main
assert_equal(cm.value.code, exit_code)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = 2, second = 0, msg = None
def assert_equal(first, second, msg=None):
if msg is None:
> assert first == second
E assert 2 == 0
datalad/tests/utils_pytest.py:80: AssertionError
__________________________ test_combined_short_option __________________________
def test_combined_short_option():
stdout, stderr = run_main(['-fjson'], exit_code=2, expect_stderr=True)
assert_not_in("unrecognized argument", stderr)
> assert_in("too few arguments", stderr)
datalad/cli/tests/test_main.py:211:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = 'too few arguments'
second = 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,st...ve-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n'
msg = None
def assert_in(first, second, msg=None):
if msg is None:
> assert first in second
E assert 'too few arguments' in "usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}\n ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: 'datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n"
datalad/tests/utils_pytest.py:104: AssertionError
_ test_incorrect_option[opts0-error: (invalid|too few arguments|unrecognized argument)] _
opts = ('--buga',)
err_str = 'error: (invalid|too few arguments|unrecognized argument)'
@pytest.mark.parametrize(
"opts,err_str",
[
(('--buga',), err_invalid),
(('--dbg', '--buga'), err_invalid),
(('--dbg',), err_insufficient),
(tuple(), err_insufficient),
]
)
def test_incorrect_option(opts, err_str):
# The first line used to be:
# stdout, stderr = run_main((sys.argv[0],) + opts, expect_stderr=True, exit_code=2)
# But: what do we expect to be in sys.argv[0] here?
# It depends on how we invoke the test.
# - nosetests -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='nosetests'
# - python -m nose -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='python -m nose'
# - python -c "import nose; nose.main()" -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0]=='-c'
# This led to failure in case sys.argv[0] contained an option, that was
# defined to be a datalad option too, therefore was a 'known_arg' and was
# checked to meet its constraints.
# But sys.argv[0] actually isn't used by main at all. It simply doesn't
# matter what's in there. The only thing important to pass here is `opts`.
stdout, stderr = run_main(opts, expect_stderr=True, exit_code=2)
out = stdout + stderr
assert_in("usage: ", out)
> assert_re_in(err_str, out, match=False)
datalad/cli/tests/test_main.py:256:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
regex = 'error: (invalid|too few arguments|unrecognized argument)'
c = ['usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,s...e-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n']
flags = 0, match = False, msg = None
def assert_re_in(regex, c, flags=0, match=True, msg=None):
"""Assert that container (list, str, etc) contains entry matching the regex
"""
if not isinstance(c, (list, tuple)):
c = [c]
for e in c:
if (re.match if match else re.search)(regex, e, flags=flags):
return
> raise AssertionError(
msg or "Not a single entry matched %r in %r" % (regex, c)
)
E AssertionError: Not a single entry matched 'error: (invalid|too few arguments|unrecognized argument)' in ["usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}\n ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: 'datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n"]
datalad/tests/utils_pytest.py:1266: AssertionError
_ test_incorrect_option[opts1-error: (invalid|too few arguments|unrecognized argument)] _
opts = ('--dbg', '--buga')
err_str = 'error: (invalid|too few arguments|unrecognized argument)'
@pytest.mark.parametrize(
"opts,err_str",
[
(('--buga',), err_invalid),
(('--dbg', '--buga'), err_invalid),
(('--dbg',), err_insufficient),
(tuple(), err_insufficient),
]
)
def test_incorrect_option(opts, err_str):
# The first line used to be:
# stdout, stderr = run_main((sys.argv[0],) + opts, expect_stderr=True, exit_code=2)
# But: what do we expect to be in sys.argv[0] here?
# It depends on how we invoke the test.
# - nosetests -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='nosetests'
# - python -m nose -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='python -m nose'
# - python -c "import nose; nose.main()" -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0]=='-c'
# This led to failure in case sys.argv[0] contained an option, that was
# defined to be a datalad option too, therefore was a 'known_arg' and was
# checked to meet its constraints.
# But sys.argv[0] actually isn't used by main at all. It simply doesn't
# matter what's in there. The only thing important to pass here is `opts`.
stdout, stderr = run_main(opts, expect_stderr=True, exit_code=2)
out = stdout + stderr
assert_in("usage: ", out)
> assert_re_in(err_str, out, match=False)
datalad/cli/tests/test_main.py:256:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
regex = 'error: (invalid|too few arguments|unrecognized argument)'
c = ['usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,s...e-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n']
flags = 0, match = False, msg = None
def assert_re_in(regex, c, flags=0, match=True, msg=None):
"""Assert that container (list, str, etc) contains entry matching the regex
"""
if not isinstance(c, (list, tuple)):
c = [c]
for e in c:
if (re.match if match else re.search)(regex, e, flags=flags):
return
> raise AssertionError(
msg or "Not a single entry matched %r in %r" % (regex, c)
)
E AssertionError: Not a single entry matched 'error: (invalid|too few arguments|unrecognized argument)' in ["usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}\n ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: 'datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n"]
datalad/tests/utils_pytest.py:1266: AssertionError
_ test_incorrect_option[opts2-error: (invalid|too few arguments|unrecognized argument)] _
opts = ('--dbg',)
err_str = 'error: (invalid|too few arguments|unrecognized argument)'
@pytest.mark.parametrize(
"opts,err_str",
[
(('--buga',), err_invalid),
(('--dbg', '--buga'), err_invalid),
(('--dbg',), err_insufficient),
(tuple(), err_insufficient),
]
)
def test_incorrect_option(opts, err_str):
# The first line used to be:
# stdout, stderr = run_main((sys.argv[0],) + opts, expect_stderr=True, exit_code=2)
# But: what do we expect to be in sys.argv[0] here?
# It depends on how we invoke the test.
# - nosetests -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='nosetests'
# - python -m nose -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='python -m nose'
# - python -c "import nose; nose.main()" -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0]=='-c'
# This led to failure in case sys.argv[0] contained an option, that was
# defined to be a datalad option too, therefore was a 'known_arg' and was
# checked to meet its constraints.
# But sys.argv[0] actually isn't used by main at all. It simply doesn't
# matter what's in there. The only thing important to pass here is `opts`.
stdout, stderr = run_main(opts, expect_stderr=True, exit_code=2)
out = stdout + stderr
assert_in("usage: ", out)
> assert_re_in(err_str, out, match=False)
datalad/cli/tests/test_main.py:256:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
regex = 'error: (invalid|too few arguments|unrecognized argument)'
c = ['usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,s...e-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n']
flags = 0, match = False, msg = None
def assert_re_in(regex, c, flags=0, match=True, msg=None):
"""Assert that container (list, str, etc) contains entry matching the regex
"""
if not isinstance(c, (list, tuple)):
c = [c]
for e in c:
if (re.match if match else re.search)(regex, e, flags=flags):
return
> raise AssertionError(
msg or "Not a single entry matched %r in %r" % (regex, c)
)
E AssertionError: Not a single entry matched 'error: (invalid|too few arguments|unrecognized argument)' in ["usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}\n ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: 'datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n"]
datalad/tests/utils_pytest.py:1266: AssertionError
_ test_incorrect_option[opts3-error: (invalid|too few arguments|unrecognized argument)] _
opts = (), err_str = 'error: (invalid|too few arguments|unrecognized argument)'
@pytest.mark.parametrize(
"opts,err_str",
[
(('--buga',), err_invalid),
(('--dbg', '--buga'), err_invalid),
(('--dbg',), err_insufficient),
(tuple(), err_insufficient),
]
)
def test_incorrect_option(opts, err_str):
# The first line used to be:
# stdout, stderr = run_main((sys.argv[0],) + opts, expect_stderr=True, exit_code=2)
# But: what do we expect to be in sys.argv[0] here?
# It depends on how we invoke the test.
# - nosetests -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='nosetests'
# - python -m nose -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0}=='python -m nose'
# - python -c "import nose; nose.main()" -s -v datalad/cmdline/tests/test_main.py would result in:
# sys.argv[0]=='-c'
# This led to failure in case sys.argv[0] contained an option, that was
# defined to be a datalad option too, therefore was a 'known_arg' and was
# checked to meet its constraints.
# But sys.argv[0] actually isn't used by main at all. It simply doesn't
# matter what's in there. The only thing important to pass here is `opts`.
stdout, stderr = run_main(opts, expect_stderr=True, exit_code=2)
out = stdout + stderr
assert_in("usage: ", out)
> assert_re_in(err_str, out, match=False)
datalad/cli/tests/test_main.py:256:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
regex = 'error: (invalid|too few arguments|unrecognized argument)'
c = ['usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,s...e-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n']
flags = 0, match = False, msg = None
def assert_re_in(regex, c, flags=0, match=True, msg=None):
"""Assert that container (list, str, etc) contains entry matching the regex
"""
if not isinstance(c, (list, tuple)):
c = [c]
for e in c:
if (re.match if match else re.search)(regex, e, flags=flags):
return
> raise AssertionError(
msg or "Not a single entry matched %r in %r" % (regex, c)
)
E AssertionError: Not a single entry matched 'error: (invalid|too few arguments|unrecognized argument)' in ["usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}\n ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: 'datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n"]
datalad/tests/utils_pytest.py:1266: AssertionError
__________________________ test_script_shims[datalad] __________________________
script = 'datalad'
@pytest.mark.parametrize(
"script",
[
'datalad',
'git-annex-remote-datalad-archives',
'git-annex-remote-datalad',
]
)
def test_script_shims(script):
runner = Runner()
if not on_windows:
from shutil import which
which(script)
# and let's check that it is our script
> out = runner.run([script, '--version'], protocol=StdOutErrCapture)
datalad/cli/tests/test_main.py:275:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <datalad.runner.runner.WitlessRunner object at 0xffff869f17b0>
cmd = ['datalad', '--version']
protocol = <class 'datalad.runner.coreprotocols.StdOutErrCapture'>, stdin = None
cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {}
applied_cwd = None, applied_env = None
threaded_runner = <datalad.runner.nonasyncrunner.ThreadedRunner object at 0xffff869f0080>
results_or_iterator = {'code': 2, 'stderr': 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failu...to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n', 'stdout': ''}
results = {'code': 2, 'stderr': 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failu...to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n', 'stdout': ''}
return_code = 2
def run(self,
cmd: list | str,
protocol: type[WitlessProtocol] | None = None,
stdin: bytes | IO | Queue | None = None,
cwd: PathLike | str | None = None,
env: dict | None = None,
timeout: float | None = None,
exception_on_error: bool = True,
**kwargs) -> dict | _ResultGenerator:
"""Execute a command and communicate with it.
Parameters
----------
cmd : list or str
Sequence of program arguments. Passing a single string causes
execution via the platform shell.
protocol : WitlessProtocol, optional
Protocol class handling interaction with the running process
(e.g. output capture). A number of pre-crafted classes are
provided (e.g `KillOutput`, `NoCapture`, `GitProgress`).
If the protocol has the GeneratorMixIn-mixin, the run-method
will return an iterator and can therefore be used in a for-clause.
stdin : file-like, bytes, Queue, or None
If stdin is a file-like, it will be directly used as stdin for the
subprocess. The caller is responsible for writing to it and closing it.
If stdin is a bytes, it will be fed to stdin of the subprocess.
If all data is written, stdin will be closed.
If stdin is a Queue, all elements (bytes) put into the Queue will
be passed to stdin until None is read from the queue. If None is read,
stdin of the subprocess is closed.
cwd : str or path-like, optional
If given, commands are executed with this path as PWD,
the PWD of the parent process is used otherwise. Overrides
any `cwd` given to the constructor.
env : dict, optional
Environment to be used for command execution. If given, it will
completely replace any environment provided to theconstructor. If
`cwd` is given, 'PWD' in the environment is set to its value.
This must be a complete environment definition, no values
from the current environment will be inherited. Overrides
any `env` given to the constructor.
timeout: float, optional
None or the seconds after which a timeout callback is
invoked, if no progress was made in communicating with
the sub-process, or if waiting for the subprocess exit
took more than the specified time. See the protocol and
`ThreadedRunner` descriptions for a more detailed discussion
on timeouts.
exception_on_error : bool, optional
This argument is first interpreted if the protocol is a subclass
of `GeneratorMixIn`. If it is `True` (default), a
`CommandErrorException` is raised by the generator if the
sub process exited with a return code not equal to zero. If the
parameter is `False`, no exception is raised. In both cases the
return code can be read from the attribute `return_code` of
the generator. Then this argument interpreted within this function
to not raise `CommandError` if value is False in case of non-0 exit.
kwargs :
Passed to the Protocol class constructor.
Returns
-------
dict | _ResultGenerator
If the protocol is not a subclass of `GeneratorMixIn`, the
result of protocol._prepare_result will be returned.
If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e.
a `_ResultGenerator`, will be returned. This allows to use this
method in constructs like:
for protocol_output in runner.run():
...
Where the iterator yields whatever protocol.pipe_data_received
sends into the generator.
If all output was yielded and the process has terminated, the
generator will raise StopIteration(return_code), where
return_code is the return code of the process. The return code
of the process will also be stored in the "return_code"-attribute
of the runner. So you could write:
gen = runner.run()
for file_descriptor, data in gen:
...
# get the return code of the process
result = gen.return_code
Raises
------
CommandError
On execution failure (non-zero exit code) this exception is
raised which provides the command (cmd), stdout, stderr,
exit code (status), and a message identifying the failed
command, as properties.
FileNotFoundError
When a given executable does not exist.
"""
if protocol is None:
# by default let all subprocess stream pass through
protocol = NoCapture
applied_cwd = cwd or self.cwd
applied_env = self._get_adjusted_env(
env=env or self.env,
cwd=applied_cwd,
)
lgr.debug(
'Run %r (protocol_class=%s) (cwd=%s)',
cmd,
protocol.__name__,
applied_cwd
)
threaded_runner = ThreadedRunner(
cmd=cmd,
protocol_class=protocol,
stdin=stdin,
protocol_kwargs=kwargs,
timeout=timeout,
exception_on_error=exception_on_error,
cwd=applied_cwd,
env=applied_env
)
results_or_iterator = threaded_runner.run()
if issubclass(protocol, GeneratorMixIn):
return results_or_iterator
results = cast(dict, results_or_iterator)
# log before any exception is raised
lgr.debug("Finished %r with status %s", cmd, results['code'])
# make it such that we always blow if a protocol did not report
# a return code at all or it was non-0 and we were not asked ignore
# errors
return_code = results.get('code', None)
if return_code is None or (return_code and exception_on_error):
# the runner has a better idea, doc string warns Protocol
# implementations not to return these
results.pop('cmd', None)
results.pop('cwd', None)
> raise CommandError(
# whatever the results were, we carry them forward
cmd=cmd,
cwd=applied_cwd,
**results,
)
E datalad.runner.exception.CommandError: CommandError: 'datalad --version' failed with exitcode 2 [err: 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]
E [--on-failure {ignore,continue,stop}]
E [--report-status {success,failure,ok,notneeded,impossible,error}]
E [--report-type {dataset,file}]
E [-f {generic,json,json_pp,tailored,disabled,'<template>'}]
E [--dbg] [--idbg] [--version]
E {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}
E ...
E datalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: '/<<PKGBUILDDIR>>/bin/datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)']
datalad/runner/runner.py:242: CommandError
_______________________________ test_completion ________________________________
out_fn = '/tmp/datalad_temp_test_completion321cmzq5'
@with_tempfile
def test_completion(out_fn=None):
skip_if_no_module('argcomplete')
from datalad.cmd import WitlessRunner
runner = WitlessRunner()
def get_completions(s: str, expected) -> list:
"""Run 'datalad' external command and collect completions
Parameters
----------
s: str
what to append to 'datalad ' invocation
expected: iterable of str
What entries to expect - would raise AssertionError if any is
not present in output
exit_code: int, optional
If incomplete/malformed we seems to get 2, most frequently used
so default
Returns
-------
list of str
Entries output
"""
if os.path.exists(out_fn): # reuse but ensure it is gone
os.unlink(out_fn)
comp_line = f'datalad {s}'
runner.run(
comp_line.split(' '),
env=dict(os.environ,
_ARGCOMPLETE='1',
_ARGCOMPLETE_STDOUT_FILENAME=out_fn,
COMP_LINE=comp_line,
# without -1 seems to get "finished completion", someone can investigate more
COMP_POINT=str(len(comp_line)-1), # always at the end ATM
))
with open(out_fn, 'rb') as f:
entries = f.read().split(b'\x0b')
entries = [e.decode() for e in entries]
diff = set(expected).difference(entries)
if diff:
raise AssertionError(
f"Entries {sorted(diff)} were expected but not found in the completion output: {entries}"
)
return entries # for extra analyzes if so desired
all_commands = get_all_commands()
> get_completions('i', {'install'})
datalad/cli/tests/test_main.py:421:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
datalad/cli/tests/test_main.py:401: in get_completions
runner.run(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <datalad.runner.runner.WitlessRunner object at 0xffff869ace80>
cmd = ['datalad', 'i']
protocol = <class 'datalad.runner.coreprotocols.NoCapture'>, stdin = None
cwd = None
env = {'APT_CONFIG': '/var/lib/sbuild/apt.conf', 'ASFLAGS': '', 'ASFLAGS_FOR_BUILD': '', 'CCACHE_DIR': '/<<PKGBUILDDIR>>/.pybuild/ccache', ...}
timeout = None, exception_on_error = True, kwargs = {}, applied_cwd = None
applied_env = {'APT_CONFIG': '/var/lib/sbuild/apt.conf', 'ASFLAGS': '', 'ASFLAGS_FOR_BUILD': '', 'CCACHE_DIR': '/<<PKGBUILDDIR>>/.pybuild/ccache', ...}
threaded_runner = <datalad.runner.nonasyncrunner.ThreadedRunner object at 0xffff86c57bf0>
results_or_iterator = {'code': 1, 'stderr': '', 'stdout': ''}
results = {'code': 1, 'stderr': '', 'stdout': ''}, return_code = 1
def run(self,
cmd: list | str,
protocol: type[WitlessProtocol] | None = None,
stdin: bytes | IO | Queue | None = None,
cwd: PathLike | str | None = None,
env: dict | None = None,
timeout: float | None = None,
exception_on_error: bool = True,
**kwargs) -> dict | _ResultGenerator:
"""Execute a command and communicate with it.
Parameters
----------
cmd : list or str
Sequence of program arguments. Passing a single string causes
execution via the platform shell.
protocol : WitlessProtocol, optional
Protocol class handling interaction with the running process
(e.g. output capture). A number of pre-crafted classes are
provided (e.g `KillOutput`, `NoCapture`, `GitProgress`).
If the protocol has the GeneratorMixIn-mixin, the run-method
will return an iterator and can therefore be used in a for-clause.
stdin : file-like, bytes, Queue, or None
If stdin is a file-like, it will be directly used as stdin for the
subprocess. The caller is responsible for writing to it and closing it.
If stdin is a bytes, it will be fed to stdin of the subprocess.
If all data is written, stdin will be closed.
If stdin is a Queue, all elements (bytes) put into the Queue will
be passed to stdin until None is read from the queue. If None is read,
stdin of the subprocess is closed.
cwd : str or path-like, optional
If given, commands are executed with this path as PWD,
the PWD of the parent process is used otherwise. Overrides
any `cwd` given to the constructor.
env : dict, optional
Environment to be used for command execution. If given, it will
completely replace any environment provided to theconstructor. If
`cwd` is given, 'PWD' in the environment is set to its value.
This must be a complete environment definition, no values
from the current environment will be inherited. Overrides
any `env` given to the constructor.
timeout: float, optional
None or the seconds after which a timeout callback is
invoked, if no progress was made in communicating with
the sub-process, or if waiting for the subprocess exit
took more than the specified time. See the protocol and
`ThreadedRunner` descriptions for a more detailed discussion
on timeouts.
exception_on_error : bool, optional
This argument is first interpreted if the protocol is a subclass
of `GeneratorMixIn`. If it is `True` (default), a
`CommandErrorException` is raised by the generator if the
sub process exited with a return code not equal to zero. If the
parameter is `False`, no exception is raised. In both cases the
return code can be read from the attribute `return_code` of
the generator. Then this argument interpreted within this function
to not raise `CommandError` if value is False in case of non-0 exit.
kwargs :
Passed to the Protocol class constructor.
Returns
-------
dict | _ResultGenerator
If the protocol is not a subclass of `GeneratorMixIn`, the
result of protocol._prepare_result will be returned.
If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e.
a `_ResultGenerator`, will be returned. This allows to use this
method in constructs like:
for protocol_output in runner.run():
...
Where the iterator yields whatever protocol.pipe_data_received
sends into the generator.
If all output was yielded and the process has terminated, the
generator will raise StopIteration(return_code), where
return_code is the return code of the process. The return code
of the process will also be stored in the "return_code"-attribute
of the runner. So you could write:
gen = runner.run()
for file_descriptor, data in gen:
...
# get the return code of the process
result = gen.return_code
Raises
------
CommandError
On execution failure (non-zero exit code) this exception is
raised which provides the command (cmd), stdout, stderr,
exit code (status), and a message identifying the failed
command, as properties.
FileNotFoundError
When a given executable does not exist.
"""
if protocol is None:
# by default let all subprocess stream pass through
protocol = NoCapture
applied_cwd = cwd or self.cwd
applied_env = self._get_adjusted_env(
env=env or self.env,
cwd=applied_cwd,
)
lgr.debug(
'Run %r (protocol_class=%s) (cwd=%s)',
cmd,
protocol.__name__,
applied_cwd
)
threaded_runner = ThreadedRunner(
cmd=cmd,
protocol_class=protocol,
stdin=stdin,
protocol_kwargs=kwargs,
timeout=timeout,
exception_on_error=exception_on_error,
cwd=applied_cwd,
env=applied_env
)
results_or_iterator = threaded_runner.run()
if issubclass(protocol, GeneratorMixIn):
return results_or_iterator
results = cast(dict, results_or_iterator)
# log before any exception is raised
lgr.debug("Finished %r with status %s", cmd, results['code'])
# make it such that we always blow if a protocol did not report
# a return code at all or it was non-0 and we were not asked ignore
# errors
return_code = results.get('code', None)
if return_code is None or (return_code and exception_on_error):
# the runner has a better idea, doc string warns Protocol
# implementations not to return these
results.pop('cmd', None)
results.pop('cwd', None)
> raise CommandError(
# whatever the results were, we carry them forward
cmd=cmd,
cwd=applied_cwd,
**results,
)
E datalad.runner.exception.CommandError: CommandError: 'datalad i' failed with exitcode 1
datalad/runner/runner.py:242: CommandError
__________________________________ test_setup __________________________________
def test_setup():
# insufficient arguments
> check_setup_parser([], 2)
datalad/cli/tests/test_parser.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = [], exit_code = 2
def check_setup_parser(args, exit_code=None):
parser = None
with patch('sys.stderr', new_callable=StringIO) as cmerr:
with patch('sys.stdout', new_callable=StringIO) as cmout:
if exit_code is not None:
> with assert_raises(SystemExit) as cm:
E Failed: DID NOT RAISE <class 'SystemExit'>
datalad/cli/tests/test_parser.py:60: Failed
____________________________ test_run_datalad_help _____________________________
cmd = 'datalad --help'
def check_run_and_get_output(cmd):
runner = WitlessRunner()
try:
# suppress log output happen it was set to high values
with patch.dict('os.environ', {'DATALAD_LOG_LEVEL': 'WARN'}):
> output = runner.run(
["datalad", "--help"],
protocol=StdOutErrCapture)
datalad/tests/test_installed.py:32:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <datalad.runner.runner.WitlessRunner object at 0xffff86d27430>
cmd = ['datalad', '--help']
protocol = <class 'datalad.runner.coreprotocols.StdOutErrCapture'>, stdin = None
cwd = None, env = None, timeout = None, exception_on_error = True, kwargs = {}
applied_cwd = None, applied_env = None
threaded_runner = <datalad.runner.nonasyncrunner.ThreadedRunner object at 0xffff86d278c0>
results_or_iterator = {'code': 2, 'stderr': 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failu...to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n', 'stdout': ''}
results = {'code': 2, 'stderr': 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failu...to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n', 'stdout': ''}
return_code = 2
def run(self,
cmd: list | str,
protocol: type[WitlessProtocol] | None = None,
stdin: bytes | IO | Queue | None = None,
cwd: PathLike | str | None = None,
env: dict | None = None,
timeout: float | None = None,
exception_on_error: bool = True,
**kwargs) -> dict | _ResultGenerator:
"""Execute a command and communicate with it.
Parameters
----------
cmd : list or str
Sequence of program arguments. Passing a single string causes
execution via the platform shell.
protocol : WitlessProtocol, optional
Protocol class handling interaction with the running process
(e.g. output capture). A number of pre-crafted classes are
provided (e.g `KillOutput`, `NoCapture`, `GitProgress`).
If the protocol has the GeneratorMixIn-mixin, the run-method
will return an iterator and can therefore be used in a for-clause.
stdin : file-like, bytes, Queue, or None
If stdin is a file-like, it will be directly used as stdin for the
subprocess. The caller is responsible for writing to it and closing it.
If stdin is a bytes, it will be fed to stdin of the subprocess.
If all data is written, stdin will be closed.
If stdin is a Queue, all elements (bytes) put into the Queue will
be passed to stdin until None is read from the queue. If None is read,
stdin of the subprocess is closed.
cwd : str or path-like, optional
If given, commands are executed with this path as PWD,
the PWD of the parent process is used otherwise. Overrides
any `cwd` given to the constructor.
env : dict, optional
Environment to be used for command execution. If given, it will
completely replace any environment provided to theconstructor. If
`cwd` is given, 'PWD' in the environment is set to its value.
This must be a complete environment definition, no values
from the current environment will be inherited. Overrides
any `env` given to the constructor.
timeout: float, optional
None or the seconds after which a timeout callback is
invoked, if no progress was made in communicating with
the sub-process, or if waiting for the subprocess exit
took more than the specified time. See the protocol and
`ThreadedRunner` descriptions for a more detailed discussion
on timeouts.
exception_on_error : bool, optional
This argument is first interpreted if the protocol is a subclass
of `GeneratorMixIn`. If it is `True` (default), a
`CommandErrorException` is raised by the generator if the
sub process exited with a return code not equal to zero. If the
parameter is `False`, no exception is raised. In both cases the
return code can be read from the attribute `return_code` of
the generator. Then this argument interpreted within this function
to not raise `CommandError` if value is False in case of non-0 exit.
kwargs :
Passed to the Protocol class constructor.
Returns
-------
dict | _ResultGenerator
If the protocol is not a subclass of `GeneratorMixIn`, the
result of protocol._prepare_result will be returned.
If the protocol is a subclass of `GeneratorMixIn`, a Generator, i.e.
a `_ResultGenerator`, will be returned. This allows to use this
method in constructs like:
for protocol_output in runner.run():
...
Where the iterator yields whatever protocol.pipe_data_received
sends into the generator.
If all output was yielded and the process has terminated, the
generator will raise StopIteration(return_code), where
return_code is the return code of the process. The return code
of the process will also be stored in the "return_code"-attribute
of the runner. So you could write:
gen = runner.run()
for file_descriptor, data in gen:
...
# get the return code of the process
result = gen.return_code
Raises
------
CommandError
On execution failure (non-zero exit code) this exception is
raised which provides the command (cmd), stdout, stderr,
exit code (status), and a message identifying the failed
command, as properties.
FileNotFoundError
When a given executable does not exist.
"""
if protocol is None:
# by default let all subprocess stream pass through
protocol = NoCapture
applied_cwd = cwd or self.cwd
applied_env = self._get_adjusted_env(
env=env or self.env,
cwd=applied_cwd,
)
lgr.debug(
'Run %r (protocol_class=%s) (cwd=%s)',
cmd,
protocol.__name__,
applied_cwd
)
threaded_runner = ThreadedRunner(
cmd=cmd,
protocol_class=protocol,
stdin=stdin,
protocol_kwargs=kwargs,
timeout=timeout,
exception_on_error=exception_on_error,
cwd=applied_cwd,
env=applied_env
)
results_or_iterator = threaded_runner.run()
if issubclass(protocol, GeneratorMixIn):
return results_or_iterator
results = cast(dict, results_or_iterator)
# log before any exception is raised
lgr.debug("Finished %r with status %s", cmd, results['code'])
# make it such that we always blow if a protocol did not report
# a return code at all or it was non-0 and we were not asked ignore
# errors
return_code = results.get('code', None)
if return_code is None or (return_code and exception_on_error):
# the runner has a better idea, doc string warns Protocol
# implementations not to return these
results.pop('cmd', None)
results.pop('cwd', None)
> raise CommandError(
# whatever the results were, we carry them forward
cmd=cmd,
cwd=applied_cwd,
**results,
)
E datalad.runner.exception.CommandError: CommandError: 'datalad --help' failed with exitcode 2 [err: 'usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]
E [--on-failure {ignore,continue,stop}]
E [--report-status {success,failure,ok,notneeded,impossible,error}]
E [--report-type {dataset,file}]
E [-f {generic,json,json_pp,tailored,disabled,'<template>'}]
E [--dbg] [--idbg] [--version]
E {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}
E ...
E datalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: '/<<PKGBUILDDIR>>/bin/datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)']
datalad/runner/runner.py:242: CommandError
During handling of the above exception, another exception occurred:
@assert_cwd_unchanged
def test_run_datalad_help():
> out, err = check_run_and_get_output("datalad --help")
datalad/tests/test_installed.py:43:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
cmd = 'datalad --help'
def check_run_and_get_output(cmd):
runner = WitlessRunner()
try:
# suppress log output happen it was set to high values
with patch.dict('os.environ', {'DATALAD_LOG_LEVEL': 'WARN'}):
output = runner.run(
["datalad", "--help"],
protocol=StdOutErrCapture)
except CommandError as e:
> raise AssertionError("'datalad --help' failed to start normally. "
"Exited with %d and output %s" % (e.code, (e.stdout, e.stderr)))
E AssertionError: 'datalad --help' failed to start normally. Exited with 2 and output ('', "usage: datalad [-c (:name|name=value)] [-C PATH] [--cmd] [-l LEVEL]\n [--on-failure {ignore,continue,stop}]\n [--report-status {success,failure,ok,notneeded,impossible,error}]\n [--report-type {dataset,file}]\n [-f {generic,json,json_pp,tailored,disabled,'<template>'}]\n [--dbg] [--idbg] [--version]\n {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}\n ...\ndatalad: error: argument {create-sibling-github,create-sibling-gitlab,create-sibling-gogs,create-sibling-gin,create-sibling-gitea,create-sibling-ria,create-sibling,siblings,update,subdatasets,drop,remove,addurls,copy-file,download-url,foreach-dataset,install,rerun,run-procedure,create,save,status,clone,get,push,run,diff,configuration,wtf,clean,add-archive-content,add-readme,export-archive,export-archive-ora,export-to-figshare,no-annex,check-dates,unlock,uninstall,create-test-dataset,sshrun,shell-completion}: invalid choice: '/<<PKGBUILDDIR>>/bin/datalad' (choose from create-sibling-github, create-sibling-gitlab, create-sibling-gogs, create-sibling-gin, create-sibling-gitea, create-sibling-ria, create-sibling, siblings, update, subdatasets, drop, remove, addurls, copy-file, download-url, foreach-dataset, install, rerun, run-procedure, create, save, status, clone, get, push, run, diff, configuration, wtf, clean, add-archive-content, add-readme, export-archive, export-archive-ora, export-to-figshare, no-annex, check-dates, unlock, uninstall, create-test-dataset, sshrun, shell-completion)\n")
datalad/tests/test_installed.py:36: AssertionError
=============================== warnings summary ===============================
.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests/test_http.py: 13 warnings
/usr/lib/python3/dist-packages/httpretty/core.py:1077: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
now = datetime.utcnow()
.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests/test_http.py: 1 warning
.pybuild/cpython3_3.12_datalad/build/datalad/downloaders/tests/test_shub.py: 3 warnings
.pybuild/cpython3_3.12_datalad/build/datalad/local/tests/test_add_archive_content.py: 3 warnings
.pybuild/cpython3_3.12_datalad/build/datalad/local/tests/test_addurls.py: 1 warning
.pybuild/cpython3_3.12_datalad/build/datalad/local/tests/test_copy_file.py: 2 warnings
.pybuild/cpython3_3.12_datalad/build/datalad/local/tests/test_download_url.py: 5 warnings
.pybuild/cpython3_3.12_datalad/build/datalad/runner/tests/test_nonasyncrunner.py: 1 warning
.pybuild/cpython3_3.12_datalad/build/datalad/support/tests/test_annexrepo.py: 7 warnings
.pybuild/cpython3_3.12_datalad/build/datalad/support/tests/test_locking.py: 2 warnings
/usr/lib/python3.12/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=564655) is multi-threaded, use of fork() may lead to deadlocks in the child.
self.pid = os.fork()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED datalad/cli/tests/test_main.py::test_version - assert 2 == 0
FAILED datalad/cli/tests/test_main.py::test_help_np - assert 2 == 0
FAILED datalad/cli/tests/test_main.py::test_dashh - assert 2 == 0
FAILED datalad/cli/tests/test_main.py::test_combined_short_option - assert 't...
FAILED datalad/cli/tests/test_main.py::test_incorrect_option[opts0-error: (invalid|too few arguments|unrecognized argument)]
FAILED datalad/cli/tests/test_main.py::test_incorrect_option[opts1-error: (invalid|too few arguments|unrecognized argument)]
FAILED datalad/cli/tests/test_main.py::test_incorrect_option[opts2-error: (invalid|too few arguments|unrecognized argument)]
FAILED datalad/cli/tests/test_main.py::test_incorrect_option[opts3-error: (invalid|too few arguments|unrecognized argument)]
FAILED datalad/cli/tests/test_main.py::test_script_shims[datalad] - datalad.r...
FAILED datalad/cli/tests/test_main.py::test_completion - datalad.runner.excep...
FAILED datalad/cli/tests/test_parser.py::test_setup - Failed: DID NOT RAISE <...
FAILED datalad/tests/test_installed.py::test_run_datalad_help - AssertionErro...
= 12 failed, 1095 passed, 105 skipped, 57 deselected, 2 xfailed, 1 xpassed, 38 warnings in 1929.83s (0:32:09) =
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datalad/build; python3.12 -m pytest -s -v -k 'not test_test and not test_subprocess_return_code_capture and not test_gracefull_death' -c /<<PKGBUILDDIR>>/tox.ini
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" --test-pytest returned exit code 13
make[1]: *** [debian/rules:44: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:25: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-16T01:14:42Z
Finished
--------
+------------------------------------------------------------------------------+
| Cleanup |
+------------------------------------------------------------------------------+
Purging /<<BUILDDIR>>
Not cleaning session: cloned chroot in use
E: Build failure (dpkg-buildpackage died)
+------------------------------------------------------------------------------+
| Summary |
+------------------------------------------------------------------------------+
Build Architecture: arm64
Build Type: binary
Build-Space: 28292
Build-Time: 3887
Distribution: sid
Fail-Stage: build
Host Architecture: arm64
Install-Time: 62
Job: /tmp/debusine-fetch-exec-upload-b59sk6do/datalad_1.1.3-2.dsc
Machine Architecture: arm64
Package: datalad
Package-Time: 3983
Source-Version: 1.1.3-2
Space: 28292
Status: attempted
Version: 1.1.3-2
--------------------------------------------------------------------------------
Finished at 2024-11-16T01:14:42Z
Build needed 01:06:23, 28292k disk space