|
Boost : |
From: Gennadiy Rozental (gennadiy.rozental_at_[hidden])
Date: 2005-12-14 12:40:48
Hi,
As most of you know Boost.Test did not support DLL build for NT platform.
The primary reasons were:
* DLL should have all symbols resolved
* main couldn't reside in DLL
On the other hand shared libraries work as expected on *NIXes. To support
the DLL build on NT I introduced different initialization scheme for dynamic
build. With new scheme there no need for dll version of Test Exec Monitor.
Unit Test framework should be used instead.
Now Boost.Test supports DLL build it could also be properly used from
within other DLLs. This should fix two open bug reports in this regard. Also
this facility allowed to build stand alone test runner for tests build into
DLLs. New tool is named: boost_test_runner. To use it one should build the
test into DLL linking with DLL version of Unit Test framework. Now the test
could be invoked like this:
boost_test_runner --test <test_library> <rest of parameters for unit test>.
boost_test_runner will load the library, invoke init function and if it
succeed starts the testing.
There is one important point that I would like to hear boosters opinion on:
New API is incompatible with old one. What that mean is that users of shared
libraries on platforms that were supporting building .so before will
experience failures when switched to next release. But on the other hand I
would prefer to keep the same semantics for all shared library users (both
on NT and *NIXes). What should be preferred?
Another question is: where boost_test_runner should reside?
Regards,
Gennadiy
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk