diff --git a/tests/r_1024_small_bg/script b/tests/r_1024_small_bg/script index fafcf914..2038cb96 100644 --- a/tests/r_1024_small_bg/script +++ b/tests/r_1024_small_bg/script @@ -10,13 +10,17 @@ E2FSCK=../e2fsck/e2fsck . $cmd_dir/scripts/resize_test -if resize_test -then +resize_test +RC=$? +if [ $RC -eq 0 ]; then echo "$test_name: $test_description: ok" touch $test_name.ok +elif [ $RC -eq 111 ]; then + echo "$test_name: $test_description: skipped" + touch $test_name.ok else echo "$test_name: $test_description: failed" - touch $test_name.failed + ln $LOG $test_name.failed fi unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK diff --git a/tests/r_64bit_big_expand/script b/tests/r_64bit_big_expand/script index 51f36e98..6716f3c6 100644 --- a/tests/r_64bit_big_expand/script +++ b/tests/r_64bit_big_expand/script @@ -20,7 +20,7 @@ elif [ $RC -eq 111 ]; then touch $test_name.ok else echo "$test_name: $test_description: failed" - touch $test_name.failed + ln $LOG $test_name.failed fi unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK diff --git a/tests/r_bigalloc_big_expand/script b/tests/r_bigalloc_big_expand/script index 56c8c15d..511733b6 100644 --- a/tests/r_bigalloc_big_expand/script +++ b/tests/r_bigalloc_big_expand/script @@ -20,7 +20,7 @@ elif [ $RC -eq 111 ]; then touch $test_name.ok else echo "$test_name: $test_description: failed" - touch $test_name.failed + ln $LOG $test_name.failed fi unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK diff --git a/tests/r_ext4_big_expand/script b/tests/r_ext4_big_expand/script index a4f8fe63..b4a6f6e3 100644 --- a/tests/r_ext4_big_expand/script +++ b/tests/r_ext4_big_expand/script @@ -20,7 +20,7 @@ elif [ $RC -eq 111 ]; then touch $test_name.ok else echo "$test_name: $test_description: failed" - touch $test_name.failed + ln $LOG $test_name.failed fi unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK diff --git a/tests/r_ext4_small_bg/script b/tests/r_ext4_small_bg/script index 553cbd8a..cdc6e4a3 100644 --- a/tests/r_ext4_small_bg/script +++ b/tests/r_ext4_small_bg/script @@ -10,13 +10,17 @@ E2FSCK=../e2fsck/e2fsck . $cmd_dir/scripts/resize_test -if resize_test -then +resize_test +RC=$? +if [ $RC -eq 0 ]; then echo "$test_name: $test_description: ok" touch $test_name.ok +elif [ $RC -eq 111 ]; then + echo "$test_name: $test_description: skipped" + touch $test_name.ok else echo "$test_name: $test_description: failed" - touch $test_name.failed + ln $LOG $test_name.failed fi unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK diff --git a/tests/scripts/resize_test b/tests/scripts/resize_test index 6a8b0e97..b09731c1 100755 --- a/tests/scripts/resize_test +++ b/tests/scripts/resize_test @@ -1,25 +1,36 @@ #!/bin/sh +# old distros are missing "truncate", emulate it with "dd" +truncate() +{ + [ "$1" = "-s" ] && size=$2 && shift 2 + + dd if=/dev/zero of=$1 bs=1 count=0 seek=$size >> $LOG 2>&1 +} + resize_test () { +echo $test_description starting > $LOG rm -f $TMPFILE touch $TMPFILE # Verify that the $TMP filesystem handles $SIZE_2 sparse files. # If that fails, try the local filesystem instead. if truncate -s $SIZE_2 $TMPFILE 2> /dev/null; then - > $TMPFILE + echo "using $TMPFILE" >> $LOG else rm $TMPFILE export TMPFILE=$(TMPDIR=. mktemp -t $test_name.XXXXXX.tmp) touch $TMPFILE - if ! truncate -s $SIZE_2 $TMPFILE 2> /dev/null; then + echo "using $TMPFILE" >> $LOG + if ! truncate -s $SIZE_2 $TMPFILE >> $LOG 2>&1; then rm $TMPFILE return 111 fi fi +> $TMPFILE -echo $MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 > $LOG +echo $MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 >> $LOG $MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 >> $LOG OUT_TMP=$(mktemp -t csum-tmp.XXXXXX)