X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=t%2Ftest-index-check-device.sh;h=88a966a330dff54b2ddf148e40b91482c1536c59;hb=32a606be6a32a966412a49e8cb9102301f6352d4;hp=23dbb772bd371d55f760603b59ee25b6f6a70410;hpb=56db423eadcf2f57ef0af2523010a1748ac4fbae;p=bup.git diff --git a/t/test-index-check-device.sh b/t/test-index-check-device.sh index 23dbb77..88a966a 100755 --- a/t/test-index-check-device.sh +++ b/t/test-index-check-device.sh @@ -1,21 +1,28 @@ #!/usr/bin/env bash -. ./wvtest-bup.sh -. ./t/lib.sh +. ./wvtest-bup.sh || exit $? +. ./t/lib.sh || exit $? set -o pipefail -if [ $(t/root-status) != root ]; then +root_status="$(t/root-status)" || exit $? + +if [ "$root_status" != root ]; then echo 'Not root: skipping --check-device tests.' exit 0 # FIXME: add WVSKIP. fi +if test -n "$(type -p modprobe)" && ! modprobe loop; then + echo 'Unable to load loopback module; skipping --check-device test.' 1>&2 + exit 0 +fi + if test -z "$(type -p losetup)"; then - echo 'Unable to find losetup: skipping --check-device tests.' + echo 'Unable to find losetup: skipping --check-device tests.' 1>&2 exit 0 # FIXME: add WVSKIP. fi if test -z "$(type -p mke2fs)"; then - echo 'Unable to find mke2fs: skipping --check-device tests.' + echo 'Unable to find mke2fs: skipping --check-device tests.' 1>&2 exit 0 # FIXME: add WVSKIP. fi @@ -46,8 +53,9 @@ WVPASS date > "$tmpmnt1/foo" WVPASS umount "$tmpmnt1" # Mount twice, so we'll have the same content with different devices. +WVPASS cp -pP testfs.img testfs2.img WVPASS mount -oro,loop testfs.img "$tmpmnt1" -WVPASS mount -oro,loop testfs.img "$tmpmnt2" +WVPASS mount -oro,loop testfs2.img "$tmpmnt2" # Test default behavior: --check-device. WVPASS mount -oro --bind "$tmpmnt1" "$srcmnt"