torture: Better summary diagnostics for build failures
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 17 Mar 2014 20:42:33 +0000 (13:42 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 14 May 2014 16:46:15 +0000 (09:46 -0700)
The reaction of kvm-recheck.sh is obscure at best, and easy to miss
completely.  This commit therefore prints "BUG: Build failed" in the
summary at the end of a run.  This commit also adds the line of dashes
in cases where performance info is not available, and also avoids
printing nonsense diagnostics in cases where some of the normal test
output is not available.  In addition, this commit saves off the .config
file even when the build fails.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh
tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh
tools/testing/selftests/rcutorture/bin/kvm-recheck.sh
tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh

index 829186e..7f1ff1a 100755 (executable)
@@ -35,7 +35,7 @@ configfile=`echo $i | sed -e 's/^.*\///'`
 ncs=`grep "Writes:  Total:" $i/console.log 2> /dev/null | tail -1 | sed -e 's/^.* Total: //' -e 's/ .*$//'`
 if test -z "$ncs"
 then
-       echo $configfile
+       echo "$configfile -------"
 else
        title="$configfile ------- $ncs acquisitions/releases"
        dur=`sed -e 's/^.* locktorture.shutdown_secs=//' -e 's/ .*$//' < $i/qemu-cmd 2> /dev/null`
index d75b1dc..307c4b9 100755 (executable)
@@ -35,7 +35,7 @@ configfile=`echo $i | sed -e 's/^.*\///'`
 ngps=`grep ver: $i/console.log 2> /dev/null | tail -1 | sed -e 's/^.* ver: //' -e 's/ .*$//'`
 if test -z "$ngps"
 then
-       echo $configfile
+       echo "$configfile -------"
 else
        title="$configfile ------- $ngps grace periods"
        dur=`sed -e 's/^.* rcutorture.shutdown_secs=//' -e 's/ .*$//' < $i/qemu-cmd 2> /dev/null`
index 26d78b7..ee1f6ca 100755 (executable)
@@ -25,6 +25,7 @@
 # Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
 
 PATH=`pwd`/tools/testing/selftests/rcutorture/bin:$PATH; export PATH
+. tools/testing/selftests/rcutorture/bin/functions.sh
 for rd in "$@"
 do
        firsttime=1
@@ -39,13 +40,24 @@ do
                fi
                TORTURE_SUITE="`cat $i/../TORTURE_SUITE`"
                kvm-recheck-${TORTURE_SUITE}.sh $i
-               configcheck.sh $i/.config $i/ConfigFragment
-               parse-build.sh $i/Make.out $configfile
-               parse-torture.sh $i/console.log $configfile
-               parse-console.sh $i/console.log $configfile
-               if test -r $i/Warnings
+               if test -f "$i/console.log"
                then
-                       cat $i/Warnings
+                       configcheck.sh $i/.config $i/ConfigFragment
+                       parse-build.sh $i/Make.out $configfile
+                       parse-torture.sh $i/console.log $configfile
+                       parse-console.sh $i/console.log $configfile
+                       if test -r $i/Warnings
+                       then
+                               cat $i/Warnings
+                       fi
+               else
+                       if test -f "$i/qemu-cmd"
+                       then
+                               print_bug qemu failed
+                       else
+                               print_bug Build failed
+                       fi
+                       echo "   $i"
                fi
        done
 done
index 2301982..2bfdb48 100755 (executable)
@@ -112,6 +112,7 @@ then
        fi
 else
        cp $builddir/Make*.out $resdir
+       cp $builddir/.config $resdir || :
        echo Build failed, not running KVM, see $resdir.
        if test -f $builddir.wait
        then