]> arthur.barton.de Git - bup.git/blobdiff - t/test-fuse.sh
index: always return at least the root for filter prefixes
[bup.git] / t / test-fuse.sh
index 2363293608a9e06a75595b2d6068bbfc100923c9..c61a1d25da4707d9acb249b3f5f4003860a94735 100755 (executable)
@@ -1,8 +1,16 @@
 #!/usr/bin/env bash
-. ./wvtest-bup.sh
+. ./wvtest-bup.sh || exit $?
+. t/lib.sh || exit $?
 
 set -o pipefail
 
+unset BLOCKSIZE BLOCK_SIZE DF_BLOCK_SIZE
+
+if test -n "$(type -p modprobe)" && ! modprobe fuse; then
+    echo 'Unable to load fuse module; skipping dependent tests.' 1>&2
+    exit 0
+fi
+
 if ! fusermount -V; then
     echo 'skipping FUSE tests: fusermount does not appear to work'
     exit 0
@@ -21,13 +29,22 @@ export GIT_DIR="$tmpdir/bup"
 
 bup() { "$top/bup" "$@"; }
 
+# Some versions of bash's printf don't support the relevant date expansion.
+savename()
+{
+    readonly secs="$1"
+    WVPASS bup-python -c "from time import strftime, localtime; \
+       print strftime('%Y-%m-%d-%H%M%S', localtime($secs))"
+}
+
 WVPASS bup init
 WVPASS cd "$tmpdir"
 
-savestamp1=$(WVPASS python -c 'import time; print int(time.time())') || exit $?
+savestamp1=$(WVPASS bup-python -c 'import time; print int(time.time())') || exit $?
 savestamp2=$(($savestamp1 + 1))
-savename1="$(printf '%(%Y-%m-%d-%H%M%S)T' "$savestamp1")" || exit $?
-savename2="$(printf '%(%Y-%m-%d-%H%M%S)T' "$savestamp2")" || exit $?
+
+savename1="$(savename "$savestamp1")" || exit $?
+savename2="$(savename "$savestamp2")" || exit $?
 
 WVPASS mkdir src
 WVPASS echo content > src/foo
@@ -59,7 +76,6 @@ pre-epoch"
 # Right now we don't detect new saves.
 WVPASS bup save -n src -d "$savestamp2" --strip src
 result=$(WVPASS ls mnt/src) || exit $?
-savename="$(WVPASS printf '%(%Y-%m-%d-%H%M%S)T' "$savestamp1")" || exit $?
 WVPASSEQ "$result" "$savename1
 latest"
 
@@ -67,7 +83,7 @@ WVPASS fusermount -uz mnt
 
 WVSTART "extended metadata"
 WVPASS bup fuse --meta mnt
-result=$(TZ=UTC WVPASS ls -l mnt/src/latest/) || exit $?
+result=$(TZ=UTC LC_ALL=C WVPASS ls -l mnt/src/latest/) || exit $?
 readonly user=$(WVPASS id -un) || $?
 readonly group=$(WVPASS id -gn) || $?
 WVPASSEQ "$result" "total 0