root_status="$(dev/root-status)" || exit $?
if ! bup-python -c 'import fuse' 2> /dev/null; then
- WVSTART 'unable to import fuse; skipping test'
+ WVSKIP 'unable to import fuse; skipping test'
exit 0
fi
if test -n "$(type -p modprobe)" && ! modprobe fuse; then
- echo 'Unable to load fuse module; skipping dependent tests.' 1>&2
+ WVSKIP 'Unable to load fuse module; skipping dependent tests.'
exit 0
fi
if ! fusermount -V; then
- echo 'skipping FUSE tests: fusermount does not appear to work'
+ WVSKIP 'skipping FUSE tests: fusermount does not appear to work'
exit 0
fi
if ! groups | grep -q fuse && test "$root_status" != root; then
- echo 'skipping FUSE tests: you are not root and not in the fuse group'
+ WVSKIP 'skipping FUSE tests: you are not root and not in the fuse group'
exit 0
fi
+
+clean_up() { fusermount -uz mnt || true; }
+trap clean_up EXIT
+
+
top="$(WVPASS pwd)" || exit $?
tmpdir="$(WVPASS wvmktempdir)" || exit $?
WVSTART "basics"
WVPASS mkdir mnt
-WVPASS bup fuse mnt
+
+bup fuse -f mnt &
+fuse_pid=$!
+while ! test -d mnt/src; do
+ sleep 0.1
+done
result=$(WVPASS ls mnt) || exit $?
WVPASSEQ src "$result"
latest"
WVPASS fusermount -uz mnt
+WVPASS wait "$fuse_pid"
+fuse_pid=''
WVSTART "extended metadata"
-WVPASS bup fuse --meta mnt
+
+bup fuse -f --meta mnt &
+fuse_pid=$!
+while ! test -d mnt/src; do
+ sleep 0.1
+done
+
readonly user=$(WVPASS id -un) || $?
readonly group=$(WVPASS id -gn) || $?
result="$(stat --format='%A %U %G %x' mnt/src/latest/foo)"