|
Boost Users : |
Subject: [Boost-users] Boost Unit Testing Macros on Visual Studio 2005/Visual C++ 8.0
From: Andrew Leer (leeand00_at_[hidden])
Date: 2009-12-09 15:38:57
I'm reading this article
(http://www.ibm.com/developerworks/aix/library/au-ctools1_boost/?S_TACT=105AGY20&S_CMP=HP)
on the Boost Unit Testing Framework.
However I'm having a bit of trouble with the first example, my guess
is that they left something out (something that would be obvious to
hardcore C++ coders) as IBM often does in their articles. Another
possibility is that my Visual Studio 2005 C++ compiler is just too old
for the example.
#define _MYSTRING
#define BOOST_TEST_MODULE stringtest
#include <boost/test/unit_test.hpp>
#include "stdafx.h"
//#include "mystring.h"
BOOST_AUTO_TEST_SUITE (stringtest) // name of the test suite is stringtest
BOOST_AUTO_TEST_CASE (test1)
{
/*
mystring s;
BOOST_CHECK(s.size() == 0);
*/
BOOST_CHECK(0 == 0);
}
BOOST_AUTO_TEST_CASE(test2)
{
/*
mystring s;
s.setbuffer("hello world");
BOOST_REQUIRE_EQUAL('h', s[0]); // basic test
*/
BOOST_CHECK(0 == 0);
}
BOOST_AUTO_TEST_SUITE_END( )
To me the BOOST_AUTO_TEST_SUITE and BOOST_AUTO_TEST_CASE lines look a
little suspect (especially since they don't have quotes around the
arguments, and they are undeclared identifiers...but this probably
means they are macros and I'm not certain I understand the concept or
if that is available in VC++ 8.0)...
Is there any reason why this code won't work?
Bellow are the errors I'm receiving:
1>c:\users\andy\documents\visual studio
2005\projects\unittesttests\unittesttests\unittesttests.cpp(7) : error
C2065: 'stringtest' : undeclared identifier
1>c:\users\andy\documents\visual studio
2005\projects\unittesttests\unittesttests\unittesttests.cpp(9) : error
C4430: missing type specifier - int assumed. Note: C++ does not
support default-int
1>c:\users\andy\documents\visual studio
2005\projects\unittesttests\unittesttests\unittesttests.cpp(9) : error
C2146: syntax error : missing ';' before identifier
'BOOST_AUTO_TEST_CASE'
1>c:\users\andy\documents\visual studio
2005\projects\unittesttests\unittesttests\unittesttests.cpp(9) : error
C2065: 'test1' : undeclared identifier
1>c:\users\andy\documents\visual studio
2005\projects\unittesttests\unittesttests\unittesttests.cpp(10) :
error C2448: 'BOOST_AUTO_TEST_CASE' : function-style initializer
appears to be a function definition
1>c:\users\andy\documents\visual studio
2005\projects\unittesttests\unittesttests\unittesttests.cpp(18) :
error C2065: 'test2' : undeclared identifier
1>c:\users\andy\documents\visual studio
2005\projects\unittesttests\unittesttests\unittesttests.cpp(19) :
error C2448: 'BOOST_AUTO_TEST_CASE' : function-style initializer
appears to be a function definition
1>c:\users\andy\documents\visual studio
2005\projects\unittesttests\unittesttests\unittesttests.cpp(29) :
fatal error C1004: unexpected end-of-file found
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