On Fri, Jul 20, 2012 at 07:47:33AM -0700, Anne Schilling wrote:
> > We could modify the Sage Patchbot ( http://patchbot.sagemath.org/ ) to
> > test the Combinat queue automatically.
> 
> That sounds like a good idea. I would also like to have a computer set-up
> (like the new upcoming combinat.sagemath.org) with sage + sage-combinat
> queue installed. On this machine we could run the tests on the
> patches under "needing review" automatically.

+1. We want a patchbot running on our upcoming machine.

Cheers,
                                Nicolas

PS: By the way, I attach the (dumb) script I currently use to run
tests on part of the sage-combinat queue on our local server in Orsay,
and mail me the results and push the log on my account on
sagemath.org. Usage: edit the first lines, and run

        sage-combinat-test  the-patch-I-want-to-test.patch

Feel free to adapt/reuse.

--
Nicolas M. Thiéry "Isil" <nthi...@users.sf.net>
http://Nicolas.Thiery.name/

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.

#!/bin/sh

# TODO: call pyflakes on all modified files!

#EMAIL=nicolas.thi...@u-psud.fr
EMAIL_FROM=nicolas.thi...@u-psud.fr
EMAIL=sage-combinat-comm...@googlegroups.com
#MAILHOST=monge.univ-mlv.fr
#MAIL=ssh $MAILHOST mail
MAIL=mail
DIR=$HOME/sage-test/
SAGE="$DIR/sage"
LOG_DIR="sage.math.washington.edu:"
LOG_URL="http://sage.math.washington.edu/home/nthiery/";

PATCH=needs_review
if [ -n "$1" ]; then
    PATCH=$1
fi
TARGET=ptest
if [ -n "$2" ]; then
    TARGET=$2
fi

export LANG=C        # To make sure the date is english (and in particular 
without accents for the mail)

TITLE="Tests on `hostname` for Sage-Combinat tickets up to $PATCH on `date`"
BUILDLOG="$PATCH-buildlog"
DOCBUILDLOG="$PATCH-docbuildlog"
TESTLOG="$PATCH-testlog"
# Needs to be consistent with the main Sage Makefile to avoid recompiling all 
the documentation
DOCBUILD_OPTS=--no-pdf-links

cd $DIR
echo $TITLE | tee summary
$SAGE -version >> summary
echo >> summary

echo Pulling new patches
(cd devel/sage-combinat/.hg/patches; $SAGE -hg pull -u)

echo Updating guards
# This requires the new sage-combinat script; otherwise it needs to be run in 
devel/sage-combinat
$SAGE -combinat qselect

echo Unapplying patches
(cd devel/sage-combinat/; $SAGE -hg qpop -a)

echo Reinitializing the sage-combinat directory from sage-main
rsync -av --delete --exclude .hg devel/sage-main/ devel/sage-combinat/

echo Reapplying patches up to $PATCH
(cd devel/sage-combinat/; $SAGE -hg qpush $PATCH)

echo Rebuilding Sage
$SAGE -b 2>&1 | tee $BUILDLOG

scp $BUILDLOG $LOG_DIR

echo Rebuilding documentation
$SAGE -docbuild $DOCBUILD_OPTS all html 2>&1 | tee $DOCBUILDLOG
echo Running sage -coverage on the files changed by the topmost patch
(cd devel/sage-combinat/; $SAGE -coverage `$SAGE -hg qstatus -n`)  2>&1 | tee 
-a $DOCBUILDLOG

scp $DOCBUILDLOG $LOG_DIR

cat >> summary <<EOF

Warnings and errors in the reference manual:
--------------------------------------------
EOF
egrep -i "warning|error" $DOCBUILDLOG >> summary
echo >> summary

echo Running all tests
#$SAGE -testall 2>&1 | tee $TESTLOG
#$SAGE -tp 8 sage 2>&1 | tee $TESTLOG
make $TARGET 2>&1 | tee $TESTLOG

scp $TESTLOG $LOG_DIR

cat >> summary <<EOF

Tail of the test log:
---------------------
EOF

tail -30 $TESTLOG >> summary

cat >> summary <<EOF

For the full logs, see:
 - $LOG_URL$BUILDLOG
 - $LOG_URL$DOCBUILDLOG
 - $LOG_URL$TESTLOG

Applied patches:
----------------
EOF
(cd devel/sage-combinat; $SAGE -hg qapplied) >> summary

echo Mail summary
$MAIL -s "$TITLE" -a "From: $EMAIL_FROM" $EMAIL < summary

Reply via email to