btrfs-progs: tests: add driver script for misc tests
[platform/upstream/btrfs-progs.git] / tests / misc-tests.sh
1 #!/bin/bash
2 #
3 # Misc tests
4
5 unset TOP
6 unset LANG
7 LANG=C
8 SCRIPT_DIR=$(dirname $(readlink -f $0))
9 TOP=$(readlink -f $SCRIPT_DIR/../)
10 TEST_DEV=${TEST_DEV:-}
11 TEST_MNT=${TEST_MNT:-$TOP/tests/mnt}
12 RESULTS="$TOP/tests/misc-tests-results.txt"
13 IMAGE="$TOP/tests/test.img"
14
15 source $TOP/tests/common
16
17 # Allow child test to use $TOP and $RESULTS
18 export TOP
19 export RESULTS
20 # For custom script needs to verfiy recovery
21 export TEST_MNT
22 export LANG
23
24 rm -f $RESULTS
25 mkdir -p $TEST_MNT || _fail "unable to create mount point on $TEST_MNT"
26
27 # test rely on corrupting blocks tool
28 check_prereq btrfs-corrupt-block
29 check_prereq btrfs-image
30 check_prereq btrfstune
31 check_prereq btrfs
32
33 # The tests are driven by their custom script called 'test.sh'
34
35 for i in $(find $TOP/tests/misc-tests -maxdepth 1 -mindepth 1 -type d | sort)
36 do
37         echo "    [TEST]   $(basename $i)"
38         cd $i
39         echo "=== Entering $i" >> $RESULTS
40         if [ -x test.sh ]; then
41                 ./test.sh
42                 if [ $? -ne 0 ]; then
43                         _fail "test failed for case $(basename $i)"
44                 fi
45         fi
46         cd $TOP
47 done