diff --git a/.travis/run.sh b/.travis/run.sh index 7c1e847c1..91f6f7663 100755 --- a/.travis/run.sh +++ b/.travis/run.sh @@ -13,11 +13,6 @@ if [[ "$(uname -s)" == "Darwin" ]]; then fi fi -source ~/.venv/bin/activate - -if [[ "$(uname -s)" == "Darwin" ]]; then - # no fakeroot on OS X - sudo tox -e $TOXENV -r -else - fakeroot -u tox -r -fi +# do not use fakeroot, but run as root on travis. +# avoids the dreaded EISDIR sporadic failures. see #2482. +sudo bash -c "source ~/.venv/bin/activate ; tox -e $TOXENV -r" diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py index 6afd95cc9..95d0f7b67 100644 --- a/src/borg/testsuite/archiver.py +++ b/src/borg/testsuite/archiver.py @@ -1256,14 +1256,14 @@ class ArchiverTestCase(ArchiverTestCaseBase): raise OSError(errno.EACCES, 'EACCES') self.create_regular_file('file') - xattr.setxattr('input/file', 'attribute', 'value') + xattr.setxattr('input/file', 'user.attribute', 'value') self.cmd('init', self.repository_location, '-e' 'none') self.cmd('create', self.repository_location + '::test', 'input') with changedir('output'): input_abspath = os.path.abspath('input/file') with patch.object(xattr, 'setxattr', patched_setxattr_E2BIG): out = self.cmd('extract', self.repository_location + '::test', exit_code=EXIT_WARNING) - assert out == (input_abspath + ': Value or key of extended attribute attribute is too big for this ' + assert out == (input_abspath + ': Value or key of extended attribute user.attribute is too big for this ' 'filesystem\n') os.remove(input_abspath) with patch.object(xattr, 'setxattr', patched_setxattr_ENOTSUP): @@ -1272,7 +1272,7 @@ class ArchiverTestCase(ArchiverTestCaseBase): os.remove(input_abspath) with patch.object(xattr, 'setxattr', patched_setxattr_EACCES): out = self.cmd('extract', self.repository_location + '::test', exit_code=EXIT_WARNING) - assert out == (input_abspath + ': Permission denied when setting extended attribute attribute\n') + assert out == (input_abspath + ': Permission denied when setting extended attribute user.attribute\n') assert os.path.isfile(input_abspath) def test_path_normalization(self):