[test] DLL support, boost_test_runner

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
participants (1)
-
Gennadiy Rozental