Boost logo

Boost :

Subject: Re: [boost] bjam in lib/<x>/test is equivalent to run.py
From: David Abrahams (dave_at_[hidden])
Date: 2010-11-04 20:58:15


At Thu, 04 Nov 2010 12:31:08 -0500,
Jim Bell wrote:
>
> Compelled as I am to audit everything, I had to compare running bjam in
> the lib/<x>/test directory with run.py.
>
> I'm confident that they do produce (essentially) the same compile, link,
> and execute commands.
>
> Notes, from a regression-runner's POV:
> * They use different directories: run.py uses
> {boost-root}/../results/bin.v2/..., and bjam uses
> {boost-root}/bin.v2/...

You can change where bjam puts it with --build-dir. Of course, that's
what run.py does.

> * run.py sets up bjam with a lot of flags, like
> --debug-configuration [shouldn't matter for most people]
> -d2 [important for many, described below]

Not when testing, really. Any build command that fails will be dumped
even without -d2

> -lxxx [that's lower-case L, with a time-out in seconds:
> potentially important]

If you want to run the tests unattended, maybe

> preserve-test-targets=off [not sure if this matters or not]

You might want it on for repeated build/test/debug cycles.

> * run.py runs from the boost/status directory, I think. Might matter for
> some tests. Not sure about straight bjam.

Should not matter.

> To make your own script to rebuild/rerun a particular test, run bjam
> with -d+2 (i.e., -d2) and direct the output to a file. Then copy the
> compile & link commands out of that file.

I think you may want to add -a. Using -o to specify the file is
cleaner, or if you want to use -d2 then also add -n.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk