Retro68/gcc/contrib/reghunt/examples/testall

74 lines
1.4 KiB
Plaintext
Raw Normal View History

2012-03-27 23:13:14 +00:00
#! /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