Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / tools / testing / selftests / rcutorture / bin / kvm-recheck.sh
1 #!/bin/bash
2 #
3 # Given the results directories for previous KVM-based torture runs,
4 # check the build and console output for errors.  Given a directory
5 # containing results directories, this recursively checks them all.
6 #
7 # Usage: kvm-recheck.sh resdir ...
8 #
9 # This program is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
13 #
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, you can access it online at
21 # http://www.gnu.org/licenses/gpl-2.0.html.
22 #
23 # Copyright (C) IBM Corporation, 2011
24 #
25 # Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
26
27 PATH=`pwd`/tools/testing/selftests/rcutorture/bin:$PATH; export PATH
28 . tools/testing/selftests/rcutorture/bin/functions.sh
29 for rd in "$@"
30 do
31         firsttime=1
32         dirs=`find $rd -name Make.defconfig.out -print | sort | sed -e 's,/[^/]*$,,' | sort -u`
33         for i in $dirs
34         do
35                 if test -n "$firsttime"
36                 then
37                         firsttime=""
38                         resdir=`echo $i | sed -e 's,/$,,' -e 's,/[^/]*$,,'`
39                         head -1 $resdir/log
40                 fi
41                 TORTURE_SUITE="`cat $i/../TORTURE_SUITE`"
42                 kvm-recheck-${TORTURE_SUITE}.sh $i
43                 if test -f "$i/console.log"
44                 then
45                         configcheck.sh $i/.config $i/ConfigFragment
46                         parse-build.sh $i/Make.out $configfile
47                         parse-torture.sh $i/console.log $configfile
48                         parse-console.sh $i/console.log $configfile
49                         if test -r $i/Warnings
50                         then
51                                 cat $i/Warnings
52                         fi
53                 else
54                         if test -f "$i/qemu-cmd"
55                         then
56                                 print_bug qemu failed
57                                 echo "   $i"
58                         elif test -f "$i/buildonly"
59                         then
60                                 echo Build-only run, no boot/test
61                                 configcheck.sh $i/.config $i/ConfigFragment
62                                 parse-build.sh $i/Make.out $configfile
63                         else
64                                 print_bug Build failed
65                                 echo "   $i"
66                         fi
67                 fi
68         done
69 done