diff --git a/.travis/install.sh b/.travis/install.sh index 1f86ee387..3faec02d1 100755 --- a/.travis/install.sh +++ b/.travis/install.sh @@ -17,6 +17,8 @@ if [[ "$(uname -s)" == 'Darwin' ]]; then brew install lz4 brew install xz # required for python lzma module brew outdated pyenv || brew upgrade pyenv + brew install pkg-config + brew install Caskroom/versions/osxfuse-beta case "${TOXENV}" in py34) @@ -32,12 +34,14 @@ if [[ "$(uname -s)" == 'Darwin' ]]; then python -m pip install --user 'virtualenv<14.0' else pip install 'virtualenv<14.0' + sudo apt-get update sudo apt-get install -y liblz4-dev sudo apt-get install -y libacl1-dev + sudo apt-get install -y libfuse-dev fuse pkg-config # optional, for FUSE support fi python -m virtualenv ~/.venv source ~/.venv/bin/activate pip install -r requirements.d/development.txt pip install codecov -pip install -e . +pip install -e .[fuse] diff --git a/docs/internals.rst b/docs/internals.rst index 82be188bf..798ce8566 100644 --- a/docs/internals.rst +++ b/docs/internals.rst @@ -48,7 +48,7 @@ Lock files the repository. The locking system is based on creating a directory `lock.exclusive` (for -exclusive locks). Inside the lock directory, there is a file indication +exclusive locks). Inside the lock directory, there is a file indicating hostname, process id and thread id of the lock holder. There is also a json file `lock.roster` that keeps a directory of all shared @@ -338,7 +338,7 @@ more chunks than estimated above, because 1 file is at least 1 chunk). If a remote repository is used the repo index will be allocated on the remote side. -E.g. backing up a total count of 1 Mi (IEC binary prefix e.g. 2^20) files with a total size of 1TiB. +E.g. backing up a total count of 1 Mi (IEC binary prefix i.e. 2^20) files with a total size of 1TiB. a) with ``create --chunker-params 10,23,16,4095`` (custom, like borg < 1.0 or attic): diff --git a/docs/usage/debug-info.rst.inc b/docs/usage/debug-info.rst.inc new file mode 100644 index 000000000..2f4f7237f --- /dev/null +++ b/docs/usage/debug-info.rst.inc @@ -0,0 +1,35 @@ +.. IMPORTANT: this file is auto-generated from borg's built-in help, do not edit! + +.. _borg_debug-info: + +borg debug-info +--------------- +:: + + usage: borg debug-info [-h] [--critical] [--error] [--warning] [--info] + [--debug] [--lock-wait N] [--show-rc] + [--no-files-cache] [--umask M] [--remote-path PATH] + + display system information for debugging / bug reports + + optional arguments: + -h, --help show this help message and exit + --critical work on log level CRITICAL + --error work on log level ERROR + --warning work on log level WARNING (default) + --info, -v, --verbose + work on log level INFO + --debug work on log level DEBUG + --lock-wait N wait for the lock, but max. N seconds (default: 1). + --show-rc show/log the return code (rc) + --no-files-cache do not load/update the file metadata cache used to + detect unchanged files + --umask M set umask to M (local and remote, default: 0077) + --remote-path PATH set remote path to executable (default: "borg") + +Description +~~~~~~~~~~~ + +This command displays some system information that might be useful for bug +reports and debugging problems. If a traceback happens, this information is +already appended at the end of the traceback. diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py index d45d603f0..9d68e3eea 100644 --- a/src/borg/testsuite/archiver.py +++ b/src/borg/testsuite/archiver.py @@ -1964,15 +1964,6 @@ class RemoteArchiverTestCase(ArchiverTestCase): with patch.object(RemoteRepository, 'extra_test_args', ['--restrict-to-path', '/foo', '--restrict-to-path', path_prefix]): self.cmd('init', self.repository_location + '_3') - # skip fuse tests here, they deadlock since this change in exec_cmd: - # -output = subprocess.check_output(borg + args, stderr=None) - # +output = subprocess.check_output(borg + args, stderr=subprocess.STDOUT) - # this was introduced because some tests expect stderr contents to show up - # in "output" also. Also, the non-forking exec_cmd catches both, too. - @unittest.skip('deadlock issues') - def test_fuse(self): - pass - @unittest.skip('only works locally') def test_debug_put_get_delete_obj(self): pass diff --git a/tox.ini b/tox.ini index 12434988b..bcd560c59 100644 --- a/tox.ini +++ b/tox.ini @@ -8,7 +8,8 @@ envlist = py{34,35,36},flake8 deps = -rrequirements.d/development.txt -rrequirements.d/attic.txt -commands = py.test --cov=borg --cov-config=.coveragerc --benchmark-skip --pyargs {posargs:borg.testsuite} + -rrequirements.d/fuse.txt +commands = py.test -rs --cov=borg --cov-config=.coveragerc --benchmark-skip --pyargs {posargs:borg.testsuite} # fakeroot -u needs some env vars: passenv = *