]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-126909: Fix running xattr tests on systems with lower limits (#126930)
authorMichał Górny <mgorny@gentoo.org>
Mon, 18 Nov 2024 13:05:55 +0000 (13:05 +0000)
committerGitHub <noreply@github.com>
Mon, 18 Nov 2024 13:05:55 +0000 (14:05 +0100)
Modify the extended attribute tests to write fewer and smaller extended
attributes, in order to fit within filesystems with total xattr limit
of 1 KiB (e.g. ext4 with 1 KiB blocks).  Previously, the test would
write over 2 KiB, making it fail with ENOSPC on such systems.

Lib/test/test_os.py
Misc/NEWS.d/next/Tests/2024-11-17-16-56-48.gh-issue-126909.60VTxW.rst [new file with mode: 0644]

index 9a4be78556c648afbd069d3aebcc3df57b682a7b..919ed92ddb425fd813c09f113583bf5f929c2a7e 100644 (file)
@@ -3967,10 +3967,10 @@ class ExtendedAttributeTests(unittest.TestCase):
         xattr.remove("user.test")
         self.assertEqual(set(listxattr(fn)), xattr)
         self.assertEqual(getxattr(fn, s("user.test2"), **kwargs), b"foo")
-        setxattr(fn, s("user.test"), b"a"*1024, **kwargs)
-        self.assertEqual(getxattr(fn, s("user.test"), **kwargs), b"a"*1024)
+        setxattr(fn, s("user.test"), b"a"*256, **kwargs)
+        self.assertEqual(getxattr(fn, s("user.test"), **kwargs), b"a"*256)
         removexattr(fn, s("user.test"), **kwargs)
-        many = sorted("user.test{}".format(i) for i in range(100))
+        many = sorted("user.test{}".format(i) for i in range(32))
         for thing in many:
             setxattr(fn, thing, b"x", **kwargs)
         self.assertEqual(set(listxattr(fn)), set(init_xattr) | set(many))
diff --git a/Misc/NEWS.d/next/Tests/2024-11-17-16-56-48.gh-issue-126909.60VTxW.rst b/Misc/NEWS.d/next/Tests/2024-11-17-16-56-48.gh-issue-126909.60VTxW.rst
new file mode 100644 (file)
index 0000000..68bd9ac
--- /dev/null
@@ -0,0 +1,2 @@
+Fix test_os extended attribute tests to work on filesystems with 1 KiB xattr size
+limit.