]> git.karo-electronics.de Git - linux-beck.git/commitdiff
rcutorture: Flag errors and warnings with color coding
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 28 Oct 2013 13:34:22 +0000 (06:34 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 3 Dec 2013 18:11:18 +0000 (10:11 -0800)
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>
tools/testing/selftests/rcutorture/bin/functions.sh
tools/testing/selftests/rcutorture/bin/kvm-test-1-rcu.sh
tools/testing/selftests/rcutorture/bin/parse-build.sh
tools/testing/selftests/rcutorture/bin/parse-console.sh
tools/testing/selftests/rcutorture/bin/parse-rcutorture.sh

index d0d19ebd2a945b648d114c4a0ac14a2d44611f48..963b6f04d4ef3afe8de02633d8b5e40be745b211 100644 (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
index 3df1581e78ae276c95469c4b43401ab9e0fab879..46f97d33e1bab0e052cf8b2d6ff57146d9bf4d4a 100755 (executable)
@@ -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
index 2e0e9f7ebbb0fe17c4058291b832f955c06bdb56..9da2c7ba3fce481abcdd434132fbb5848fb1ad9f 100755 (executable)
 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
index bc1496fa12637a33f10dd67901e9bba3ab2cbc33..8f4be78f06b64e3cf5cbc18fecd5025545dbdf35 100755 (executable)
@@ -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
index 37368a046a9fc38a18a2655376c31610f94d6453..ac2f75a832251e751fd53e13c0eb20991d6a79b3 100755 (executable)
@@ -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