Browse Source

read_only CM: skip test if cmd_immutable is unsuccessful, fixes #9021

Thomas Waldmann 3 weeks ago
parent
commit
4edd0e6e9d
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/borg/testsuite/__init__.py

+ 6 - 1
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