summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.cz>2015-06-02 15:00:32 +0200
committerDavid Sterba <dsterba@suse.cz>2015-06-02 15:56:43 +0200
commit10b6b0b3a8288ed825d003788d9ff5d657f2e404 (patch)
tree963f7977ab693b7aa08159f10585e88e147a9f39
parent0933ef5325ee7db9879d7374d9055e912fcde18f (diff)
btrfs-progs: tests: add driver script for misc tests
Signed-off-by: David Sterba <dsterba@suse.cz>
-rw-r--r--Makefile.in6
-rwxr-xr-xtests/misc-tests.sh47
2 files changed, 52 insertions, 1 deletions
diff --git a/Makefile.in b/Makefile.in
index 14049b58..58aecc7c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -169,11 +169,15 @@ test-fsck: btrfs btrfs-image btrfs-corrupt-block btrfs-debug-tree mkfs.btrfs
@echo " [TEST] fsck-tests.sh"
$(Q)bash tests/fsck-tests.sh
+test-misc: btrfs btrfs-image btrfs-corrupt-block btrfs-debug-tree mkfs.btrfs btrfstune
+ @echo " [TEST] misc-tests.sh"
+ $(Q)bash tests/misc-tests.sh
+
test-clean:
@echo "Cleaning tests"
$(Q)bash tests/clean-tests.sh
-test: test-fsck test-convert
+test: test-fsck test-convert test-misc
#
# NOTE: For static compiles, you need to have all the required libs
diff --git a/tests/misc-tests.sh b/tests/misc-tests.sh
new file mode 100755
index 00000000..5bbe9140
--- /dev/null
+++ b/tests/misc-tests.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+#
+# Misc tests
+
+unset TOP
+unset LANG
+LANG=C
+SCRIPT_DIR=$(dirname $(readlink -f $0))
+TOP=$(readlink -f $SCRIPT_DIR/../)
+TEST_DEV=${TEST_DEV:-}
+TEST_MNT=${TEST_MNT:-$TOP/tests/mnt}
+RESULTS="$TOP/tests/misc-tests-results.txt"
+IMAGE="$TOP/tests/test.img"
+
+source $TOP/tests/common
+
+# Allow child test to use $TOP and $RESULTS
+export TOP
+export RESULTS
+# For custom script needs to verfiy recovery
+export TEST_MNT
+export LANG
+
+rm -f $RESULTS
+mkdir -p $TEST_MNT || _fail "unable to create mount point on $TEST_MNT"
+
+# test rely on corrupting blocks tool
+check_prereq btrfs-corrupt-block
+check_prereq btrfs-image
+check_prereq btrfstune
+check_prereq btrfs
+
+# The tests are driven by their custom script called 'test.sh'
+
+for i in $(find $TOP/tests/misc-tests -maxdepth 1 -mindepth 1 -type d | sort)
+do
+ echo " [TEST] $(basename $i)"
+ cd $i
+ echo "=== Entering $i" >> $RESULTS
+ if [ -x test.sh ]; then
+ ./test.sh
+ if [ $? -ne 0 ]; then
+ _fail "test failed for case $(basename $i)"
+ fi
+ fi
+ cd $TOP
+done