74 lines
1.4 KiB
Plaintext
74 lines
1.4 KiB
Plaintext
|
#! /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
|