[CRIU] [PATCH v2] test/zdtm: add option -n for batch test
Yicheng Qin
yichengq at google.com
Tue Aug 13 04:34:02 EDT 2013
In batch-test mode, the script skips failed individual tests
instead of exiting. This ensures that all zdtm tests can be run
in one pass, which provides better overview of test result.
Signed-off-by: Yicheng Qin <yichengq at google.com>
---
Changelog since v1:
- add option -n
test/zdtm.sh | 34 +++++++++++++++++++++++++++++++---
1 file changed, 31 insertions(+), 3 deletions(-)
diff --git a/test/zdtm.sh b/test/zdtm.sh
index 8881b3a..2ca48f5 100755
--- a/test/zdtm.sh
+++ b/test/zdtm.sh
@@ -168,6 +168,7 @@ PAGE_SERVER=0
PS_PORT=12345
TCPDUMP_PID=
COMPILE_ONLY=0
+BATCH_TEST=0
check_criu()
{
@@ -439,7 +440,11 @@ EOF
# with some error code, or checkpoint is complete but return
# code is non-zero because of post dump action.
if [ "$retcode" -ne 0 ] && [[ "$retcode" -ne 32 || -z "$dump_only" ]]; then
- echo WARNING: $tname returned $retcode and left running for debug needs
+ if [ $BATCH_TEST -eq 0 ]; then
+ echo WARNING: $tname returned $retcode and left running for debug needs
+ else
+ echo WARNING: $tname failed and returned $retcode
+ fi
return 1
fi
@@ -556,7 +561,15 @@ case_error()
echo "==================== ERROR OVER ===================="
)
- exit 1
+ if [ $BATCH_TEST -eq 0 ]; then
+ exit 1
+ else
+ # cleanout failed test to prepare for next one
+ local tname=`basename $test`
+ local tdir=`dirname $test`
+ killall -9 $tname > /dev/null 2>&1
+ make -C $tdir $tname.cleanout
+ fi
}
checkout()
@@ -635,6 +648,11 @@ while :; do
shift
continue
fi
+ if [ "$1" = "-n" ]; then
+ BATCH_TEST=1
+ shift
+ continue
+ fi
break;
done
@@ -661,6 +679,7 @@ Options:
-t : mount tmpfs for dump files
-a <FILE>.tar.gz : save archive with dump files and logs
-g : Generate executables only
+ -n : Batch test
EOF
elif [ "${1:0:1}" = '-' ]; then
echo "unrecognized option $1"
@@ -688,6 +707,15 @@ else
for t in $(echo "$IPC_TEST_LIST" | grep -x "$pattern"); do
run_test $t -n ipc || case_error $t
done
+
+ if [ $COMPILE_ONLY -eq 0 ]; then
+ if [ -n "$ZDTM_FAILED" ]; then
+ echo ZDTM tests FAIL.
+ else
+ echo ZDTM tests PASS.
+ fi
+ fi
fi
-[ -n "$TMP_TREE" ] && rm -rf $TMP_TREE || exit 0
+[ -n "$TMP_TREE" ] && rm -rf $TMP_TREE
+[ -n "$ZDTM_FAILED" ] && exit 1
--
1.8.3
More information about the CRIU
mailing list