btrfs-progs: tests: add support for command line coverage tests

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2016-03-20 15:34:10 +01:00
parent 350563bf79
commit d75f0c12d2
3 changed files with 60 additions and 0 deletions

View file

@ -215,6 +215,10 @@ test-fuzz: btrfs
@echo " [TEST] fuzz-tests.sh"
$(Q)bash tests/fuzz-tests.sh
test-cli: btrfs
@echo " [TEST] cli-tests.sh"
$(Q)bash tests/cli-tests.sh
test-clean:
@echo "Cleaning tests"
$(Q)bash tests/clean-tests.sh

41
tests/cli-tests.sh Executable file
View file

@ -0,0 +1,41 @@
#!/bin/bash
#
# command line interface coverage tests
unset TOP
unset LANG
LANG=C
SCRIPT_DIR=$(dirname $(readlink -f $0))
TOP=$(readlink -f $SCRIPT_DIR/../)
TEST_DEV=${TEST_DEV:-}
RESULTS="$TOP/tests/cli-tests-results.txt"
IMAGE="$TOP/tests/test.img"
source $TOP/tests/common
export TOP
export RESULTS
export LANG
export IMAGE
rm -f $RESULTS
check_prereq btrfs
# 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 \
${TEST:+-name "$TEST"} | sort)
do
name=$(basename $i)
cd $i
if [ -x test.sh ]; then
echo "=== Entering $i" >> $RESULTS
echo " [TEST/cli] $name"
./test.sh
if [ $? -ne 0 ]; then
_fail "test failed for case $(basename $i)"
fi
fi
cd $TOP
done

View file

@ -0,0 +1,15 @@
#!/bin/bash
# test commands of btrfs
source $TOP/tests/common
check_prereq btrfs
# returns 1
run_mayfail $TOP/btrfs || true
run_check $TOP/btrfs version
run_check $TOP/btrfs version --
run_check $TOP/btrfs help
run_check $TOP/btrfs help --
run_check $TOP/btrfs --help
run_check $TOP/btrfs --help --full