summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Dilger <andreas.dilger@intel.com>2014-04-14 12:48:16 -0400
committerTheodore Ts'o <tytso@mit.edu>2014-04-14 13:51:24 -0400
commit5bb66e37d668697092b467460e0ea151fefdd744 (patch)
treeb0b7d3f376a19ba5df9d769db89de8809bf7cdde
parentd8f401b13568389ac0f67af0c653f153b5f0bd09 (diff)
downloade2fsprogs-5bb66e37d668697092b467460e0ea151fefdd744.tar.gz
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 <andreas.dilger@intel.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
-rw-r--r--tests/r_1024_small_bg/script10
-rw-r--r--tests/r_64bit_big_expand/script2
-rw-r--r--tests/r_bigalloc_big_expand/script2
-rw-r--r--tests/r_ext4_big_expand/script2
-rw-r--r--tests/r_ext4_small_bg/script10
-rwxr-xr-xtests/scripts/resize_test17
6 files changed, 31 insertions, 12 deletions
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)