diff options
Diffstat (limited to 'tests/cli-tests.sh')
-rwxr-xr-x | tests/cli-tests.sh | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/tests/cli-tests.sh b/tests/cli-tests.sh index 16d6afcf..9e0fbae4 100755 --- a/tests/cli-tests.sh +++ b/tests/cli-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/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 @@ -24,7 +46,7 @@ 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") @@ -40,5 +62,5 @@ do _fail "test failed for case $(basename $i)" fi fi - cd "$TOP" + cd "$TEST_TOP" done |