From: Christopher Faulet Date: Wed, 19 Dec 2018 09:25:07 +0000 (+0100) Subject: REGTEST: script: Add the option --keep-logs to keep all log directories X-Git-Tag: v2.0-dev0~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9c6df5ecb4acbf39e7413f97144ae767a7c2b414;p=thirdparty%2Fhaproxy.git REGTEST: script: Add the option --keep-logs to keep all log directories By default a log directory is kept only if the test fails. With this option it is possible to always keep it. If this option is used, the result of all tests are displayed (and not only the failing ones). --- diff --git a/scripts/run-regtests.sh b/scripts/run-regtests.sh index d391416a0a..70ad134a4c 100755 --- a/scripts/run-regtests.sh +++ b/scripts/run-regtests.sh @@ -22,6 +22,9 @@ _help() --debug to show test logs on standard ouput (implies --v) run-regtests.sh --debug + --keep-logs to keep all log directories (by default kept if test fails) + run-regtests.sh --keep-logs + --varnishtestparams , passes custom ARGS to varnishtest run-regtests.sh --varnishtestparams "-n 10" @@ -259,6 +262,9 @@ _process() { verbose="" debug="-v" ;; + --keep-logs) + keep_logs="-L" + ;; --LEVEL) LEVEL="$2" shift @@ -295,6 +301,7 @@ REGTESTS="" jobcount="" verbose="-q" debug="" +keep_logs="-l" testlist="" _process "$@"; @@ -412,27 +419,32 @@ if [ -n "$testlist" ]; then if [ -n "$jobcount" ]; then jobcount="-j $jobcount" fi - cmd="$VARNISHTEST_PROGRAM -l -k -t 10 $verbose $debug $jobcount $varnishtestparams $testlist" + cmd="$VARNISHTEST_PROGRAM -k -t 10 $keep_logs $verbose $debug $jobcount $varnishtestparams $testlist" eval $cmd _vtresult=$? else echo "No tests found that meet the required criteria" fi -if [ $_vtresult != 0 ] -then - echo "########################## Gathering failed results ##########################" + + +if [ $_vtresult -eq 0 ]; then + # all tests were succesfull, removing tempdir (the last part.) + # ignore errors is the directory is not empty or if it does not exist + rmdir "$TESTDIR" 2>/dev/null +fi + +if [ -d "${TESTDIR}" ]; then + echo "########################## Gathering results ##########################" export TESTDIR find "$TESTDIR" -type d -name "vtc.*" -exec sh -c 'for i; do if [ ! -e "$i/LOG" ] ; then continue; fi + cat <<- EOF | tee -a "$TESTDIR/failedtests.log" $(echo "###### $(cat "$i/INFO") ######") $(echo "## test results in: \"$i\"") $(grep -- ---- "$i/LOG") EOF done' sh {} + - exit 1 -else - # all tests were succesfull, removing tempdir (the last part.) - rmdir "$TESTDIR" fi -exit 0 + +exit $_vtresult