Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-04-10 03:27:22


David Abrahams wrote:
> ----- Original Message -----
> From: "Vladimir Prus" <ghost_at_[hidden]>
>
> > The only big problem is that path to bjam is hardcoded in
> > BoostBuild.py, so you'd need to change it manually. Before fixing it,
> > let's decide what we want. Will it be ok to just run whatever "bjam"
> > happens to be in path? Or we should run the version in the current
> > working copy? The latter seems better.
>
> What do you mean by the latter? We are not checking executables into the
> CVS... We could try to put the apporopriate jam build directory at the
> head of the path before searching the path for bjam...

I meant that we should assume that jam has been already built in the current
working copy and invoke that binary. This way we'll be sure that we test
against the version of jam that is in CVS.

> However, note that on my system "bjam" in the path is a .bat file which
> eventually invokes the .exe.

Is it possible to reconcile you bat file with approach I propose above? Is
there any reason why tests can't execute bjam binary directly?

> > Also please note that matching jam output is complicated by the fact
> > that jam adds trailing whitespaces. We'll need to do something about it,
> > e.g. fixing jam.
>
> I'm still not convinced that it's a problem... unless perhaps you're
> saying that it causes the tests to be more complicated than neccessary?

Yep... trailing whitespaces are terrible in general.

> If so, I agree. Why don't you just apply the patch you posted to the
> jamming list last week?

Okay... I'll apply it and then will write a wrap project-test1.jam in a test
which will just check the output.

> ---- results ----
>
> python tests/test1.py runs without any output
>
> cd c:/boost/tools/build/test/
> python tests/test2.py
> Traceback (most recent call last):
> File "c:\boost\tools\build\test\tests/test2.py", line 8, in ?
> t.set_tree("test2")
> File "c:\boost\tools\build\test\BoostBuild.py", line 58, in set_tree
> shutil.copytree(tree_location, self.workdir)
> File "c:\tools\Python-2.2\lib\shutil.py", line 91, in copytree
> names = os.listdir(src)
> WindowsError: [Errno 3] The system cannot find the path specified:
> 'c:\\boost\\tools\\build\\test\\test2/*.*'

Strange! Are you sure that the "test2" directory really exists? I'm using
Windows 2000 and Python 2.2 and t.set_tree("test2") calls works OK. There are
problems later, however, which I will investigate later this day.

> I think it's important that any testing system supplies a verbose mode,
> so you can watch it actually do something, even when it succeeds. A
> successful test that gives no feedback is a little unsatisfying ;-)

I understand and hope to gradually improve usability.

- Volodya

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk