diff contrib/reghunt/examples/testall @ 0:a06113de4d67

first commit
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 17 Jul 2009 14:47:48 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/reghunt/examples/testall	Fri Jul 17 14:47:48 2009 +0900
@@ -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