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:

Reply via email to