aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/contrib/reghunt/examples/testall
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/contrib/reghunt/examples/testall')
-rwxr-xr-xgcc-4.9/contrib/reghunt/examples/testall73
1 files changed, 73 insertions, 0 deletions
diff --git a/gcc-4.9/contrib/reghunt/examples/testall b/gcc-4.9/contrib/reghunt/examples/testall
new file mode 100755
index 000000000..61d99e0b6
--- /dev/null
+++ b/gcc-4.9/contrib/reghunt/examples/testall
@@ -0,0 +1,73 @@
+#! /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