summaryrefslogtreecommitdiff
path: root/nightly
diff options
context:
space:
mode:
authornjn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9>2009-01-07 06:19:03 +0000
committernjn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9>2009-01-07 06:19:03 +0000
commitdf8a11169a6ff9fd574e0894888d4f5b1d52d65b (patch)
treef42eba864824371c124e8dce9b876ac74cf3d230 /nightly
parent62647ebbda15289efd145d6ada826242281551c7 (diff)
Index: nightly/bin/nightly
- Check that it is passed two arguments, abort if not (avoids some possibly confusing behaviour). - Remove various uses of $ABT_TOP in paths; it's not necessary because the first thing the script does is 'cd' to $ABT_TOP. Furthemore, some paths lacked the $ABT_TOP which was confusing. - Gather up all the diffs from the tests, grab the first 100 lines (or less, if shorter) of each, and concatenate into a file, the name of which is passed to the <tag>.sendmail script so it can be attached. Index: nightly/README.txt Explain the new 3rd argument. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8915 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'nightly')
-rw-r--r--nightly/README.txt7
-rwxr-xr-xnightly/bin/nightly39
2 files changed, 39 insertions, 7 deletions
diff --git a/nightly/README.txt b/nightly/README.txt
index 76ab6ca3..b3817fe3 100644
--- a/nightly/README.txt
+++ b/nightly/README.txt
@@ -9,7 +9,7 @@ existing tree.
To use, choose a tag, probably a machine name, and run
- bin/nightly /path/to/valgrind/nightly <tag>
+ bin/nightly /path/to/valgrind/nightly/ <tag>
and supply the following two config files:
@@ -29,4 +29,7 @@ and supply the following two config files:
- conf/<tag>.sendmail: this should be a script that sends an email to the
desired recipient (eg. the valgrind-developers list). It must take two
command line arguments. The first is the email subject line, the second
- is the email's body.
+ is the name of the file containing the email's body (showing the tests
+ that failed, and the difference between now and 24 hours ago), the third
+ is the name of the file containing all the diffs (which can be made into
+ an attachment, for example).
diff --git a/nightly/bin/nightly b/nightly/bin/nightly
index cc6c49be..42152230 100755
--- a/nightly/bin/nightly
+++ b/nightly/bin/nightly
@@ -39,6 +39,12 @@ runcmd () {
#----------------------------------------------------------------------------
# Startup
#----------------------------------------------------------------------------
+# Must have at two arguments
+if [ $# -ne 2 ] ; then
+ echo "usage: bin/night /path/to/valgrind/nightly <tag>"
+ exit 1
+fi
+
# Get args from command line
ABT_TOP=$1
ABT_MACHINE=$2
@@ -51,7 +57,8 @@ svn_new_date=`date --date=today +%Y-%m-%dT%H:%M:%S`
cd $ABT_TOP
-source $ABT_TOP/conf/$ABT_MACHINE.conf
+# Setup any relevant environment variables from conf/<tag>.conf.
+source conf/$ABT_MACHINE.conf
if [ "${ABT_JOBS}" = "" ]; then
ABT_JOBS=1
fi
@@ -92,7 +99,7 @@ for logfile in old new ; do
\
runcmd $logfile \
"Configuring valgrind " \
- "cd valgrind && ./autogen.sh && ./configure --prefix=$ABT_TOP/Inst ${ABT_CONFIGURE_OPTIONS}" && \
+ "cd valgrind && ./autogen.sh && ./configure --prefix=`pwd`/Inst ${ABT_CONFIGURE_OPTIONS}" && \
\
runcmd $logfile \
"Building valgrind " \
@@ -155,7 +162,29 @@ if [ $changed != 0 ] ; then
echo >> final
fi
-# Email the results
-$ABT_TOP/conf/$ABT_MACHINE.sendmail \
+# Gather up the diffs (at most the first 100 lines for each one) into a
+# single file.
+MAX_LINES=100
+rm -f diffs
+diff_files=`find . -name '*.diff'`
+if [ z"$diff_files" = z ] ; then
+ echo "Congratulations, all tests passed!" >> diffs
+else
+ for i in $diff_files ; do
+ echo "=================================================" >> diffs
+ echo $i >> diffs
+ echo "=================================================" >> diffs
+ if [ `wc -l < $i` -le $MAX_LINES ] ; then
+ cat $i >> diffs
+ else
+ head -$MAX_LINES $i >> diffs
+ echo "<truncated beyond $MAX_LINES lines>" >> diffs
+ fi
+ done
+fi
+
+# Use the conf/<tag>.sendmail script to email the results.
+conf/$ABT_MACHINE.sendmail \
"$ABT_START nightly build ($ABT_MACHINE, $ABT_DETAILS)" \
- $ABT_TOP/final
+ final \
+ diffs