]> arthur.barton.de Git - bup.git/blobdiff - cmd/fsck-cmd.py
tests: fuse: use stat instead of relying on "ls -l" output
[bup.git] / cmd / fsck-cmd.py
index 8ba698c9d159388407e4e256554eb822cdcb8582..2073524007054e31403f012d66948221c2f697f5 100755 (executable)
@@ -8,7 +8,7 @@ exec "$bup_python" "$0" ${1+"$@"}
 from __future__ import absolute_import, print_function
 import sys, os, glob, subprocess
 from shutil import rmtree
-from subprocess import call
+from subprocess import PIPE, Popen
 from tempfile import mkdtemp
 
 from bup import options, git
@@ -53,8 +53,19 @@ def is_par2_parallel():
         canary = tmpdir + '/canary'
         with open(canary, 'w') as f:
             print('canary', file=f)
-        rc = call(('par2', 'create', '-qq', '-t1', canary))
-        return rc == 0
+        p = subprocess.Popen(('par2', 'create', '-qq', '-t1', canary),
+                             stderr=PIPE, stdin=nullf)
+        _, err = p.communicate()
+        parallel = p.returncode == 0
+        if opt.verbose:
+            if err != b'Invalid option specified: -t1\n':
+                log('Unexpected par2 error output\n')
+                log(err)
+            if parallel:
+                log('Assuming par2 supports parallel processing\n')
+            else:
+                log('Assuming par2 does not support parallel processing\n')
+        return parallel
     finally:
         rmtree(tmpdir)