Boost logo

Boost :

Subject: Re: [boost] [Test][Thread] Regression since 9 December?
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2015-01-12 18:29:47


Hi Raffi,

Raffi Enficiaud wrote:
> No the problem generated a compile-time failure as, by the chain of
> dependencies, it turned out that static and dynamic link to boost.system was
> requested.
> The faulty part was an explicit link to the static version of boost.test in
> the jamfile while compiling the shared variant. Since both boost.thread and
> boost.test depend on chrono (boost.thread directly and boost.test through
> timer), it ended up to a clash for the shared variant tests of boost.thread.
>
> See
> https://github.com/boostorg/test/commit/1eaffb96ceec82882a4e947c99735a37271ce303
> and
> https://github.com/boostorg/thread/pull/38
>
> for further information and also for the explanation of why the source files
> should be changed.
>

In Boost.Geometry we doesn't use Thread or dynamically linked Test. In
most of the tests only the following headers are included:
# include <boost/test/floating_point_comparison.hpp>
# include <boost/test/included/test_exec_monitor.hpp>
# include <boost/test/impl/execution_monitor.ipp>
plus test_main() defined. AFAIU it's not required to link against Test
in this case.

To be honest I'm not sure why this was ok in the past.
Is Test static lib automatically built by bjam if e.g. import testing ;
is found in a Jamfile?
And in the past Timer was built automatically with Test but this commit
have changed it
https://github.com/boostorg/test/commit/fa6f4f34bed04e938b4020df51918c776b77402a
?

Anyway, how do you suggest libraries authors should modify the tests?
What should be the best practice for tests using minimal/header-only Test.
Should we just specify <library>/boost/timer//boost_timer or is there
some more preferable way?

Regards,
Adam


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