btrfs-progs: convert-tests: Add support for custom test scripts

Add support for custom convert test scripts, just like fsck tests.

Instead of generic convert tests, we need more specifically created images
for new convert tests.

This patch provide the needed infrastructure for later convert test
cases.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Qu Wenruo 2016-06-03 10:34:25 +08:00 committed by David Sterba
parent 97198cd75e
commit fde5ae2e49
2 changed files with 39 additions and 0 deletions

View File

@ -94,6 +94,14 @@ check_prereq()
fi
}
check_global_prereq()
{
which $1 &> /dev/null
if [ $? -ne 0 ]; then
_fail "Failed system wide prerequisities: $1";
fi
}
check_image()
{
local image

View File

@ -15,6 +15,11 @@ DATASET_SIZE=50
source $TOP/tests/common
# Allow child test to use $TOP and $RESULTS
export TOP
export RESULTS
export LANG
rm -f $RESULTS
setup_root_helper
@ -22,6 +27,25 @@ prepare_test_dev 512M
CHECKSUMTMP=$(mktemp --tmpdir btrfs-progs-convert.XXXXXXXXXX)
run_one_test() {
local testname
testname="$1"
echo " [TEST/conv] $testname"
cd $testname
echo "=== Entering $testname" >> $RESULTS
if [ -x test.sh ]; then
# Difference convert test case needs different tools to restore
# and check image, so only support custom test scripts
./test.sh
if [ $? -ne 0 ]; then
_fail "test failed for case $(basename $testname)"
fi
else
_fail "custom test script not found"
fi
}
generate_dataset() {
dataset_type="$1"
@ -172,4 +196,11 @@ for feature in '' 'extref' 'skinny-metadata' 'no-holes'; do
convert_test "$feature" "ext4 64k nodesize" 65536 mke2fs -t ext4 -b 4096
done
# Test special images
for i in $(find $TOP/tests/convert-tests -maxdepth 1 -mindepth 1 -type d \
${TEST:+-name "$TEST"} | sort)
do
run_one_test "$i"
done
rm $CHECKSUMTMP