[Python-Dev] automated builds and tests

Neal Norwitz nnorwitz at gmail.com
Tue Jan 3 02:27:13 CET 2006


I've updated the script that builds python and the docs, runs the
tests, and copies everything up to docs.python.org.  Currently, this
only works for the trunk.  I'm not sure if there's much of a benefit
to set this up for branch(es) also.

The docs are here:
  http://docs.python.org/dev/

The results of the build are here:
  http://docs.python.org/dev/results/

The script is checked in to Misc/build.sh.

If the script is modified, it doesn't pick up the changes until the
next run.  There is a hook to pickup the changes on each run, but I
didn't finish that.  Look for one of the several FIXMEs.

A brief description of what the script does is:
  svn up ; ./configure ; make ; make test ; make install ; cd Doc ; make ; rsync

Below is a description of everything that's done in the script.  Most
commands are checked for errors and the results are emailed iff there
are problems.  Right now I'm the only one that gets spammed.  This ran
all last week without any problems.  I made a bunch of changes and
probably sometime this week, I'll change the mail to go to
python-checkins.

svn update
svn status
./configure --prefix=$INSTALL_DIR --with-pydebug
make | grep warning
if make fails, goto building docs
make install
make test | grep fail
./python ./Lib/test/regrtest.py -R 4:3:$REFLOG -u network | grep leak
./python -E -tt ./Lib/test/regrtest.py -uall -x test_curses
test_linuxaudiodev test_ossaudiodev | grep fail

cd Doc ; make

rsync doc
rsync build results

---

test_curses is ignored because this script is run from cron and there
is no terminal.  The test stops prematurely.  The sound tests are
ignored because the sound device is not configured on this computer.

Some of the failure counts are off because it does a simple grep and
make test runs everything twice.  I've generally tried to filter out
stuff we don't care about.

There is potential for the tests to fail due to them running at the
same time as the buildbot test run.  These tests are run every 12
hours.  It currently takes over 1.25 hours to build and run
everything.  There is no make clean step for either the code or doc,
perhaps there should be?

n


More information about the Python-Dev mailing list