boinc/testbase

52 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
## $Id$
# Automate a clean check out, make all, check, distcheck. On error, complain
# to stdout and return 1. Suitable for a cron job.
# need to set PATH because we might be running from a cron job.
# on our Solaris servers, cvs is in /opt/misc/bin
if [ -d /disks/asimov ]; then
PATH=/disks/philmor/a/users/quarl/local/Node-SOLARIS/bin:/disks/philmor/a/users/quarl/local/bin:/disks/philmor/a/users/quarl/bin:/usr/local/gcc/bin:/usr/local/gdb/bin:/usr/ccs/bin:/usr/local/cygnus:/disks/milkyway/a/users/anderson/seti/bin:/disks/cyclops/c/users/seti/s4/siren/bin:/disks/cyclops/c/users/seti/s4/siren/scripts:/disks/cyclops/c/users/seti/s4/siren/scripts/s4pipeline:/opt/misc/bin:/usr/ucb:/usr/bin:/usr/sbin:/usr/openwin/bin:/usr/dt/bin:/opt/misc/rsi/idl/bin:/opt/misc/lib/teTeX/bin:/disks/asimov/a/lang/gcc/bin:.:/usr/local/sbin:/usr/local/bin:/sbin:/usr/games
export PATH
fi
CHECKOUT="CVSROOT=/usr/local/warez/cvsroot cvs co boinc"
TMPDIR=/tmp/testbase
die()
{
echo "ERROR in testbase on `hostname`:"
echo "$1"
[ "$2" ] && cat "$2"
exit 1
}
reqeval()
{
eval "$1" || die "error executing: $1"
}
reqeval_log()
{
eval "$1" > $2 2>&1 || die "error executing: $1" $2
}
if [ -z "$USER" ]; then
USER=$LOGNAME
export USER
fi
chmod -R u+w $TMPDIR 2>/dev/null
reqeval "rm -rf $TMPDIR"
reqeval "mkdir -p $TMPDIR"
reqeval "cd $TMPDIR"
reqeval_log "$CHECKOUT" checkout.log
reqeval "cd boinc"
reqeval_log "./configure" configure.log
reqeval_log "make all" make_all.log
reqeval_log "make check" make_check.log
# reqeval_log "make distcheck" make_distcheck.log