| #! /bin/sh |
| |
| # Run one or more regression hunts |
| # |
| # The file specified as the single argument is a queue of regression |
| # hunts and/or lists of patches to test. Each entry in the file is |
| # "hunt" or "test" followed by a bugid for which there is a config |
| # file and other required files (patch list and test source file). |
| # Each line of the file is removed as it is processed, and new ones |
| # can be added while the script is still running. |
| |
| #set -ex |
| |
| if [ $# != 1 ]; then |
| echo "usage: $0 testfile" |
| exit 1 |
| fi |
| |
| REGFILE=$1 |
| TMPFILE=testall.tmp |
| |
| if [ ! -f $REGFILE ]; then |
| echo "$0: file $REGFILE does not exist" |
| exit 1 |
| fi |
| |
| RETURN_FOR_TEST=return |
| RETURN_FOR_TEST=true |
| |
| . ../gcc-svn-env |
| |
| hunt() { |
| id=$1 |
| |
| echo regression hunt for $id |
| $RETURN_FOR_TEST |
| $REG_CLEANUP |
| reg-hunt $id.config >> $id.log 2>&1 |
| tail -n 1 $id.log |
| #tail -n 1 $id.log | mutt -s "reghunt for $id finished" janis187 |
| } |
| |
| testit() { |
| id=$1 |
| |
| echo testing specific dates for $id |
| $RETURN_FOR_TEST |
| $REG_CLEANUP |
| reg-test $id.config >> $id.log 2>&1 |
| #mutt -s "reg-test for $id finished" janis187 < /dev/null |
| } |
| |
| rm -f $REG_STOP |
| |
| while |
| read WHICH ID < $REGFILE |
| do |
| if [ -f $REG_STOP ]; then |
| echo "$REG_STOP detected" |
| rm -f $REG_STOP |
| exit 1 |
| fi |
| |
| sed 1d < $REGFILE > $TMPFILE |
| mv $TMPFILE $REGFILE |
| |
| case $WHICH in |
| hunt) hunt $ID;; |
| test) testit $ID;; |
| *) echo "unknown action $WHICH, skipping $ID";; |
| esac |
| echo |
| done |