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_AUTO_TEST_CASE(testA1) {
....
}
BOOST_AUTO_TEST_CASE(testA2) {
....
}
-----------------------------------------------------------------------
file: BTest.cppp:
-----------------------------------------------------------------------
#define BOOST_TEST_MODULE BTest
#include
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&)':
/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&)'
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