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 14if [ $# != 1 ]; then 15 echo "usage: $0 testfile" 16 exit 1 17fi 18 19REGFILE=$1 20TMPFILE=testall.tmp 21 22if [ ! -f $REGFILE ]; then 23 echo "$0: file $REGFILE does not exist" 24 exit 1 25fi 26 27RETURN_FOR_TEST=return 28RETURN_FOR_TEST=true 29 30. ../gcc-svn-env 31 32hunt() { 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 43testit() { 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 53rm -f $REG_STOP 54 55while 56 read WHICH ID < $REGFILE 57do 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 73done 74