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