blob: e25f02dcfb26f9b4e99008bb5cf75b4f97790251 [file] [log] [blame]
#!/bin/sh
EXEC_PATH="`dirname $0`"
BUILD_TYPE="$1"
RA_TYPE="$2"
BUILD_STAT="$3"
# Source the configuration file.
. "$EXEC_PATH/svntest-config.sh"
# Compute local vars
LOG_FILE="$LOG_FILE_PREFIX.$BUILD_TYPE"
TEST="`$GUESS` $BUILD_TYPE"
REV="`$SVN st -v $SVN_REPO/README | $CUT -c 12-17 | $SED -e 's/^ *//'`"
test -z "$RA_TYPE" || {
LOG_FILE="$LOG_FILE.$RA_TYPE"
TEST="$TEST $RA_TYPE"
}
# The log file must exist
if [ ! -f $LOG_FILE ]
then
$SENDMAIL -t <<EOF
From: $FROM
Subject: "ERROR: svn rev $REV ($TEST)
To: $ERROR_TO
Missing log file: $LOG_FILE
EOF
exit 1
fi
# The status may only be PASS or FAIL
if [ "$BUILD_STAT" != "PASS" -a "$BUILD_STAT" != "FAIL" ]
then
$SENDMAIL -t <<EOF
From: $FROM
Subject: "ERROR: svn rev $REV ($TEST)
To: $ERROR_TO
Invalid build status: $BUILD_STAT
EOF
exit 1
fi
# Send the status mail
MAILFILE="/tmp/svntest.$$"
if [ "$BUILD_STAT" = "PASS" ]
then
$CAT <<EOF > "$MAILFILE"
From: $FROM
Subject: svn rev $REV: $BUILD_STAT ($TEST)
Reply-To: $REPLY_TO
To: $TO
EOF
$CAT "$LOG_FILE" >> "$MAILFILE"
else
TESTS_LOG_FILE="$TEST_ROOT/tests.$BUILD_TYPE.$RA_TYPE.log.gz"
$CAT <<EOF > "$MAILFILE"
From: $FROM
Subject: svn rev $REV: $BUILD_STAT ($TEST)
Reply-To: $REPLY_TO
To: $TO
Content-Type: multipart/mixed; boundary="------------NextPart"
This is a multi-part message in MIME format.
--------------NextPart
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 8bit
EOF
$CAT "$LOG_FILE" >> "$MAILFILE"
$CAT <<EOF >> "$MAILFILE"
--------------NextPart
Content-Type: application/x-gzip; name="tests.log.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="tests.log.gz"
EOF
$BASE64_E < "$TESTS_LOG_FILE" >> "$MAILFILE"
$RM_F "$TESTS_LOG_FILE"
$CAT <<EOF >> "$MAILFILE"
--------------NextPart--
EOF
fi
$SENDMAIL -t < "$MAILFILE"
$RM_F "$MAILFILE"