Re: Further adventures in the land of 64-bit linux

Per Cederqvist <[email protected]> 14 Sep 2002 21:06:48 +0200
Newsgroups gmane.comp.python.snake-farm.user
Message-ID <[email protected]>
Anders Qvist <[email protected]> writes:

> On Sat, Sep 14, 2002 at 01:06:50PM -0400, Guido van Rossum wrote:
> > > On Fri, Sep 13, 2002 at 08:42:03PM -0400, Guido van Rossum wrote:
> > > > But Python is compiled with -DNDEBUG (unless you request a debug build
> > > > with "configure --with-pydebug") so the assert() is not executed.
> > > 
> > > Maybe the farm should compile with pydebugging?
> > 
> > Ideally, there should be separate compilation runs with and without
> > debugging.  Some things only break in a non-debug run, some bugs are
> > only detected (or detected earlier or diagnosed clearlier) in a
> > debugging run.
> > 
> > It might be worth it to try more variations too, e.g. the 2-byte and
> > 4-byte Unicode options.
> 
> I've been thinking about this. We might want to have a separate
> project in xenofarm that cycles through "odd" builds. On one pass, we
> build wit debugging, on the next we build with UCS4, and so on.
> -- 
> Anders "Quest" Qvist

Why complicate things like that?  You can build the same version in
several different ways, like this:

test: default   	./create-response.sh
test: coverage   	./create-response.sh --cfg "--with-debug-calls"
test: valgrind-cov	./create-response.sh --cfg "CC='gcc -V 3.0.4' --without-optimization --with-valgrind --with-debug-calls --disable-malloc-guards"
test: valgrind-std	./create-response.sh --cfg "CC='gcc -V 3.0.4' --without-optimization --with-valgrind"

(Of course, you have to modifiy create-response so that it handles the
--cfg option;
http://www.lysator.liu.se/xenofarm/lyskom-server/builds/latest
contains the example I currently use.)

If I'm not misinformed, you can now have test lines that are run on a
specific host only:

test: default   	./create-response.sh
test-moria: coverage   	./create-response.sh --cfg "--with-debug-calls"

This would run the default test on all hosts, and the coverage version
on only moria.  This way the fast and/or dedicated computers could
build many variants, while the computers that are also used for other
purposes can run only the default build.

    /ceder