0e025f99f9bba58e26da6942e01a699c2df7357b
[platform/upstream/btrfs-progs.git] / tests / convert-tests.sh
1 #!/bin/bash
2 #
3 # convert ext2/3/4 images to btrfs images, and make sure the results are
4 # clean.
5
6 LANG=C
7 SCRIPT_DIR=$(dirname $(readlink -f $0))
8 TOP=$(readlink -f $SCRIPT_DIR/../)
9 TEST_DEV=${TEST_DEV:-}
10 RESULTS="$TOP/tests/convert-tests-results.txt"
11 IMAGE="$TOP/tests/test.img"
12
13 source $TOP/tests/common
14 source $TOP/tests/common.convert
15
16 export TOP
17 export RESULTS
18 export LANG
19 export IMAGE
20 export TEST_DEV
21
22 rm -f $RESULTS
23
24 run_one_test() {
25         local testdir
26         local testname
27
28         testdir="$1"
29         testname=$(basename "$testdir")
30         echo "    [TEST/conv]   $testname"
31         cd "$testdir"
32         echo "=== Entering $testname" >> $RESULTS
33         if [ -x test.sh ]; then
34                 # Only support custom test scripts
35                 ./test.sh
36                 if [ $? -ne 0 ]; then
37                         _fail "test failed for case $testname"
38                 fi
39         else
40                 _fail "custom test script not found"
41         fi
42 }
43
44 # Test special images
45 for i in $(find $TOP/tests/convert-tests -maxdepth 1 -mindepth 1 -type d \
46            ${TEST:+-name "$TEST"} | sort)
47 do
48         run_one_test "$i"
49 done