projects
/
platform
/
upstream
/
btrfs-progs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
btrfs-progs: introduce TEST_TOP and INTERNAL_BIN for tests
[platform/upstream/btrfs-progs.git]
/
tests
/
convert-tests.sh
diff --git
a/tests/convert-tests.sh
b/tests/convert-tests.sh
index
c0080b9
..
52c59d4
100755
(executable)
--- a/
tests/convert-tests.sh
+++ b/
tests/convert-tests.sh
@@
-2,40
+2,56
@@
#
# convert ext2/3/4 images to btrfs images, and make sure the results are
# clean.
#
# convert ext2/3/4 images to btrfs images, and make sure the results are
# clean.
-#
-unset TOP
-unset LANG
LANG=C
LANG=C
-SCRIPT_DIR=$(dirname $(readlink -f $0))
-TOP=$(readlink -f $SCRIPT_DIR/../)
+SCRIPT_DIR=$(dirname $(readlink -f "$0"))
+TEST_TOP=$(readlink -f "$SCRIPT_DIR/../tests/")
+TOP=$(readlink -f "$SCRIPT_DIR/../")
+if ! [ -f "$TOP/btrfs" ];then
+ TOP=$(dirname `which btrfs`)
+fi
TEST_DEV=${TEST_DEV:-}
TEST_DEV=${TEST_DEV:-}
-RESULTS="$T
OP/tests
/convert-tests-results.txt"
-IMAGE="$T
OP/tests
/test.img"
+RESULTS="$T
EST_TOP
/convert-tests-results.txt"
+IMAGE="$T
EST_TOP
/test.img"
-source
$TOP/tests/common
-source
$TOP/tests/common.convert
+source
"$TEST_TOP/common"
+source
"$TEST_TOP/common.convert"
-# Allow child test to use $TOP and $RESULTS
+export TEST_TOP
export TOP
export RESULTS
export LANG
export TOP
export RESULTS
export LANG
+export IMAGE
+export TEST_DEV
+
+rm -f "$RESULTS"
-rm -f $RESULTS
+check_kernel_support
+check_kernel_support_reiserfs
+# anything expected by common.convert
+check_global_prereq getfacl
+check_global_prereq setfacl
+check_global_prereq md5sum
run_one_test() {
run_one_test() {
+ local testdir
local testname
local testname
- testname="$1"
+ testdir="$1"
+ testname=$(basename "$testdir")
echo " [TEST/conv] $testname"
echo " [TEST/conv] $testname"
- cd
$testname
- echo "=== Entering $testname" >>
$RESULTS
+ cd
"$testdir"
+ echo "=== Entering $testname" >>
"$RESULTS"
if [ -x test.sh ]; then
if [ -x test.sh ]; then
- # Difference convert test case needs different tools to restore
- # and check image, so only support custom test scripts
+ # Only support custom test scripts
./test.sh
if [ $? -ne 0 ]; then
./test.sh
if [ $? -ne 0 ]; then
- _fail "test failed for case $(basename $testname)"
+ if [[ $TEST_LOG =~ dump ]]; then
+ # the logs can be large and may exceed the
+ # limits, use 4MB for now
+ tail -c 3900000 "$RESULTS"
+ fi
+ _fail "test failed for case $testname"
fi
else
_fail "custom test script not found"
fi
else
_fail "custom test script not found"
@@
-43,7
+59,7
@@
run_one_test() {
}
# Test special images
}
# Test special images
-for i in $(find
$TOP/tests/convert-tests
-maxdepth 1 -mindepth 1 -type d \
+for i in $(find
"$TEST_TOP/convert-tests"
-maxdepth 1 -mindepth 1 -type d \
${TEST:+-name "$TEST"} | sort)
do
run_one_test "$i"
${TEST:+-name "$TEST"} | sort)
do
run_one_test "$i"