
Hi everybody! I got a bit rusty with C++. Can someone help me to understand how I can create a Boost.Test suite that contains test cases from multiple modules (multiple cpp files)? Lets say I have: file: ATest.cppp: ----------------------------------------------------------------------- #define BOOST_TEST_MODULE ATest #include <boost/test/included/unit_test.hpp> BOOST_AUTO_TEST_CASE(testA1) { .... } BOOST_AUTO_TEST_CASE(testA2) { .... } ----------------------------------------------------------------------- file: BTest.cppp: ----------------------------------------------------------------------- #define BOOST_TEST_MODULE BTest #include <boost/test/included/unit_test.hpp> BOOST_AUTO_TEST_CASE(testB1) { .... } BOOST_AUTO_TEST_CASE(testB2) { .... } ----------------------------------------------------------------------- Compilation passes all right. Linker gives: In function `boost::unit_test::output::compiler_log_formatter::log_finish(std::basic_ostream<char, std::char_traits<char> >&)': /usr/include/c++/4.2/bits/char_traits.h:291: multiple definition of `boost::unit_test::output::compiler_log_formatter::log_finish(std::basic_ostream<char, std::char_traits<char> >&)' I understand this error (even after 3-4 years of only Java :). So, question: Is there any way to link multiple auto test cases into one executable file? I have not found any information on this. Does it mean that if I want to have one executable that runs all my test cases I need to put/include all test case definitions into one cpp file? Thanks a lot, Leonid Shlyapnikov