diff options
Diffstat (limited to 'tools/dev/benchmarks/suite1/cronjob')
-rwxr-xr-x | tools/dev/benchmarks/suite1/cronjob | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tools/dev/benchmarks/suite1/cronjob b/tools/dev/benchmarks/suite1/cronjob new file mode 100755 index 0000000..ca8b632 --- /dev/null +++ b/tools/dev/benchmarks/suite1/cronjob @@ -0,0 +1,78 @@ +#!/bin/bash +# This is the cronjob as run on our ASF box aka svn-qavm. +# It uses neels' mad bash script magic called 'pat' to update and +# build the latest trunk, invokes a benchmark and sends as mail. + +#EMAILS=your@email.addresses +EMAILS="" + +if [ "$USER" = "neels" ]; then + # I don't want to keep editing files after every update. ~Neels + EMAILS=dev@subversion.apache.org +fi + + +echo +echo "--------------------------------------------------------------------" +date +echo + +results="$(tempfile)" + + +# first update trunk to HEAD and rebuild. +# update/build is logged to the cronjob log (via stdout) + +cd /home/neels/pat/trunk +/home/neels/bin/pat update + +if [ "$?" -ne "0" ]; then + subject="Failed to update to HEAD." + echo "$subject" > "$results" + echo "$subject" +else + + rev="$(svn info /home/neels/pat/trunk/src | grep Revision)" + if [ -z "$rev" ]; then + subject="Working copy problem." + echo "$subject" > "$results" + echo "$subject" + else + + /home/neels/bin/pat remake + if [ "$?" -ne "0" ]; then + subject="Failed to build $rev." + echo "$subject" > "$results" + echo "$subject" + else + + + # updating and building succeeded! + # run the benchmark: + + compiled="$(/home/neels/pat/trunk/prefix/bin/svn --version | grep "compiled")" + subject="$rev$compiled" + + cd /home/neels/svnbench/ + + # make more or less sure that runs don't leak into each other via + # I/O caching. + sync + + # basically, just run it. But also, I want to + # - append output to stdout, for cronjob logging. + # - send output as mail, but only this run's output less update&build + "$(which time)" -p ./run 2>&1 | tee "$results" + + fi + fi +fi + +if [ -n "$EMAILS" ]; then + cat "$results" | mail -s "[svnbench] $subject" $EMAILS +else + echo "No email addresses configured." +fi + +rm "$results" + |