Browse Source

Merge pull request #1520 from ThomasWaldmann/merge-1.0-maint

Merge 1.0 maint
enkore 8 years ago
parent
commit
3f5f27fbfe
5 changed files with 44 additions and 13 deletions
  1. 5 1
      .travis/install.sh
  2. 2 2
      docs/internals.rst
  3. 35 0
      docs/usage/debug-info.rst.inc
  4. 0 9
      src/borg/testsuite/archiver.py
  5. 2 1
      tox.ini

+ 5 - 1
.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]

+ 2 - 2
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):
 

+ 35 - 0
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.

+ 0 - 9
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

+ 2 - 1
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 = *