diff options
author | njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2009-01-07 06:19:03 +0000 |
---|---|---|
committer | njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2009-01-07 06:19:03 +0000 |
commit | df8a11169a6ff9fd574e0894888d4f5b1d52d65b (patch) | |
tree | f42eba864824371c124e8dce9b876ac74cf3d230 /nightly | |
parent | 62647ebbda15289efd145d6ada826242281551c7 (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.txt | 7 | ||||
-rwxr-xr-x | nightly/bin/nightly | 39 |
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 |