From 05745ceed43500dbcb117522e1df144b9c55e74c Mon Sep 17 00:00:00 2001 From: Yicheng Qin Date: Wed, 14 Aug 2013 13:43:07 +0400 Subject: [PATCH] test/zdtm: add option -n for batch test 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 Acked-by: Andrew Vagin Signed-off-by: Pavel Emelyanov --- test/zdtm.sh | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/test/zdtm.sh b/test/zdtm.sh index 6868863bb..61aae6cb0 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 @@ -574,7 +579,13 @@ EOF =========================== ERROR OVER ============================ EOF ) - exit 1 + if [ $BATCH_TEST -eq 0 ]; then + exit 1 + else + # kill failed test + local tname=`basename $test` + killall -9 $tname > /dev/null 2>&1 + fi } checkout() @@ -653,6 +664,11 @@ while :; do shift continue fi + if [ "$1" = "-n" ]; then + BATCH_TEST=1 + shift + continue + fi break; done @@ -679,6 +695,7 @@ Options: -t : mount tmpfs for dump files -a .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" @@ -705,6 +722,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