From 4edd0e6e9d55c196843e31a1fa443fbff4ddb39b Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Mon, 22 Sep 2025 11:17:16 +0200 Subject: [PATCH] read_only CM: skip test if cmd_immutable is unsuccessful, fixes #9021 --- src/borg/testsuite/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/borg/testsuite/__init__.py b/src/borg/testsuite/__init__.py index 17d3ea3f9..c1edfd011 100644 --- a/src/borg/testsuite/__init__.py +++ b/src/borg/testsuite/__init__.py @@ -337,7 +337,12 @@ class BaseTestCase(unittest.TestCase): self.skipTest(message) try: os.system('LD_PRELOAD= chmod -R ugo-w "%s"' % path) - os.system(cmd_immutable) + rc = os.system(cmd_immutable) + if rc != 0: + # If we cannot make the path immutable (e.g., missing CAP_LINUX_IMMUTABLE + # in containers or restricted environments), the read-only tests would + # not be meaningful. Skip them instead of failing. + self.skipTest('Unable to make path immutable with: %s (rc=%d)' % (cmd_immutable, rc)) yield finally: # Restore permissions to ensure clean-up doesn't fail