Re: [Boost-users] Boost.Test Framework to test a DLL

Hi Ovanes, this is, why I added 'printf("Initializing\n"); to init_unit_test() in my DLL. As this is indeed printed before the error message, I think that the lib is found and loaded. Furthermore, if the lib cannot be found, I get: C:\Projekte\Test\NetControl\bin>console_test_runner --test NetCtrl.dll Boost.Test framework internal error: unknown reason So it seems that the DLL is loaded and init_unit_test() is invoked, but the test cases are not registered ... Christian ________________________________ Von: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] Im Auftrag von Ovanes Markarian Gesendet: Dienstag, 15. Jänner 2008 18:40 An: boost-users@lists.boost.org Betreff: Re: [Boost-users] Boost.Test Framework to test a DLL Is there any chance that Boost.Test can not load (find) your DLL? Try to copy console_test_runner into the directory which contains your DLL? Debug DLLs under VC++ have usually a suffix 'D' before .dll. The letter NetCtrl->d<-.dll is probably this suffix. If not, add it, so that the name is NetCtrldD.dll With Kind Regards, Ovanes On Jan 15, 2008 9:55 AM, Plonka Christian <christian.plonka@amst.co.at> wrote: Hi, I'm planning to change from CppUnit to Boost.Test for unit testing since it is now possible to integrate unit tests also in a DLL. Nevertheless I do encounter some problems here. The code is (I guess you'll recognize it): //---------------------------------------------------------------------- --- #define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> using namespace boost::unit_test; BOOST_AUTO_TEST_CASE( test1 ) // void test1() { int i = 0; BOOST_CHECK_EQUAL( i, 2 ); } BOOST_AUTO_TEST_CASE( test2 ) { BOOST_CHECKPOINT("About to force division by zero!"); int i = 1, j = 0; i = i / j; } extern "C" { __declspec(dllexport) bool init_unit_test() { printf("Initializing\n"); framework::master_test_suite().p_name.value = "Test runner test"; // framework::master_test_suite().add( BOOST_TEST_CASE( &test1 ) ); return true; } } //---------------------------------------------------------------------- --- I the sample (test_runner_test.dll) it works fine but when I use it in my DLL I get: C:\Projekte\Test\NetControl\bin>console_test_runner --test NetCtrld.dll Initializing Test setup error: test tree is empty I also tried the commented version using master_test_suite().add() without any change. Any hint what I can try or how I can debug this? Thanks, Christian _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (1)
-
Plonka Christian