rcutorture: Flag errors and warnings with color coding

The output of the rcutorture scripts often requires interpretation, so
this commit simplifies this interpretation by tagging messages as
BUGs (colored red) or WARNINGs (colored yellow).

Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
This commit is contained in:
Paul E. McKenney 2013-10-28 06:34:22 -07:00
parent f43f8f7351
commit 6d40cc0cb4
5 changed files with 41 additions and 12 deletions

View file

@ -134,6 +134,22 @@ identify_qemu_vcpus () {
lscpu | grep '^CPU(s):' | sed -e 's/CPU(s)://'
}
# print_bug
#
# Prints "BUG: " in red followed by remaining arguments
print_bug () {
printf '\033[031mBUG: \033[m'
echo $*
}
# print_warning
#
# Prints "WARNING: " in yellow followed by remaining arguments
print_warning () {
printf '\033[033mWARNING: \033[m'
echo $*
}
# specify_qemu_cpus qemu-cmd qemu-args #cpus
#
# Appends a string containing "-smp XXX" to qemu-args, unless the incoming

View file

@ -188,6 +188,5 @@ then
fi
cp $builddir/console.log $resdir
parse-rcutorture.sh $resdir/console.log $title >> $resdir/Warnings 2>&1
parse-console.sh $resdir/console.log $title >> $resdir/Warnings 2>&1
cat $resdir/Warnings
parse-rcutorture.sh $resdir/console.log $title
parse-console.sh $resdir/console.log $title

View file

@ -30,18 +30,28 @@
T=$1
title=$2
. functions.sh
if grep -q CC < $T
then
:
else
echo $title no build
print_bug $title no build
exit 1
fi
if egrep -q "error:|rcu[^/]*\.c.*warning:|rcu.*\.h.*warning:" < $T
if grep -q "error:" < $T
then
echo $title build errors:
egrep "error:|rcu[^/]*\.c.*warning:|rcu.*\.h.*warning:" < $T
print_bug $title build errors:
grep "error:" < $T
exit 2
fi
exit 0
if egrep -q "rcu[^/]*\.c.*warning:|rcu.*\.h.*warning:" < $T
then
print_warning $title build errors:
egrep "rcu[^/]*\.c.*warning:|rcu.*\.h.*warning:" < $T
exit 2
fi
exit 0

View file

@ -31,9 +31,11 @@ trap 'rm -f $T' 0
file="$1"
title="$2"
. functions.sh
egrep 'Badness|WARNING:|Warn|BUG|===========|Call Trace:|Oops:' < $file | grep -v 'ODEBUG: ' | grep -v 'Warning: unable to open an initial console' > $T
if test -s $T
then
echo Assertion failure in $file $title
print_warning Assertion failure in $file $title
cat $T
fi

View file

@ -34,6 +34,8 @@ title="$2"
trap 'rm -f $T.seq' 0
. functions.sh
# check for presence of rcutorture.txt file
if test -f "$file" -a -r "$file"
@ -49,7 +51,7 @@ fi
if grep -q FAILURE $file || grep -q -e '-torture.*!!!' $file
then
nerrs=`grep --binary-files=text '!!!' $file | tail -1 | awk '{for (i=NF-8;i<=NF;i++) sum+=$i; } END {print sum}'`
echo $title FAILURE, $nerrs instances
print_bug $title FAILURE, $nerrs instances
echo " " $url
exit
fi
@ -84,21 +86,21 @@ if grep -q SUCCESS $file
then
if test -s $T.seq
then
echo WARNING $title `cat $T.seq`
print_warning $title $title `cat $T.seq`
echo " " $file
exit 2
fi
else
if grep -q RCU_HOTPLUG $file
then
echo WARNING: HOTPLUG FAILURES $title `cat $T.seq`
print_warning HOTPLUG FAILURES $title `cat $T.seq`
echo " " $file
exit 3
fi
echo $title no success message, `grep --binary-files=text 'ver:' $file | wc -l` successful RCU version messages
if test -s $T.seq
then
echo WARNING $title `cat $T.seq`
print_warning $title `cat $T.seq`
fi
exit 2
fi