Gitweb:
http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=b4526cfd...
Commit: b4526cfd2eb1993a36b458a9d19e8e5ec5b2ce95
Parent: eefa5f979e5cb7b0576e9c2327d668c10252bb70
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Thu Feb 21 23:24:23 2013 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Fri Feb 22 15:26:34 2013 +0000
gfs2-utils: Make the tool tests script more useful
This makes the tool test script log command output to a file and only
remove the test file (now named testvol by default) on success so that
we can analyze it on failure.
Also adds some tests to create and check file systems with various
resource group sizes.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
.gitignore | 2 ++
tests/tool_tests.sh | 28 +++++++++++++++++++---------
2 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/.gitignore b/.gitignore
index bd47927..a1eadd0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,6 +41,8 @@ gfs2/fsck/fsck.gfs2
gfs2/mkfs/mkfs.gfs2
gfs2/tune/tunegfs2
tests/check_libgfs2
+tests/testvol
+tests/tests.log
group/gfs_control/gfs_control
group/gfs_controld/gfs_controld
ABOUT-NLS
diff --git a/tests/tool_tests.sh b/tests/tool_tests.sh
index 791b071..50be31a 100755
--- a/tests/tool_tests.sh
+++ b/tests/tool_tests.sh
@@ -11,7 +11,10 @@ MKFS="${TOPBUILDDIR}/gfs2/mkfs/mkfs.gfs2 -qO"
FSCK="${TOPBUILDDIR}/gfs2/fsck/fsck.gfs2 -qn"
# Name of the sparse file we'll use for testing
-TEST_TARGET=${TEST_TARGET:-test_sparse}
+TEST_TARGET=${TEST_TARGET:-testvol}
+# Log of test output
+TEST_LOG=${TEST_LOG:-tests.log}
+truncate -cs0 "${TEST_LOG}"
# Size, in GB, of the sparse file we'll create to run the tests
TEST_TARGET_SZ=${TEST_TARGET_SZ:-10}
[ $TEST_TARGET_SZ -gt 0 ] || { echo "Target size (in GB) must be greater than
0" >&2; exit 1; }
@@ -22,17 +25,17 @@ fn_test()
{
local expected="$1"
local cmd="$2"
- echo -n "Running '$cmd' - (Exp: $expected Got: "
- $cmd &> /dev/null;
+ echo -n "** Test '$cmd'" | tee -a "${TEST_LOG}"
+ $cmd &>> "${TEST_LOG}";
local ret=$?
- echo -n "$ret) "
+ echo -n " (exp: $expected got: $ret) " | tee -a "${TEST_LOG}"
if [ "$ret" != "$expected" ];
then
- echo "FAIL"
+ echo "FAIL" | tee -a "${TEST_LOG}"
TEST_RET=1
TEST_GRP_RET=1
else
- echo "PASS"
+ echo "PASS" | tee -a "${TEST_LOG}"
fi
}
@@ -44,7 +47,7 @@ fn_rm_target()
fn_recreate_target()
{
fn_rm_target
- fn_test 0 "dd if=/dev/null of=$TEST_TARGET bs=1 count=0
seek=${TEST_TARGET_SZ}G"
+ fn_test 0 "truncate -s ${TEST_TARGET_SZ}G ${TEST_TARGET}"
}
@@ -54,9 +57,16 @@ fn_test 0 "$MKFS -p lock_nolock $TEST_TARGET"
fn_test 0 "$MKFS -p lock_dlm -t foo:bar $TEST_TARGET"
fn_test 255 "$MKFS -p badprotocol $TEST_TARGET"
fn_test 0 "$FSCK $TEST_TARGET"
+fn_test 255 "$MKFS -p lock_nolock -r 31 $TEST_TARGET"
+fn_test 255 "$MKFS -p lock_nolock -r 2049 $TEST_TARGET"
+fn_test 0 "$MKFS -p lock_nolock -r 32 $TEST_TARGET"
+fn_test 0 "$FSCK $TEST_TARGET"
+fn_test 0 "$MKFS -p lock_nolock -r 2048 $TEST_TARGET"
+fn_test 0 "$FSCK $TEST_TARGET"
# Tests end here
-# Clean up
-fn_test 0 "rm -f $TEST_TARGET"
+# Only remove the test file on success
+[ "$TEST_RET" = "0" ] && fn_test 0 "rm -f
$TEST_TARGET"
+echo "Tool test output written to ${TEST_LOG}"
exit $TEST_RET