SUMMARY line is present if the test uses lib/report. Summary contains some interesting information, so duplicating the output isn't that big of a cost. Our log redirection got more complicated, though. Signed-off-by: Radim Krčmář <rkrcmar@xxxxxxxxxx> --- run_tests.sh | 6 +++--- scripts/mkstandalone.sh | 3 +++ scripts/runtime.bash | 15 ++++++++++----- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/run_tests.sh b/run_tests.sh index 7e0237f3aa11..2a0082163423 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -25,6 +25,7 @@ specify the appropriate qemu binary for ARCH-run. EOF } +RUNTIME_log_stdout="/dev/null" RUNTIME_arch_run="./$TEST_DIR/run" source scripts/runtime.bash @@ -47,12 +48,11 @@ while getopts "g:hv" opt; do done if [ "$PRETTY_PRINT_STACKS" = "yes" ]; then - log_redir="> >(./scripts/pretty_print_stacks.py \$kernel >> test.log)" + RUNTIME_log_stdout='>(./scripts/pretty_print_stacks.py $kernel >> test.log)' else - log_redir=">> test.log" + RUNTIME_log_stdout='test.log' fi -RUNTIME_arch_run="./$TEST_DIR/run $log_redir" config=$TEST_DIR/unittests.cfg rm -f test.log printf "BUILD_HEAD=$(cat build-head)\n\n" > test.log diff --git a/scripts/mkstandalone.sh b/scripts/mkstandalone.sh index ef15bc88a22a..ee01fe0c7777 100755 --- a/scripts/mkstandalone.sh +++ b/scripts/mkstandalone.sh @@ -68,6 +68,9 @@ generate_test () (echo "#!/bin/bash" cat scripts/arch-run.bash "$TEST_DIR/run") | temp_file RUNTIME_arch_run + echo "exec {stdout}>&1" + echo "RUNTIME_log_stdout='>(cat >&\$stdout)'" + cat scripts/runtime.bash echo "run ${args[@]}" diff --git a/scripts/runtime.bash b/scripts/runtime.bash index 59f0df080988..fc4be91d8727 100644 --- a/scripts/runtime.bash +++ b/scripts/runtime.bash @@ -6,6 +6,11 @@ PASS() { echo -ne "\e[32mPASS\e[0m"; } SKIP() { echo -ne "\e[33mSKIP\e[0m"; } FAIL() { echo -ne "\e[31mFAIL\e[0m"; } +extract_summary() +{ + tail -1 | grep '^SUMMARY: ' | sed 's/^SUMMARY: /(/;s/$/)/' +} + function run() { local testname="$1" @@ -55,18 +60,18 @@ function run() fi # extra_params in the config file may contain backticks that need to be - # expanded, so use eval to start qemu - eval $cmdline + # expanded, so use eval to start qemu. Same for $RUNTIME_log_stdout. + summary=$(eval $cmdline > >(eval "tee -a $RUNTIME_log_stdout" | extract_summary)) ret=$? if [ $ret -eq 0 ]; then - echo "`PASS` $1" + echo "`PASS` $1 $summary" elif [ $ret -eq 77 ]; then - echo "`SKIP` $1" + echo "`SKIP` $1 $summary" elif [ $ret -eq 124 ]; then echo "`FAIL` $1 (timeout; duration=$timeout)" else - echo "`FAIL` $1" + echo "`FAIL` $1 $summary" fi return $ret -- 2.8.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html