1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #!/bin/bash
- #
- # Given the results directories for previous KVM-based torture runs,
- # check the build and console output for errors. Given a directory
- # containing results directories, this recursively checks them all.
- #
- # Usage: kvm-recheck.sh resdir ...
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, you can access it online at
- # http://www.gnu.org/licenses/gpl-2.0.html.
- #
- # Copyright (C) IBM Corporation, 2011
- #
- # 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
- dirs=`find $rd -name Make.defconfig.out -print | sort | sed -e 's,/[^/]*$,,' | sort -u`
- for i in $dirs
- do
- if test -n "$firsttime"
- then
- firsttime=""
- resdir=`echo $i | sed -e 's,/$,,' -e 's,/[^/]*$,,'`
- head -1 $resdir/log
- fi
- TORTURE_SUITE="`cat $i/../TORTURE_SUITE`"
- kvm-recheck-${TORTURE_SUITE}.sh $i
- if test -f "$i/console.log"
- then
- configcheck.sh $i/.config $i/ConfigFragment
- if test -r $i/Make.oldconfig.err
- then
- cat $i/Make.oldconfig.err
- fi
- parse-build.sh $i/Make.out $configfile
- if test "$TORTURE_SUITE" != rcuperf
- then
- parse-torture.sh $i/console.log $configfile
- fi
- 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
- echo " $i"
- elif test -f "$i/buildonly"
- then
- echo Build-only run, no boot/test
- configcheck.sh $i/.config $i/ConfigFragment
- parse-build.sh $i/Make.out $configfile
- else
- print_bug Build failed
- echo " $i"
- fi
- fi
- done
- done
|