@@ -11,6 +11,7 @@ arch=`uname -m | sed -e 's/i.86/i386/;s/arm.*/arm/;s/ppc64.*/ppc64/'`
host=$arch
cross_prefix=
endian=""
+pretty_print_stacks=yes
usage() {
cat <<-EOF
@@ -25,6 +26,8 @@ usage() {
--prefix=PREFIX where to install things ($prefix)
--kerneldir=DIR kernel build directory for kvm.h ($kerneldir)
--endian=ENDIAN endianness to compile for (little or big, ppc64 only)
+ --[enable|disable]-pretty-print-stacks
+ enable or disable pretty stack printing (enabled by default)
EOF
exit 1
}
@@ -61,6 +64,12 @@ while [[ "$1" = -* ]]; do
--ld)
ld="$arg"
;;
+ --enable-pretty-print-stacks)
+ pretty_print_stacks=yes
+ ;;
+ --disable-pretty-print-stacks)
+ pretty_print_stacks=no
+ ;;
--help)
usage
;;
@@ -149,4 +158,5 @@ API=$api
TEST_DIR=$testdir
FIRMWARE=$firmware
ENDIAN=$endian
+PRETTY_PRINT_STACKS=$pretty_print_stacks
EOF
@@ -46,7 +46,13 @@ while getopts "g:hv" opt; do
esac
done
-RUNTIME_arch_run="./$TEST_DIR/run >> test.log"
+if [ "$PRETTY_PRINT_STACKS" = "yes" ]; then
+ log_redir="> >(./scripts/pretty_print_stacks.py \$kernel >> test.log)"
+else
+ log_redir=">> 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
@@ -41,6 +41,8 @@ generate_test ()
echo "#!/bin/bash"
echo "export STANDALONE=yes"
echo "export HOST=\$(uname -m | sed -e s/i.86/i386/ | sed -e 's/arm.*/arm/')"
+ echo "export PRETTY_PRINT_STACKS=no"
+
config_export ARCH
config_export ARCH_NAME
config_export PROCESSOR
Now run_tests.sh automatically pipes test output through scripts/pretty_print_stacks.py. Can be disabled with ./configure --disable-pretty-print-stacks. Pretty printing disabled on standalone tests because there's no binary. Signed-off-by: Peter Feiner <pfeiner@google.com> --- configure | 10 ++++++++++ run_tests.sh | 8 +++++++- scripts/mkstandalone.sh | 2 ++ 3 files changed, 19 insertions(+), 1 deletion(-)