X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tests%2Fcli-tests.sh;h=9e0fbae4e37357b237b00c0403caa87de3009524;hb=4affb865422b0df3687b96a67d148a916545d6b4;hp=86dda87b7225cadd12d8eb1349eddc9e83e54e80;hpb=4ad7a967d1bcbb77b12b610b9db3ee07518ddb83;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/tests/cli-tests.sh b/tests/cli-tests.sh index 86dda87..9e0fbae 100755 --- a/tests/cli-tests.sh +++ b/tests/cli-tests.sh @@ -3,39 +3,64 @@ # command line interface coverage tests LANG=C -SCRIPT_DIR=$(dirname $(readlink -f $0)) -TOP=$(readlink -f $SCRIPT_DIR/../) +SCRIPT_DIR=$(dirname $(readlink -f "$0")) +if [ -z "$TOP" ]; then + TOP=$(readlink -f "$SCRIPT_DIR/../") + if [ -f "$TOP/configure.ac" ]; then + # inside git + TEST_TOP="$TOP/tests/" + INTERNAL_BIN="$TOP" + else + # external, defaults to system binaries + TOP=$(dirname `which btrfs`) + TEST_TOP="$SCRIPT_DIR" + INTERNAL_BIN="$TEST_TOP" + fi +else + # assume external, TOP set from commandline + TEST_TOP="$SCRIPT_DIR" + INTERNAL_BIN="$TEST_TOP" +fi +if ! [ -x "$TOP/btrfs" ]; then + echo "ERROR: cannot execute btrfs from TOP=$TOP" + exit 1 +fi TEST_DEV=${TEST_DEV:-} -RESULTS="$TOP/tests/cli-tests-results.txt" -IMAGE="$TOP/tests/test.img" +RESULTS="$TEST_TOP/cli-tests-results.txt" +IMAGE="$TEST_TOP/test.img" -source $TOP/tests/common +source "$TEST_TOP/common" +export INTERNAL_BIN +export TEST_TOP export TOP export RESULTS export LANG export IMAGE export TEST_DEV -rm -f $RESULTS +rm -f "$RESULTS" check_prereq btrfs check_kernel_support # The tests are driven by their custom script called 'test.sh' -for i in $(find $TOP/tests/cli-tests -maxdepth 1 -mindepth 1 -type d \ +for i in $(find "$TEST_TOP/cli-tests" -maxdepth 1 -mindepth 1 -type d \ ${TEST:+-name "$TEST"} | sort) do - name=$(basename $i) - cd $i + name=$(basename "$i") + cd "$i" if [ -x test.sh ]; then - echo "=== Entering $i" >> $RESULTS + echo "=== Entering $i" >> "$RESULTS" echo " [TEST/cli] $name" ./test.sh if [ $? -ne 0 ]; then + if [[ $TEST_LOG =~ dump ]]; then + cat "$RESULTS" + fi _fail "test failed for case $(basename $i)" fi fi - cd $TOP + cd "$TEST_TOP" done