https://github.com/python/cpython/commit/b765e4adf858ff8a8646f38933a5a355b6d72760
commit: b765e4adf858ff8a8646f38933a5a355b6d72760
branch: main
author: Barney Gale <[email protected]>
committer: barneygale <[email protected]>
date: 2024-07-07T17:27:52+01:00
summary:

GH-73991: Fix "Operation not supported" on Fedora buildbot. (#121444)

Follow-up to #120806. Use `os_helper.skip_unless_xattr` to skip testing
xattr preservation when unsupported.

files:
M Lib/test/test_pathlib/test_pathlib.py

diff --git a/Lib/test/test_pathlib/test_pathlib.py 
b/Lib/test/test_pathlib/test_pathlib.py
index 234e5746e544cd..1328a8695b0cca 100644
--- a/Lib/test/test_pathlib/test_pathlib.py
+++ b/Lib/test/test_pathlib/test_pathlib.py
@@ -656,8 +656,6 @@ def test_open_unbuffered(self):
     def test_copy_file_preserve_metadata(self):
         base = self.cls(self.base)
         source = base / 'fileA'
-        if hasattr(os, 'setxattr'):
-            os.setxattr(source, b'user.foo', b'42')
         if hasattr(os, 'chmod'):
             os.chmod(source, stat.S_IRWXU | stat.S_IRWXO)
         if hasattr(os, 'chflags') and hasattr(stat, 'UF_NODUMP'):
@@ -670,12 +668,19 @@ def test_copy_file_preserve_metadata(self):
         target_st = target.stat()
         self.assertLessEqual(source_st.st_atime, target_st.st_atime)
         self.assertLessEqual(source_st.st_mtime, target_st.st_mtime)
-        if hasattr(os, 'getxattr'):
-            self.assertEqual(os.getxattr(target, b'user.foo'), b'42')
         self.assertEqual(source_st.st_mode, target_st.st_mode)
         if hasattr(source_st, 'st_flags'):
             self.assertEqual(source_st.st_flags, target_st.st_flags)
 
+    @os_helper.skip_unless_xattr
+    def test_copy_file_preserve_metadata_xattrs(self):
+        base = self.cls(self.base)
+        source = base / 'fileA'
+        os.setxattr(source, b'user.foo', b'42')
+        target = base / 'copyA'
+        source.copy(target, preserve_metadata=True)
+        self.assertEqual(os.getxattr(target, b'user.foo'), b'42')
+
     @needs_symlinks
     def test_copy_link_preserve_metadata(self):
         base = self.cls(self.base)

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to