xattr.py 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. import tempfile
  2. import os
  3. from darc.testsuite import DarcTestCase
  4. from darc.xattr import lsetxattr, llistxattr, lgetxattr, get_all, set, flistxattr, fgetxattr, fsetxattr
  5. class XattrTestCase(DarcTestCase):
  6. def test_low_level(self):
  7. with tempfile.NamedTemporaryFile(dir=os.getcwd()) as fd:
  8. self.assert_equal(llistxattr(fd.name), [])
  9. lsetxattr(fd.name, b'user.foo', b'bar')
  10. self.assert_equal(llistxattr(fd.name), [b'user.foo'])
  11. self.assert_equal(lgetxattr(fd.name, b'user.foo'), b'bar')
  12. def test_low_level_fileno(self):
  13. with tempfile.NamedTemporaryFile(dir=os.getcwd()) as fd:
  14. self.assert_equal(flistxattr(fd.fileno()), [])
  15. fsetxattr(fd.fileno(), b'user.foo', b'bar')
  16. self.assert_equal(flistxattr(fd.fileno()), [b'user.foo'])
  17. self.assert_equal(fgetxattr(fd.fileno(), b'user.foo'), b'bar')
  18. def test_high_level(self):
  19. with tempfile.NamedTemporaryFile(dir=os.getcwd()) as fd:
  20. self.assert_equal(get_all(fd.name), {})
  21. set(fd.name, b'foo', b'bar')
  22. self.assert_equal(get_all(fd.name), {b'foo': b'bar'})
  23. def test_high_level_fileno(self):
  24. with tempfile.NamedTemporaryFile(dir=os.getcwd()) as fd:
  25. self.assert_equal(get_all(fd.fileno()), {})
  26. set(fd.fileno(), b'foo', b'bar')
  27. self.assert_equal(get_all(fd.fileno()), {b'foo': b'bar'})