On Fri, Apr 15, 2016 at 10:52:50PM +0200, Radim Krčmář wrote: > 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)) The depth of our stdout resolution is getting insane. Oh well, let's see how deep we can go before we throw our hands up and just rewrite all these bash scripts in python. > 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 > Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx> -- 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