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.
This commit is contained in:
Barney Gale 2024-07-07 17:27:52 +01:00 committed by GitHub
parent 3bddd07c2a
commit b765e4adf8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 4 deletions

View File

@ -656,8 +656,6 @@ class PathTest(test_pathlib_abc.DummyPathTest, PurePathTest):
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 @@ class PathTest(test_pathlib_abc.DummyPathTest, PurePathTest):
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)