mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
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:
parent
f43f8f7351
commit
6d40cc0cb4
@ -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
|
||||
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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user