diff --git a/Makefile.in b/Makefile.in index b3081f4e..cc6ed59f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -201,11 +201,15 @@ test-misc: btrfs btrfs-image btrfs-corrupt-block btrfs-debug-tree mkfs.btrfs btr @echo " [TEST] misc-tests.sh" $(Q)bash tests/misc-tests.sh +test-mkfs: btrfs mkfs.btrfs + @echo " [TEST] mkfs-tests.sh" + $(Q)bash tests/mkfs-tests.sh + test-clean: @echo "Cleaning tests" $(Q)bash tests/clean-tests.sh -test: test-fsck test-convert test-misc +test: test-fsck test-mkfs test-convert test-misc # # NOTE: For static compiles, you need to have all the required libs diff --git a/tests/mkfs-tests.sh b/tests/mkfs-tests.sh new file mode 100755 index 00000000..4780b543 --- /dev/null +++ b/tests/mkfs-tests.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# +# mkfs.btrfs 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/mkfs-tests-results.txt" +IMAGE="$TOP/tests/test.img" + +source $TOP/tests/common + +# Allow child test to use $TOP and $RESULTS +export TOP +export RESULTS +# For custom script needs to verfiy recovery +export LANG +# For tests that only use a loop device +export IMAGE + +rm -f $RESULTS + +check_prereq mkfs.btrfs +check_prereq btrfs + +# The tests are driven by their custom script called 'test.sh' + +for i in $(find $TOP/tests/mkfs-tests -maxdepth 1 -mindepth 1 -type d \ + ${TEST:+-name "$TEST"} | sort) +do + echo " [TEST] $(basename $i)" + cd $i + echo "=== Entering $i" >> $RESULTS + if [ -x test.sh ]; then + ./test.sh + if [ $? -ne 0 ]; then + _fail "test failed for case $(basename $i)" + fi + fi + cd $TOP +done