From: Andreas Dilger Date: Mon, 14 Apr 2014 16:48:16 +0000 (-0400) Subject: tests: fix resize test tmpfs max-file-size checking X-Git-Tag: v1.42.10~43 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=5bb66e37d668697092b467460e0ea151fefdd744;p=tools%2Fe2fsprogs.git tests: fix resize test tmpfs max-file-size checking Old distros may not have the "truncate" tool, so use "dd" instead. If tmpfs cannot handle a 2GB temp file (e.g. old RHEL5 and SLES 11 kernels) then skip the test instead of failing it. If this fails, try to report better error messages instead of failing silently. Signed-off-by: Andreas Dilger Signed-off-by: "Theodore Ts'o" --- diff --git a/tests/r_1024_small_bg/script b/tests/r_1024_small_bg/script index fafcf91..2038cb9 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 51f36e9..6716f3c 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 56c8c15..511733b 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 a4f8fe6..b4a6f6e 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 553cbd8..cdc6e4a 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 6a8b0e9..b09731c 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)