|
Boost : |
Subject: [boost] [test] How to have a simple unit test compile on Borland/CodeGear?
From: Niels Dekker - address until 2010-10-10 (niels_address_until_2010-10-10_at_[hidden])
Date: 2010-04-05 11:31:59
Is the following still a proper way to write a unit test for a Boost
library component?
#define BOOST_INCLUDE_MAIN
#include <boost/test/test_tools.hpp>
int test_main(int, char*[])
{
// TODO Some testing here...
return 0;
}
I can't get the above code compiling on the latest Borland/CodeGear
compiler (Embarcadero C++ 6.21), installed by
c++builder_2010_3615_win_esd.zip, downloaded from
www.embarcadero.com/downloads Even though I already patched
boost/smart_ptr (ticket #4067) and boost/exception (ticket #4068).
I just do:
bjam toolset=borland
Which tries to compile
<boost/test/utils/runtime/cla/dual_name_parameter.hpp> apparently, and
it yields an error at line 43:
template<typename Modifier>
void accept_modifier( Modifier const& m )
{
if( m.has( prefix ) ) {
set_prefix( m[prefix] ); // line 43, "Error E2094"!
...
The complete error message is down here. Interestingly, the message says
that operator+ is missing (while I don't see a need for operator+ in
this context). Any help is appreciated!
Kind regards,
Niels
------------------------------------------------------------
CodeGear/Embarcadero C++ 6.21 output:
Error E2094
..\..\..\..\boost/test/utils/runtime/cla/dual_name_parameter.hpp 43:
'operator+' not implemented in type
'nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<const
unit_test::const_string,description_t,const unit_test::const_string
&>,nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<bool,optional_t,bool>,nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<bool,guess_name_t,bool>,nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<const
unit_test::const_string,separator_t,const unit_test::const_string
&>,nfp::named_parameter<const unit_test::const_string,prefix_t,const
unit_test::const_string &> > > > >' for arguments of type
'nfp::typed_keyword<unit_test::const_string,prefix_t,0>' in function
void
dual_name_policy::accept_modifier<nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<const
unit_test::const_string,description_t,const unit_test::const_string
&>,nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<bool,optional_t,bool>,nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<bool,guess_name_t,bool>,nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<const
unit_test::const_string,separator_t,const unit_test::const_string
&>,nfp::named_parameter<const unit_test::const_string,prefix_t,const
unit_test::const_string &> > > > > >(const
nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<const
unit_test::const_string,description_t,const unit_test::const_string
&>,nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<bool,optional_t,bool>,nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<bool,guess_name_t,bool>,nfp::nfp_detail::named_parameter_combine<nfp::named_parameter<const
unit_test::const_string,separator_t,const unit_test::const_string
&>,nfp::named_parameter<const unit_test::const_string,prefix_t,const
unit_test::const_string &> > > > > &)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk