|
Boost Users : |
Subject: Re: [Boost-users] [test] manual test suite initialization: linking?problems
From: Matthias Vallentin (vallentin_at_[hidden])
Date: 2009-07-18 21:45:51
On Sun, Jul 19, 2009 at 12:42:36AM +0000, Gennadiy Rozental wrote:
> Note though that you can combine both manually and automatically
> registered test units inside the same test module, thus all other test
> units you can register automatically.
That's neat. How can I specify the hierarchy of different suites? Say,
I have one master suite and would like to create a hierarchical tree
structures of suites, with tests being the leaves:
0: master
/ \
1: s1 s2
/ \
2: t_1..n s3
\
3: t_1..n
I assume I cannot switch between automatic and manual registration
within one compilation unit. How could I achieve such a structure then?
Here is the example again. First, the master test suite (test1.cc):
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
void test()
{
BOOST_CHECK_EQUAL(true, false);
BOOST_REQUIRE_EQUAL(1, 1);
}
bool init_unit_test()
{
boost::unit_test::test_suite* ts = BOOST_TEST_SUITE("test suite");
ts->add(BOOST_TEST_CASE(&test));
boost::unit_test::framework::master_test_suite().add(ts);
return true;
}
int main(int argc, char* argv[])
{
return ::boost::unit_test::unit_test_main(&init_unit_test, argc, argv);
}
Then, I would like to add child suite automatically (test2.cc):
#define BOOST_TEST_MODULE foo test suite
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(foo_suite)
BOOST_AUTO_TEST_CASE(foo)
{
BOOST_REQUIRE_EQUAL(42, 43);
}
BOOST_AUTO_TEST_SUITE_END()
When I compile them via
g++ test{1,2}.cc -lboost_unit_test_framework-mt
the output looks like this:
Running 2 test cases...
test2.cc:8: fatal error in "foo": critical check 42 == 43 failed [42 != 43]
test1.cc:6: error in "test": check true == false failed [true != false]
*** 2 failures detected in test suite "Master Test Suite"
This looks to me that test foo is part of the Master Test Suite, or am I
mistaken?
Matthias
-- Matthias Vallentin vallentin_at_[hidden] http://www.icir.org/matthias
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net