|
Boost : |
Subject: Re: [boost] How to make tests building faster?
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2011-12-20 13:20:48
AMDG
On 12/20/2011 08:47 AM, Robert Ramey wrote:
> Dave Abrahams wrote:
>> on Tue Dec 20 2011, Mateusz Loskot <mateusz-AT-loskot.net> wrote:
>>
>>> Hi,
>>>
>>> I'm trying to figure out if there is anything I could do to improve
>>> compile/link-time for tests of Boost.Geometry library.
>>> Currently, the tests follow fairly canonical approach in Boost:
>>>
>>> 1) Each .cpp file defines a single test program and all local test
>>> routines are executed from test_main()
>>
>> That's your problem right there. The canonical organization is
>> unfriendly to fast test times and I would not use it for my next
>> library. It's better to put more tests together in the same
>> executable, and more in the same translation unit.
>
> Hmmm - I wouldn't be crazy about this idea. The test
> matrix reports pass/fail often with little other information
> so putting a lot of tests in to the same executable will lose
> information. In general I like the idea of compilation / test.
>
For failures, the output of the test is shown.
As long as you make sure that the test program
logs all failures, it should be fine.
> I would think that longer term the approach would be
> to permit the the tests to run simultaneously on a multi-core
> system.
>
This has been allowed forever with bjam -jXX.
> Another idea would be to make better usage of pre-compiled
> headers. These are supported by both gcc and msvc. Again
> would require non-trivial changes in build/test infrastructure.
>
Boost.Build has support for precompiled headers.
In Christ,
Steven Watanabe
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk