X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tests%2Ffsck-tests.sh;h=14287bbeff88dee9e1c76baf7504fe9b5745400f;hb=e875cd98e38f9fdc7f812a7575a3a2afd6b6094b;hp=e71b71197c2847b43a74d0b22b819cabbd03df7c;hpb=7dbb17dbb2ea65d22b573641c20c09eceabc652c;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/tests/fsck-tests.sh b/tests/fsck-tests.sh index e71b711..14287bb 100755 --- a/tests/fsck-tests.sh +++ b/tests/fsck-tests.sh @@ -4,13 +4,35 @@ LANG=C SCRIPT_DIR=$(dirname $(readlink -f "$0")) -TOP=$(readlink -f "$SCRIPT_DIR/../") +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/fsck-tests-results.txt" -IMAGE="$TOP/tests/test.img" +RESULTS="$TEST_TOP/fsck-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 @@ -23,6 +45,7 @@ rm -f "$RESULTS" check_prereq btrfs-corrupt-block check_prereq btrfs-image check_prereq btrfs +check_prereq btrfstune check_kernel_support run_one_test() { @@ -36,13 +59,16 @@ run_one_test() { # Type 2 ./test.sh if [ $? -ne 0 ]; then + if [[ $TEST_LOG =~ dump ]]; then + cat "$RESULTS" + fi _fail "test failed for case $(basename $testname)" fi else # Type 1 - check_all_images `pwd` + check_all_images fi - cd "$TOP" + cd "$TEST_TOP" } # Each dir contains one type of error for btrfsck test. @@ -58,7 +84,7 @@ run_one_test() { # This is for case btrfs-image can't dump or case needs extra # check/verify -for i in $(find "$TOP/tests/fsck-tests" -maxdepth 1 -mindepth 1 -type d \ +for i in $(find "$TEST_TOP/fsck-tests" -maxdepth 1 -mindepth 1 -type d \ ${TEST:+-name "$TEST"} | sort) do run_one_test "$i"