I might take a stab at it, but it'll be earliest next weekend. So if someone else wants to try, please go ahead.
On 1 July 2026 19:09:25 CEST, Simon McVittie <[email protected]> wrote: >On Sat, 23 May 2026 at 13:46:03 +0000, Santiago Vila reported: >>> assert xattr.getxattr(b'input/file', b'security.capability') == >>> capabilities >> E AssertionError: assert b'' == b'\x01\x00\x0...0\x00\x00\x00' > >(this happened twice in Santiago's log, once in >ArchiverTestCase::test_extract_capabilities and once in >RemoteArchiverTestCase::test_extract_capabilities) > >This test failure is now a blocker for the Python 3.14 transition, because >borgbackup is one of the packages needing rebuilding for that transition. >Builds on the official Debian buildds exhibited the same test failure, for >example in ><https://buildd.debian.org/status/fetch.php?pkg=borgbackup&arch=arm64&ver=1.4.4-3%2Bb1&stamp=1782584582&raw=0> > and ><https://buildd.debian.org/status/fetch.php?pkg=borgbackup&arch=s390x&ver=1.4.4-3%2Bb1&stamp=1782588098&raw=0>. > >I can reproduce these two test failures on a real machine running unstable >(building on either a btrfs or tmpfs filesystem), and on a qemu virtual >machine running Debian 13 (on ext4, I think). > >If I avoid running tests under fakeroot (patch below) then that avoids this >particular test failure. > >I can also reproduce most (all? I haven't checked yet) of the other test >failures seen in the buildd logs above, but it seems likely that their root >cause is different, so I'll report them separately if not already in-scope for >#1140857. Avoiding fakeroot *doesn't* address those. > > smcv > >---- > >diff --git a/debian/rules b/debian/rules >index bb6c6ff5d..94c6f0454 100755 >--- a/debian/rules >+++ b/debian/rules >@@ -39,17 +39,12 @@ override_dh_installman: > $(MAKE) -C docs man SPHINXBUILD=$(SPHINXBUILD) > dh_installman > >-# We run most of the tests in fakeroot to increase test coverage, but fakeroot >-# introduces race conditions on its own. >-TESTS_NO_FAKEROOT = benchmark.py cache.py checks.py key.py locking.py >patterns.py remote.py repository.py shellpattern.py > override_dh_auto_test: export TZ=UTC # tests break in TZ=GMT+12, see > https://github.com/borgbackup/borg/issues/5535 > override_dh_auto_test: export LC_ALL=C.UTF-8 > override_dh_auto_test: >- # fakeroot introduces race conditions to e.g. locking tests. >- dh_auto_test -- --test-args "--pyargs borg.testsuite -k '$(subst >$(eval) $(eval), or ,$(TESTS_NO_FAKEROOT))'" > # We cannot rely on the buildds allowing fuse to be > # used, so we disable the fuse-mount tests. >- fakeroot dh_auto_test -- --test-args "--pyargs borg.testsuite -k 'not >fuse_mount and not test_fuse and not test_readonly_mount and not >test_migrate_lock_alive $(foreach t,$(TESTS_NO_FAKEROOT),and not $(t))'" >+ dh_auto_test -- --test-args "--pyargs borg.testsuite -k 'not >fuse_mount and not test_fuse and not test_readonly_mount and not >test_migrate_lock_alive'" > > # Do not compress .ico file (affects html documentation) > override_dh_compress: -- Sent from my Android device with K-9 Mail. Please excuse my brevity.

