id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 3527,Make Boost.Test more dll/so-friendly,Andrey Semashev,Gennadiy Rozental,"We've been using Boost.Test 1.40 to run unit tests for our project. The project is quite scaled and it consists from a number of shared objects (dll on Windows, so on Linux) that have to be dynamically loadable/unloadable. Some shared objects also contain self-testing code based on Boost.Test (with auto-test cases, exception translators, fixtures, checking macros, etc.) that is run by our own means (eventually, it comes down to call to boost::unit_test::unit_test_main). All such dlls are linked to Boost.Test dynamically. The problem is that after the tests are run and our dlls are unloaded Boost.Test fails to deinitialize as it still refers to resources in the unloaded modules. For example, it doesn't automatically unregister test cases and exception translators which refer to code in the unloaded modules. The problem with test cases and suites can be solved on our side by manually calling framework::clear before unloading any modules, but I see no such workaround for exception translators as they are registered in the unit_test_monitor_t singleton which doesn't allow to release the pointer to the translators. Automatic resource releasing on module unloading would be most useful in my case. Test cases and suites can be automatically unregistered by auto_test_unit_registrar destructor. Exception translators may require a bit more efforts but this is doable, too. ",Feature Requests,closed,Boost 1.41.0,test,Boost 1.40.0,Problem,fixed,test dll so,