#
# This code is covered under the terms of the GNU Library General
# Public License as described in the bup LICENSE file.
-import errno, os, sys, stat, time, pwd, grp
+import errno, os, sys, stat, time, platform, pwd, grp
from cStringIO import StringIO
from bup import vint, xstat
from bup.drecurse import recursive_dirlist
from bup.helpers import pwd_from_uid, pwd_from_name, grp_from_gid, grp_from_name
from bup.xstat import utime, lutime
-try:
- import xattr
-except ImportError:
- log('Warning: Linux xattr support missing; install python-pyxattr.\n')
- xattr = None
-if xattr:
+if 'Linux' in platform.system():
try:
- xattr.get_all
- except AttributeError:
- log('Warning: python-xattr module is too old; '
- 'install python-pyxattr instead.\n')
+ import xattr
+ except ImportError:
+ log('Warning: Linux xattr support missing; install python-pyxattr.\n')
xattr = None
+ if xattr:
+ try:
+ xattr.get_all
+ except AttributeError:
+ log('Warning: python-xattr module is too old; '
+ 'install python-pyxattr instead.\n')
+ xattr = None
+
try:
import posix1e
except ImportError:
-import glob, grp, pwd, stat, tempfile, subprocess
+import glob, grp, platform, pwd, stat, tempfile, subprocess
import bup.helpers as helpers
from bup import git, metadata, vfs
from bup.helpers import clear_errors, detect_fakeroot, is_superuser
def setup_testfs():
+ assert('Linux' in platform.system())
# Set up testfs with user_xattr, etc.
subprocess.call(['umount', 'testfs'])
ex('dd', 'if=/dev/zero', 'of=testfs.img', 'bs=1M', 'count=32')
from bup.metadata import xattr
-if not xattr:
- @wvtest
- def LINUX_XATTR_SUPPORT_IS_MISSING():
- pass
-else:
+if xattr:
@wvtest
def test_handling_of_incorrect_existing_linux_xattrs():
if not is_superuser():
+ WVMSG('skipping test -- not superuser')
return
setup_testfs()
for f in glob.glob('testfs/*'):
return text
+ def WVMSG(message):
+ ''' Issues a notification. '''
+ return _result(message, traceback.extract_stack()[-3], 'ok')
+
def WVPASS(cond = True):
''' Counts a test failure unless cond is true. '''
return _check(cond, _code())