|
Boost : |
From: Beman Dawes (bdawes_at_[hidden])
Date: 2002-09-03 07:38:41
At 06:27 AM 9/3/2002, Toon Knapen wrote:
>I suppose the old regression tests do not work anymore ?
>I get some failiures due to main not being defined (because in the test
>program it's 'test_main') and some other symbols from the
>unit_test_framework.
>
>ld: 0711-317 ERROR: Undefined symbol:
>.boost::test_toolbox::detail::test_and_continue_impl(bool,const
>boost::test_toolbox::detail::wrapstrstream&,const
>char*,int,bool,boost::unit_test_framework::report_level)
>ld: 0711-317 ERROR: Undefined symbol: .main
>
>
>I'm switching to the new regression tests but at the same time I wanted
to
>do a quick comparison of my upgraded compiler using the old framework.
Toon,
AFAIK, You have three choices. The code in the programs to be tested now
reads:
#define BOOST_INCLUDE_MAIN
#include <boost/test/test_tools.hpp>
1) You can change that to use a V1 drop-in replacement:
#include <boost/detail/lightweight_test.hpp>
2) You can instead add an #include to suck in all the V2 heavyweight code:
#include <boost/test/included/test_exec_monitor.hpp>
3) You can hack <boost/test/test_tools.hpp> to do (1) when
BOOST_INCLUDE_MAIN is defined.
To me, only (3) makes any sense for existing code like the Boost tests, and
similar cases where a really lightweight header only solution is
useful. Hopefully Gennadiy is finally convinced that (3) best meets the
requirements for some users, and will make (3) a regular part of
Boost.Test.
--Beman
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk