0
|
1 #! /bin/sh
|
|
2
|
|
3 # Run one or more regression hunts
|
|
4 #
|
|
5 # The file specified as the single argument is a queue of regression
|
|
6 # hunts and/or lists of patches to test. Each entry in the file is
|
|
7 # "hunt" or "test" followed by a bugid for which there is a config
|
|
8 # file and other required files (patch list and test source file).
|
|
9 # Each line of the file is removed as it is processed, and new ones
|
|
10 # can be added while the script is still running.
|
|
11
|
|
12 #set -ex
|
|
13
|
|
14 if [ $# != 1 ]; then
|
|
15 echo "usage: $0 testfile"
|
|
16 exit 1
|
|
17 fi
|
|
18
|
|
19 REGFILE=$1
|
|
20 TMPFILE=testall.tmp
|
|
21
|
|
22 if [ ! -f $REGFILE ]; then
|
|
23 echo "$0: file $REGFILE does not exist"
|
|
24 exit 1
|
|
25 fi
|
|
26
|
|
27 RETURN_FOR_TEST=return
|
|
28 RETURN_FOR_TEST=true
|
|
29
|
|
30 . ../gcc-svn-env
|
|
31
|
|
32 hunt() {
|
|
33 id=$1
|
|
34
|
|
35 echo regression hunt for $id
|
|
36 $RETURN_FOR_TEST
|
|
37 $REG_CLEANUP
|
|
38 reg-hunt $id.config >> $id.log 2>&1
|
|
39 tail -n 1 $id.log
|
|
40 #tail -n 1 $id.log | mutt -s "reghunt for $id finished" janis187
|
|
41 }
|
|
42
|
|
43 testit() {
|
|
44 id=$1
|
|
45
|
|
46 echo testing specific dates for $id
|
|
47 $RETURN_FOR_TEST
|
|
48 $REG_CLEANUP
|
|
49 reg-test $id.config >> $id.log 2>&1
|
|
50 #mutt -s "reg-test for $id finished" janis187 < /dev/null
|
|
51 }
|
|
52
|
|
53 rm -f $REG_STOP
|
|
54
|
|
55 while
|
|
56 read WHICH ID < $REGFILE
|
|
57 do
|
|
58 if [ -f $REG_STOP ]; then
|
|
59 echo "$REG_STOP detected"
|
|
60 rm -f $REG_STOP
|
|
61 exit 1
|
|
62 fi
|
|
63
|
|
64 sed 1d < $REGFILE > $TMPFILE
|
|
65 mv $TMPFILE $REGFILE
|
|
66
|
|
67 case $WHICH in
|
|
68 hunt) hunt $ID;;
|
|
69 test) testit $ID;;
|
|
70 *) echo "unknown action $WHICH, skipping $ID";;
|
|
71 esac
|
|
72 echo
|
|
73 done
|