OSDN Git Service

* examples: New directory.
[pf3gnuchains/gcc-fork.git] / contrib / reghunt / examples / testall
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