提交 6d40cc0c 编写于 作者: P Paul E. McKenney

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: NIngo Molnar <mingo@kernel.org>
Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
上级 f43f8f73
......@@ -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
......
......@@ -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
......@@ -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
print_bug $title build errors:
grep "error:" < $T
exit 2
fi
exit 0
if egrep -q "rcu[^/]*\.c.*warning:|rcu.*\.h.*warning:" < $T
then
echo $title build errors:
egrep "error:|rcu[^/]*\.c.*warning:|rcu.*\.h.*warning:" < $T
print_warning $title build errors:
egrep "rcu[^/]*\.c.*warning:|rcu.*\.h.*warning:" < $T
exit 2
fi
exit 0
......@@ -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
......@@ -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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册