--- a/Admin/isatest-makeall Tue Jul 09 10:44:53 2002 +0200
+++ b/Admin/isatest-makeall Tue Jul 09 11:46:36 2002 +0200
@@ -14,6 +14,10 @@
MASTERLOG=$LOGPREFIX/isatest.log
+TMP=/tmp/isatest-makeall.$$
+
+MAIL=~/bin/pmail
+
## diagnostics
PRG="$(basename "$0")"
@@ -47,6 +51,8 @@
[ -d $DISTPREFIX ] || fail "$DISTPREFIX is not a directory."
+LOGS=""
+
for SETTINGS in $@; do
[ -r $SETTINGS ] || fail "Cannot read $SETTINGS."
@@ -62,29 +68,18 @@
echo ------------------- starting test --- `date` --- $HOSTNAME > $TESTLOG 2>&1
- cp $DISTPREFIX/Isabelle/etc/settings $DISTPREFIX/Isabelle/etc/settings.save-$SHORT
cat $SETTINGS >> $DISTPREFIX/Isabelle/etc/settings
- $DISTPREFIX/Isabelle/bin/isatool makeall all >> $TESTLOG 2>&1
+ nice $DISTPREFIX/Isabelle/bin/isatool makeall -j 2 all >> $TESTLOG 2>&1
if [ $? -eq 0 ]
then
echo ------------------- test successful --- `date` --- $HOSTNAME >> $TESTLOG 2>&1
- mv $DISTPREFIX/Isabelle/etc/settings.save-$SHORT $DISTPREFIX/Isabelle/etc/settings
gzip -f $TESTLOG
rm -rf ~/isabelle-$SHORT
else
echo ------------------- test FAILED --- `date` --- $HOSTNAME >> $TESTLOG 2>&1
FAIL="$FAIL$SHORT "
- for R in $MAILTO; do
- mail -t $R <<EOM
-Subject: isabelle test failed
-
-Test for platform $SHORT failed. Log file available at
-
-$HOSTNAME:$TESTLOG
-EOM
- done
- # more action here
+ LOGS="${LOGS}$HOSTNAME:$TESTLOG\n"
fi
done
@@ -93,6 +88,16 @@
if [ "$FAIL" != "" ]; then
echo "$(date) $HOSTNAME $PRG: targets ${FAIL}FAILED, elapsed time $ELAPSED." >> $MASTERLOG
+
+ echo "Test for platform(s) ${FAIL}failed. Log file(s) available at" > $TMP
+ echo "$LOGS" >> $TMP
+
+ for R in $MAILTO; do
+ $MAIL "isabelle test failed" $R $TMP
+ done
+
+ rm $TMP
+
exit 1
else
echo "$(date) $HOSTNAME $PRG: all tests successful, elapsed time $ELAPSED." >> $MASTERLOG
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/pmail Tue Jul 09 11:46:36 2002 +0200
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+#
+# $Id$
+# Author: Gerwin Klein, TU Muenchen
+# License: GPL (GNU GENERAL PUBLIC LICENSE)
+#
+# DESCRIPTION: send email platform independently.
+
+PRG="$(basename "$0")"
+
+function usage()
+{
+ echo
+ echo "Usage: $PRG subject recipient body"
+ echo
+ echo " Send email platform independently. Body is a file."
+ echo
+ exit 1
+}
+
+function fail()
+{
+ echo "$1" >&2
+ exit 2
+}
+
+## main
+
+# argument checking
+
+[ "$1" = "-?" ] && usage
+[ "$#" != "3" ] && usage
+
+SUBJECT=$1
+TO=$2
+BODY=$3
+
+[ -r $BODY ] || fail "could not read $BODY"
+
+case `uname` in
+ Linux*)
+ mail -s "$SUBJECT" $TO <$BODY
+ ;;
+
+ SunOS*)
+ mail -t $TO <<EOF
+Subject: $SUBJECT
+
+`cat $BODY`
+EOF
+ ;;
+
+ *)
+ fail "unkown platform"
+ ;;
+esac