
"David Abrahams" <dave@boost-consulting.com> wrote in message news:uekaropha.fsf@boost-consulting.com...
"Gennadiy Rozental" <gennadiy.rozental@thomson.com> writes:
I just tried to compile something with the test library and two translation units. Boom! It was this definition, which appears in boost/test/impl/execution_monitor.ipp.
I wonder which Boost.Test componenent were you using?
Well, minimal test, and I now know it applies only to single TUs, but the bug would apply to multiple TUs.
Actually none of the Boost.Test inline components are supposed to be used for multiple testing modules (all supply main function()). So I do not think any fix is required.
I'm sorry, but when I look at the documentation for execution_monitor, I don't see "don't use this in multiple TUs." What am I missing?
Nothing prevent you from using execution_monitor as a library with multiple TU. Inlined versions of Boost.Test components are intended just as a shortcuts to avoid linking in simple cases where header only solution is preferable. If you are using multiple TU based testing I don't think it should be considered as a "simple case" and linking with the library could be afforded. If you believe it's important for inlined version of execution_monitor component (by itself) to be usable in multiple TU situation (which I don't really recommend - it brings a lot of dependencies with it especially on windows) I am open for discussion, but 1. It wouldn't help you with any of existing inlined Boost.Test components 2. It's more like a new feature than bug fix and could wait till after release. Gennadiy