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