Merge lp:~blep/cppunit2/testcase-factory into lp:cppunit2/trunk

Proposed by blep
Status: Merged
Merged at revision: not available
Proposed branch: lp:~blep/cppunit2/testcase-factory
Merge into: lp:cppunit2/trunk
Diff against target: None lines
To merge this branch: bzr merge lp:~blep/cppunit2/testcase-factory
Reviewer Review Type Date Requested Status
blep Approve
Review via email: mp+4471@code.launchpad.net
To post a comment you must log in.
Revision history for this message
blep (blep) wrote :

The registry now contains test case factory instead of test case instance. This will allow multiple instances creation for thread safety and makes it easier to have parametrized test.

The suite registry has been revised to match common use case, such as having a common top level suite for all test cases of a library.

lp:~blep/cppunit2/testcase-factory updated
426. By Baptiste Lepilleur <email address hidden>

Fixed some compilation issues on Linux/gcc 4.4.

427. By blep <blep@unknown>

Fixed compilation issues with Solaris SunStudio 12.

Revision history for this message
blep (blep) wrote :

Compilation and test pass on Solaris/Sun Studio 12, as well as MSVS 6, 7.1, 8.0, and 9.0. No new compilation issues are introduced on Linux/gcc 4.4 (but stringize tests still do not compile).

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file '.bzrignore'
--- .bzrignore 2008-12-14 14:18:05 +0000
+++ .bzrignore 2008-12-25 17:01:58 +0000
@@ -1,10 +1,14 @@
1bin1bin
2build
2buildscons3buildscons
3libs4libs
4scons.py5scons.py
5scons-local-*6cppunit2/scons-local-*
7cppunit2/scons-LICENSE
8*.user
6*.ncb9*.ncb
10*.suo
7cppunit2/test/json_test/*.actual*11cppunit2/test/json_test/*.actual*
8cppunit2/test/json_test/*.rewrite12cppunit2/test/json_test/*.rewrite
9cppunit2/test/json_test/*.process-output13cppunit2/test/json_test/*.process-output
10build14makefiles/vs71/cppunit2.suo
1115
=== modified file 'cppunit2/TODO'
--- cppunit2/TODO 2008-07-13 06:19:20 +0000
+++ cppunit2/TODO 2009-03-13 21:39:36 +0000
@@ -1,5 +1,4 @@
1* complete works on the CommandLines library => likely moved to opentest.1* complete works on the CommandLines library => likely moved to opentest.
2* add support for ExtendedData in C function test case (CPPUT_TEST_FUNCTION...)
3* need a new Any supporting feature required for unit testing:2* need a new Any supporting feature required for unit testing:
4 - toString (toJson?)3 - toString (toJson?)
5 - type to text (for conversion error message)4 - type to text (for conversion error message)
@@ -9,8 +8,5 @@
9 - support for unknown aggregate types.8 - support for unknown aggregate types.
10 - conversion between type (int, uint, const char *, std::string...)9 - conversion between type (int, uint, const char *, std::string...)
11 - type comparison10 - type comparison
12* arange for fixture based test case to create a new instance for each test run.11* write unit test for light test fixture
13 => solve requirement to implement setUp()/tearDown()
14 => ensure thread-safety when the same test is executed in multiple thread at the
15 same time (stress test)
1612
1713
=== modified file 'cppunit2/doc/coding_guidelines.dox'
--- cppunit2/doc/coding_guidelines.dox 2007-08-14 15:42:14 +0000
+++ cppunit2/doc/coding_guidelines.dox 2008-12-11 20:28:30 +0000
@@ -17,7 +17,7 @@
1717
18<table>18<table>
19<tr><td><b>First letter in upper case</b></td><td><b>First letter in lower case</b></td></tr>19<tr><td><b>First letter in upper case</b></td><td><b>First letter in lower case</b></td></tr>
20<tr><td><tt>TestCase</tt></td><td><tt>testCase</tt></td></tr>20<tr><td><tt>TestMeta</tt></td><td><tt>testCase</tt></td></tr>
21<tr><td><tt>DLLLoader</tt></td><td><tt>dllLoader</tt></td></tr>21<tr><td><tt>DLLLoader</tt></td><td><tt>dllLoader</tt></td></tr>
22</table>22</table>
2323
@@ -40,9 +40,9 @@
40resource.c // OK40resource.c // OK
4141
42test_case.c // BAD42test_case.c // BAD
43TestCase.c // BAD43TestMeta.c // BAD
44TestCase.h // BAD44TestMeta.h // BAD
45TestCase.C // BAD45TestMeta.C // BAD
46\endcode46\endcode
4747
48\subsection cg_cppidentifiers C++ identifiers48\subsection cg_cppidentifiers C++ identifiers
@@ -94,7 +94,7 @@
94Example:94Example:
95\code95\code
96Test96Test
97TestCase97TestMeta
98ExceptionGuard98ExceptionGuard
99\endcode99\endcode
100100
@@ -217,11 +217,11 @@
217- return type in function definitions should be 217- return type in function definitions should be
218\code218\code
219// An example of constructor219// An example of constructor
220TestCase::TestCase( const CppTL::Functor0 &setUp,220TestMeta::TestMeta( const CppTL::Functor0 &setUp,
221 const CppTL::Functor0 &run,221 const CppTL::Functor0 &run,
222 const CppTL::Functor0 &tearDown,222 const CppTL::Functor0 &tearDown,
223 const std::string &name )223 const std::string &name )
224 : AbstractTestCase( name )224 : TestCase( name )
225 , setUp_( setUp )225 , setUp_( setUp )
226 , run_( run )226 , run_( run )
227 , tearDown_( tearDown )227 , tearDown_( tearDown )
228228
=== modified file 'cppunit2/doc/cpput.dox'
--- cppunit2/doc/cpput.dox 2007-08-16 13:51:04 +0000
+++ cppunit2/doc/cpput.dox 2008-12-20 10:45:17 +0000
@@ -43,8 +43,8 @@
43\section section_writing_test Writing tests43\section section_writing_test Writing tests
4444
45\subsection section_instantiating_test Instantiating tests45\subsection section_instantiating_test Instantiating tests
46 A test case is exposed by instantiating a subclass of CppUT::AbstractTestCase. Each 46 A test case is exposed by instantiating a subclass of CppUT::TestCase. Each
47time a test case is executed, the \link CppUT::AbstractTestCase::runTest() runTest()\endlink 47time a test case is executed, the \link CppUT::TestCase::runTest() runTest()\endlink
48method is called. This method calls the virtual methods \testCaseSetup, \testCaseRun 48method is called. This method calls the virtual methods \testCaseSetup, \testCaseRun
49and \testCaseTearDown. 49and \testCaseTearDown.
50The \testCaseRun and \testCaseTearDown methods are only called if50The \testCaseRun and \testCaseTearDown methods are only called if
@@ -57,15 +57,15 @@
57automatically (see \ref section_skippingtest for detail).57automatically (see \ref section_skippingtest for detail).
5858
59 There is mainly two ways to create test case:59 There is mainly two ways to create test case:
60 - Subclassing CppUT::AbstractTestCase and overridding at least \testCaseRun.60 - Subclassing CppUT::TestCase and overridding at least \testCaseRun.
61 - Instantiating CppUT::TestCase, which subclass CppUT::AbstractTestCase, and61 - Instantiating CppUT::TestMeta, which subclass CppUT::TestCase, and
62 passing the function to execute in the constructor.62 passing the function to execute in the constructor.
6363
64 A test case is usually created using CppUT::makeTestCase() that instantiate 64 A test case is usually created using CppUT::makeTestCase() that instantiate
65CppUT::TestCase.65CppUT::TestMeta.
6666
67 Notes that test case instantiation is usually only done when you need to create your own67 Notes that test case instantiation is usually only done when you need to create your own
68convenience test case macro or you are populating a TestSuite with parametrized TestCase.68convenience test case macro or you are populating a Suite with parametrized TestMeta.
69The framework provides severable way to create and register test case, see \ref section_lightfixture,69The framework provides severable way to create and register test case, see \ref section_lightfixture,
70\ref section_testfixture, \ref section_testfunction.70\ref section_testfixture, \ref section_testfunction.
71 71
@@ -219,7 +219,7 @@
219 Notes that a SkipTestException exception (a subclass of std::runtime_error) is thrown219 Notes that a SkipTestException exception (a subclass of std::runtime_error) is thrown
220to abort the test.220to abort the test.
221221
222\subsection section_testfixture Creating TestCase: TestFixture222\subsection section_testfixture Creating TestMeta: TestFixture
223223
224A TestFixture is a class that implements multiple test cases sharing the same setUp/tearDown steps.224A TestFixture is a class that implements multiple test cases sharing the same setUp/tearDown steps.
225Test cases are implements as "void test()" member function and each test case has its own instance225Test cases are implements as "void test()" member function and each test case has its own instance
@@ -230,11 +230,11 @@
230- polymorphism: you can subclass a TestFixture and adds more test or override setUp/teardown 230- polymorphism: you can subclass a TestFixture and adds more test or override setUp/teardown
231virtual member functions.231virtual member functions.
232- TestExtendedData can be specified for each test232- TestExtendedData can be specified for each test
233- TestFixture test cases are grouped within a TestSuite233- TestFixture test cases are grouped within a Suite
234- macro usage is limited to a declaration of the test member function and is clearly separated 234- macro usage is limited to a declaration of the test member function and is clearly separated
235from code.235from code.
236236
237\subsection section_lightfixture Creating TestCase: light Fixture237\subsection section_lightfixture Creating TestMeta: light Fixture
238238
239A Light test fixture is similar to a TestFixture but does not support the following features:239A Light test fixture is similar to a TestFixture but does not support the following features:
240- templated test class240- templated test class
@@ -243,18 +243,18 @@
243243
244On the positive side, it is easier on the wrist.244On the positive side, it is easier on the wrist.
245245
246\subsection section_testfunction Creating TestCase: test functions246\subsection section_testfunction Creating TestMeta: test functions
247247
248A test case can be implemented as a plain C function "void test()".248A test case can be implemented as a plain C function "void test()".
249249
250\subsection section_tablefixture Creating TestCase: using table fixture in test cases250\subsection section_tablefixture Creating TestMeta: using table fixture in test cases
251251
252Sometimes when writing test cases, you need to repeat the same test with different 252Sometimes when writing test cases, you need to repeat the same test with different
253input values. Table fixture are a way to do this.253input values. Table fixture are a way to do this.
254254
255\see CPPUT_TEST_TABLE(), CPPUT_REGISTER_TEST_FUNCTION_TABLE_IN(), CPPUT_TEST_FUNCTION_TABLE_IN().255\see CPPUT_TEST_TABLE(), CPPUT_REGISTER_TEST_FUNCTION_TABLE_IN(), CPPUT_TEST_FUNCTION_TABLE_IN().
256256
257\subsection section_inputfixture Creating TestCase: input fixture257\subsection section_inputfixture Creating TestMeta: input fixture
258258
259Input fixture are intended to run functional test cases with externalized input data.259Input fixture are intended to run functional test cases with externalized input data.
260260
261261
=== modified file 'cppunit2/doc/doxyfile.in'
--- cppunit2/doc/doxyfile.in 2007-03-16 21:41:39 +0000
+++ cppunit2/doc/doxyfile.in 2008-12-11 20:28:30 +0000
@@ -26,9 +26,9 @@
26JAVADOC_AUTOBRIEF = YES26JAVADOC_AUTOBRIEF = YES
27INHERIT_DOCS = YES27INHERIT_DOCS = YES
28TAB_SIZE = 328TAB_SIZE = 3
29ALIASES = "testCaseSetup=\link CppUT::AbstractTestCase::setUp() setUp()\endlink" \29ALIASES = "testCaseSetup=\link CppUT::TestCase::setUp() setUp()\endlink" \
30 "testCaseRun=\link CppUT::AbstractTestCase::run() run()\endlink" \30 "testCaseRun=\link CppUT::TestCase::run() run()\endlink" \
31 "testCaseTearDown=\link CppUT::AbstractTestCase::tearDown() tearDown()\endlink" \31 "testCaseTearDown=\link CppUT::TestCase::tearDown() tearDown()\endlink" \
32 "json_ref=<a HREF='http://www.json.org/'>JSON (JavaScript Object Notation)</a>"32 "json_ref=<a HREF='http://www.json.org/'>JSON (JavaScript Object Notation)</a>"
3333
34OPTIMIZE_OUTPUT_FOR_C = NO34OPTIMIZE_OUTPUT_FOR_C = NO
3535
=== modified file 'cppunit2/examples/checking_assertions/main.cpp'
--- cppunit2/examples/checking_assertions/main.cpp 2005-11-07 21:43:08 +0000
+++ cppunit2/examples/checking_assertions/main.cpp 2009-03-13 20:59:56 +0000
@@ -1,10 +1,9 @@
1#include <examples/common/examplecommon.h>1#include <examples/common/examplecommon.h>
2#include <cpput/testcase.h>
32
43
5// Checking assertion do not abort the test uppon failure:4// Checking assertion do not abort the test uppon failure:
6// all the failing assertions below will be reported by the test framework5// all the failing assertions below will be reported by the test framework
7static void testBasicCheckingAssertion()6CPPUT_TEST_FUNCTION( testBasicCheckingAssertion )
8{7{
9 CPPUT_CHECK( 1 == 2, "1 is not equal to 2..." );8 CPPUT_CHECK( 1 == 2, "1 is not equal to 2..." );
10 CPPUT_CHECK_EXPR( 1 + 2 == 4 );9 CPPUT_CHECK_EXPR( 1 + 2 == 4 );
@@ -18,8 +17,5 @@
1817
19int main( int argc, const char *argv[] )18int main( int argc, const char *argv[] )
20{19{
21 CppUT::TestSuitePtr allSuite = CppUT::makeTestSuite( "All tests" );20 return runExampleTests( argc, argv );
22 allSuite->add( CppUT::makeTestCase( CppTL::cfn0( &testBasicCheckingAssertion ),
23 "testBasicCheckingAssertion" ) );
24 return runExampleTests( argc, argv, allSuite.get() );
25}21}
2622
=== modified file 'cppunit2/examples/common/examplecommon.h'
--- cppunit2/examples/common/examplecommon.h 2005-11-13 09:17:57 +0000
+++ cppunit2/examples/common/examplecommon.h 2009-03-13 20:59:56 +0000
@@ -1,22 +1,17 @@
1#ifndef CPPUT_EXAMPLES_EXAMPLECOMMON_H_INCLUDED1#ifndef CPPUT_EXAMPLES_EXAMPLECOMMON_H_INCLUDED
2# define CPPUT_EXAMPLES_EXAMPLECOMMON_H_INCLUDED2# define CPPUT_EXAMPLES_EXAMPLECOMMON_H_INCLUDED
33
4#include <cpput/testsuite.h>4#include <cpput/registry.h>
5#include <cpput/lighttestrunner.h>5#include <cpput/lighttestrunner.h>
6//#include <cpput/testrunner.h> // cppunit2 testrunner for opentest
7#include <cpput/assertcommon.h>6#include <cpput/assertcommon.h>
7#include <cpput/testfunction.h>
88
9inline int runExampleTests( int argc, 9inline int runExampleTests( int argc,
10 const char *argv[], 10 const char *argv[] )
11 CppUT::Test *test )
12{11{
13// CppUT::TestRunner runner;
14// runner.setRootSuite( allSuite.get() );
15// OpenTest::TextTestDriver driver( runner );
16// bool sucessful = driver.run();
17 CppUT::LightTestRunner runner;12 CppUT::LightTestRunner runner;
18 runner.addTest( test );13 runner.addSuite( CppUT::Registry::getRootSuite() );
19 bool sucessful = runner.runAllTests();14 bool sucessful = runner.runTests();
20 return sucessful ? 0 : 1;15 return sucessful ? 0 : 1;
21}16}
2217
2318
=== modified file 'cppunit2/examples/ignore_failure_demo/main.cpp'
--- cppunit2/examples/ignore_failure_demo/main.cpp 2005-11-11 19:54:15 +0000
+++ cppunit2/examples/ignore_failure_demo/main.cpp 2009-03-13 20:59:56 +0000
@@ -1,12 +1,11 @@
1#include <examples/common/examplecommon.h>1#include <examples/common/examplecommon.h>
2#include <cpput/testcase.h>
32
4static int half( int x )3static int half( int x )
5{4{
6 return (x+1) / 2;5 return (x+1) / 2;
7}6}
87
9static void testIgnoreFailure()8CPPUT_TEST_FUNCTION( testIgnoreFailure )
10{9{
11 CPPUT_CHECK_EQUAL( 1, half(2) );10 CPPUT_CHECK_EQUAL( 1, half(2) );
12 CPPUT_IGNORE_FAILURE(( CPPUT_CHECK_EQUAL( 2, half(5) ) ));11 CPPUT_IGNORE_FAILURE(( CPPUT_CHECK_EQUAL( 2, half(5) ) ));
@@ -17,8 +16,5 @@
1716
18int main( int argc, const char *argv[] )17int main( int argc, const char *argv[] )
19{18{
20 CppUT::TestSuitePtr allSuite = CppUT::makeTestSuite( "All tests" );19 return runExampleTests( argc, argv );
21 allSuite->add( CppUT::makeTestCase( CppTL::cfn0( &testIgnoreFailure ),
22 "testIgnoreFailure" ) );
23 return runExampleTests( argc, argv, allSuite.get() );
24}20}
2521
=== modified file 'cppunit2/examples/input_test/main.cpp'
--- cppunit2/examples/input_test/main.cpp 2007-08-16 13:51:04 +0000
+++ cppunit2/examples/input_test/main.cpp 2009-03-13 20:59:56 +0000
@@ -1,6 +1,7 @@
1#include <examples/common/examplecommon.h>1#include <examples/common/examplecommon.h>
2#include <cpput/testcase.h>2#include <cpput/testcase.h>
3#include <cpput/testinfo.h>3#include <cpput/testinfo.h>
4#include <cpput/testfunction.h>
4#include <cpput/assertcommon.h>5#include <cpput/assertcommon.h>
5#include <cpput/inputbasedtest.h>6#include <cpput/inputbasedtest.h>
6#include <json/reader.h>7#include <json/reader.h>
@@ -38,7 +39,7 @@
3839
3940
4041
41static void testOperations()42CPPUT_TEST_FUNCTION( testOperations )
42{43{
43 Json::Reader reader;44 Json::Reader reader;
44 Json::Value data;45 Json::Value data;
@@ -60,11 +61,5 @@
6061
61int main( int argc, const char *argv[] )62int main( int argc, const char *argv[] )
62{63{
63 CppUT::TestSuitePtr allSuite = CppUT::makeTestSuite( "All tests" );64 return runExampleTests( argc, argv );
64
65 CppUT::TestPtr test1 = CppUT::makeTestCase( CppTL::cfn0( testOperations ),
66 "testOperations" );
67 allSuite->add( test1 );
68
69 return runExampleTests( argc, argv, allSuite.get() );
70}65}
7166
=== modified file 'cppunit2/examples/light_fixture/main.cpp'
--- cppunit2/examples/light_fixture/main.cpp 2007-08-15 15:35:40 +0000
+++ cppunit2/examples/light_fixture/main.cpp 2009-03-13 20:59:56 +0000
@@ -25,7 +25,7 @@
25 int y_;25 int y_;
26};26};
2727
28struct LineTest28struct LineTest : CppUT::TestCase
29{29{
30 LineTest() 30 LineTest()
31 : p1_( 1, 0 )31 : p1_( 1, 0 )
@@ -37,24 +37,21 @@
37};37};
3838
39// In the light fixture test you can directly access fixture members39// In the light fixture test you can directly access fixture members
40CPPUT_TEST_LIGHT_FIXTURE( LineTest, testSquaredLength )40CPPUT_FIXTURE_TEST( LineTest, testSquaredLength )
41{41{
42 CPPUT_CHECK_EQUAL( 1, p1_.squaredLength() );42 CPPUT_CHECK_EQUAL( 1, p1_.squaredLength() );
43 CPPUT_CHECK_EQUAL( 2*2, p2_.squaredLength() );43 CPPUT_CHECK_EQUAL( 2*2, p2_.squaredLength() );
44}44}
4545
46CPPUT_TEST_LIGHT_FIXTURE_WITH_SPECIFICS( LineTest, testAdd, timeOut(0.2) )46
47CPPUT_FIXTURE_TEST_WITH_META( LineTest, testAdd, timeOut(0.2) )
47{48{
48 p1_.add( p2_ );49 p1_.add( p2_ );
49 CPPUT_CHECK_EQUAL( 1+2*2, p1_.squaredLength() );50 CPPUT_CHECK_EQUAL( 1+2*2, p1_.squaredLength() );
50}51}
5152
52// Register the light fixture test suite to the default test suite.
53CPPUT_REGISTER_LIGHT_FIXTURE( LineTest );
54
5553
56int main( int argc, const char *argv[] )54int main( int argc, const char *argv[] )
57{55{
58 CppUT::TestSuitePtr allSuite = CppUT::Registry::instance().createDefaultTests();56 return runExampleTests( argc, argv );
59 return runExampleTests( argc, argv, allSuite.get() );
60}57}
6158
=== modified file 'cppunit2/examples/log_demo/main.cpp'
--- cppunit2/examples/log_demo/main.cpp 2005-11-08 19:25:50 +0000
+++ cppunit2/examples/log_demo/main.cpp 2009-03-13 20:59:56 +0000
@@ -1,9 +1,8 @@
1#include <examples/common/examplecommon.h>1#include <examples/common/examplecommon.h>
2#include <cpput/testcase.h>
3#include <cpptl/stringtools.h>2#include <cpptl/stringtools.h>
43
54
6static void testLogDemo()5CPPUT_TEST_FUNCTION( testLogDemo )
7{6{
8 for ( int index =0; index < 5; ++index )7 for ( int index =0; index < 5; ++index )
9 {8 {
@@ -16,8 +15,5 @@
1615
17int main( int argc, const char *argv[] )16int main( int argc, const char *argv[] )
18{17{
19 CppUT::TestSuitePtr allSuite = CppUT::makeTestSuite( "All tests" );18 return runExampleTests( argc, argv );
20 allSuite->add( CppUT::makeTestCase( CppTL::cfn0( &testLogDemo ),
21 "testLogDemo" ) );
22 return runExampleTests( argc, argv, allSuite.get() );
23}19}
2420
=== modified file 'cppunit2/examples/parametrized_test/main.cpp'
--- cppunit2/examples/parametrized_test/main.cpp 2005-11-13 09:17:57 +0000
+++ cppunit2/examples/parametrized_test/main.cpp 2009-03-13 20:59:56 +0000
@@ -12,11 +12,11 @@
1212
13int main( int argc, const char *argv[] )13int main( int argc, const char *argv[] )
14{14{
15 CppUT::TestSuitePtr allSuite = CppUT::makeTestSuite( "All tests" );15 CppUT::Suite &rootSuite = CppUT::Registry::getRootSuite();
16 allSuite->add( CppUT::makeTestCase( CppTL::bind_cfn( testMultiply, 7, 2, 7*2 ), 16 rootSuite.add( CppUT::makeTestCase( CppTL::bind_cfn( testMultiply, 7, 2, 7*2 ),
17 "multiply 7*2" ) );17 "multiply 7*2" ) );
18 allSuite->add( CppUT::makeTestCase( CppTL::bind_cfn( testMultiply, 7, 5, 7*4 ), 18 rootSuite.add( CppUT::makeTestCase( CppTL::bind_cfn( testMultiply, 7, 5, 7*4 ),
19 "multiply 7*5 (failing demo)" ) );19 "multiply 7*5 (failing demo)" ) );
2020
21 return runExampleTests( argc, argv, allSuite.get() );21 return runExampleTests( argc, argv );
22}22}
2323
=== modified file 'cppunit2/examples/stringize_demo/main.cpp'
--- cppunit2/examples/stringize_demo/main.cpp 2005-11-08 19:25:50 +0000
+++ cppunit2/examples/stringize_demo/main.cpp 2009-03-13 20:59:56 +0000
@@ -1,5 +1,4 @@
1#include <examples/common/examplecommon.h>1#include <examples/common/examplecommon.h>
2#include <cpput/testcase.h>
3#include <cpptl/stringtools.h>2#include <cpptl/stringtools.h>
4#include <cpput/assertenum.h>3#include <cpput/assertenum.h>
5#include <deque>4#include <deque>
@@ -33,7 +32,7 @@
33} 32}
3433
3534
36static void testStringize()35CPPUT_TEST_FUNCTION( testStringize )
37{36{
38 CPPUT_CHECK_EQUAL( ExampleNamespace::WeirdType(5678), ExampleNamespace::WeirdType(1234) );37 CPPUT_CHECK_EQUAL( ExampleNamespace::WeirdType(5678), ExampleNamespace::WeirdType(1234) );
3938
@@ -47,8 +46,5 @@
4746
48int main( int argc, const char *argv[] )47int main( int argc, const char *argv[] )
49{48{
50 CppUT::TestSuitePtr allSuite = CppUT::makeTestSuite( "All tests" );49 return runExampleTests( argc, argv );
51 allSuite->add( CppUT::makeTestCase( CppTL::cfn0( &testStringize ),
52 "testStringize" ) );
53 return runExampleTests( argc, argv, allSuite.get() );
54}50}
5551
=== modified file 'cppunit2/examples/test_function/main.cpp'
--- cppunit2/examples/test_function/main.cpp 2007-08-15 15:35:40 +0000
+++ cppunit2/examples/test_function/main.cpp 2009-03-13 20:59:56 +0000
@@ -1,40 +1,38 @@
1#include <examples/common/examplecommon.h>1#include <examples/common/examplecommon.h>
2#include <cpput/testfunction.h>2#include <cpput/testfunction.h>
33
4static void test1() 4// Register function test1 in the default test suite
5
6CPPUT_TEST_FUNCTION( test1 )
5{7{
6 CPPUT_CHECK( 1 == 2, "1 is not equal to 2..." );8 CPPUT_CHECK( 1 == 2, "1 is not equal to 2..." );
7 CPPUT_CHECK_EXPR( 1 + 2 == 4 );9 CPPUT_CHECK_EXPR( 1 + 2 == 4 );
8}10}
911
10// Register function test1 in the default test suite
11CPPUT_REGISTER_TEST_FUNCTION( test1 );
12
1312
14// Register function test1 in the test suite named "MyTestSuite"13// Register function test1 in the test suite named "MyTestSuite"
15CPPUT_REGISTER_TEST_FUNCTION_IN( test1, "MyTestSuite" );14CPPUT_SUITE( "MyTestSuite" )
1615{
1716
18// Declare and register a function test2 in the default test suite17 // Declare and register a function test2 in the default test suite
19CPPUT_TEST_FUNCTION( test2 )18 CPPUT_TEST_FUNCTION( test2 )
20{19 {
21 CPPUT_CHECK_FALSE( 1 == 1, "1 is equal to 1..." );20 CPPUT_CHECK_FALSE( 1 == 1, "1 is equal to 1..." );
22 CPPUT_CHECK_EXPR_FALSE( 1 + 1 == 2 );21 CPPUT_CHECK_EXPR_FALSE( 1 + 1 == 2 );
23}22 }
2423
2524
26// Declare and register a function test2 in the test suite named "MyTestSuite"25 // Declare and register a function test2 in the test suite named "MyTestSuite"
27CPPUT_TEST_FUNCTION_IN( test3, "MyTestSuite" )26 CPPUT_TEST_FUNCTION( test3 )
28{27 {
29 CPPUT_CHECK_EQUAL( 1, 2 );28 CPPUT_CHECK_EQUAL( 1, 2 );
30 CPPUT_CHECK_NOT_EQUAL( 34, 34 );29 CPPUT_CHECK_NOT_EQUAL( 34, 34 );
31}30 }
3231
33// Makes MyTestSuite a child of default.32}
34CPPUT_REGISTER_SUITE_RELATIONSHIP_TO_DEFAULT( "MyTestSuite" );33
3534
36int main( int argc, const char *argv[] )35int main( int argc, const char *argv[] )
37{36{
38 CppUT::TestSuitePtr allSuite = CppUT::Registry::instance().createDefaultTests();37 return runExampleTests( argc, argv );
39 return runExampleTests( argc, argv, allSuite.get() );
40}38}
4139
=== modified file 'cppunit2/include/cpptl/config.h'
--- cppunit2/include/cpptl/config.h 2007-08-15 09:20:57 +0000
+++ cppunit2/include/cpptl/config.h 2009-03-12 21:42:38 +0000
@@ -274,7 +274,7 @@
274274
275 template<class T>275 template<class T>
276 inline void276 inline void
277 swap( T &left, T &right )277 trivialSwap( T &left, T &right )
278 {278 {
279 T temp( left );279 T temp( left );
280 left = right;280 left = right;
281281
=== modified file 'cppunit2/include/cpptl/conststring.h'
--- cppunit2/include/cpptl/conststring.h 2005-11-08 20:44:55 +0000
+++ cppunit2/include/cpptl/conststring.h 2009-03-12 21:42:38 +0000
@@ -891,8 +891,8 @@
891inline void 891inline void
892ConstString::swap( ConstString &other )892ConstString::swap( ConstString &other )
893{893{
894 CppTL::swap( length_, other.length_ );894 CppTL::trivialSwap( length_, other.length_ );
895 CppTL::swap( buffer_, other.buffer_ );895 CppTL::trivialSwap( buffer_, other.buffer_ );
896}896}
897897
898898
@@ -1098,9 +1098,9 @@
1098inline void 1098inline void
1099StringBuffer::swap( StringBuffer &other )1099StringBuffer::swap( StringBuffer &other )
1100{1100{
1101 CppTL::swap( capacity_, other.capacity_ );1101 CppTL::trivialSwap( capacity_, other.capacity_ );
1102 CppTL::swap( length_, other.length_ );1102 CppTL::trivialSwap( length_, other.length_ );
1103 CppTL::swap( buffer_, other.buffer_ );1103 CppTL::trivialSwap( buffer_, other.buffer_ );
1104}1104}
11051105
11061106
11071107
=== modified file 'cppunit2/include/cpptl/intrusiveptr.h'
--- cppunit2/include/cpptl/intrusiveptr.h 2006-09-06 17:23:26 +0000
+++ cppunit2/include/cpptl/intrusiveptr.h 2009-03-12 21:42:38 +0000
@@ -103,7 +103,7 @@
103103
104 void swap( ThisType &other )104 void swap( ThisType &other )
105 {105 {
106 CppTL::swap( p_, other.p_ );106 CppTL::trivialSwap( p_, other.p_ );
107 }107 }
108108
109 ThisType &operator =( const ThisType &other )109 ThisType &operator =( const ThisType &other )
110110
=== modified file 'cppunit2/include/cpptl/scopedptr.h'
--- cppunit2/include/cpptl/scopedptr.h 2005-07-04 06:09:30 +0000
+++ cppunit2/include/cpptl/scopedptr.h 2009-03-12 21:42:38 +0000
@@ -23,7 +23,7 @@
2323
24 void swap( SelfType &other )24 void swap( SelfType &other )
25 {25 {
26 CppTL::swap( p_, other.p_ );26 CppTL::trivialSwap( p_, other.p_ );
27 }27 }
2828
29 void reset( PointeeType *p = 0 )29 void reset( PointeeType *p = 0 )
3030
=== modified file 'cppunit2/include/cpput/extendeddata.h'
--- cppunit2/include/cpput/extendeddata.h 2006-09-03 05:15:49 +0000
+++ cppunit2/include/cpput/extendeddata.h 2008-12-25 17:01:58 +0000
@@ -15,7 +15,7 @@
15 * \code15 * \code
16 * class SomeClass : public TestExtendedDataFactory {16 * class SomeClass : public TestExtendedDataFactory {
17 * public:17 * public:
18 * static void enrichTest( Test &test ) {18 * static void enrichTest( MetaData &test ) {
19 * CppUT::TestExtendedDataHelper( test )( describe( "Test conversion" ),19 * CppUT::TestExtendedDataHelper( test )( describe( "Test conversion" ),
20 * timeOut( 30.0 ),20 * timeOut( 30.0 ),
21 * depends( "testInit" ) );21 * depends( "testInit" ) );
@@ -26,7 +26,7 @@
26 * The above code sample is equivalent to:26 * The above code sample is equivalent to:
27 *27 *
28 * \code28 * \code
29 * static void enrichTest( Test &test ) {29 * static void enrichTest( MetaData &test ) {
30 * test.setDescription( "Test conversion" );30 * test.setDescription( "Test conversion" );
31 * test.setTimeOut( 30.0 );31 * test.setTimeOut( 30.0 );
32 * test.setDependenciesFromPackedString( "testInit" );32 * test.setDependenciesFromPackedString( "testInit" );
@@ -41,13 +41,13 @@
41class TestExtendedDataHelper41class TestExtendedDataHelper
42{42{
43public:43public:
44 TestExtendedDataHelper( Test &test );44 TestExtendedDataHelper( MetaData &test );
45 virtual ~TestExtendedDataHelper();45 virtual ~TestExtendedDataHelper();
4646
47 Test &operator()( const TestExtendedData &data ) const;47 MetaData &operator()( const TestExtendedData &data ) const;
4848
49private:49private:
50 Test &test_;50 MetaData &test_;
51};51};
5252
5353
@@ -58,7 +58,7 @@
58public:58public:
59 virtual ~TestExtendedData();59 virtual ~TestExtendedData();
6060
61 virtual void apply( Test &test ) const = 0;61 virtual void apply( MetaData &test ) const = 0;
6262
63 TestExtendedDataList operator ,( const TestExtendedData &other ) const;63 TestExtendedDataList operator ,( const TestExtendedData &other ) const;
64};64};
@@ -66,13 +66,22 @@
6666
67/*! \ingroup group_testfixture67/*! \ingroup group_testfixture
68 */68 */
69class CPPUT_API NoTestExtendedData : public TestExtendedData
70{
71public: // overridden from TestExtendedData
72 void apply( MetaData &test ) const;
73};
74
75
76/*! \ingroup group_testfixture
77 */
69class TestExtendedDataList : public TestExtendedData78class TestExtendedDataList : public TestExtendedData
70{79{
71public:80public:
72 TestExtendedDataList( const TestExtendedData &left,81 TestExtendedDataList( const TestExtendedData &left,
73 const TestExtendedData &right );82 const TestExtendedData &right );
74public: // overridden from TestExtendedData83public: // overridden from TestExtendedData
75 void apply( Test &test ) const;84 void apply( MetaData &test ) const;
7685
77private:86private:
78 const TestExtendedData &left_;87 const TestExtendedData &left_;
@@ -88,7 +97,7 @@
88 DescriptionData( const std::string &description );97 DescriptionData( const std::string &description );
8998
90public: // overridden from TestExtendedData99public: // overridden from TestExtendedData
91 void apply( Test &test ) const;100 void apply( MetaData &test ) const;
92101
93private:102private:
94 std::string description_;103 std::string description_;
@@ -103,7 +112,7 @@
103 TimeOutData( double timeOutInSeconds );112 TimeOutData( double timeOutInSeconds );
104113
105public: // overridden from TestExtendedData114public: // overridden from TestExtendedData
106 void apply( Test &test ) const;115 void apply( MetaData &test ) const;
107116
108private:117private:
109 double timeOutInSeconds_;118 double timeOutInSeconds_;
@@ -118,7 +127,7 @@
118 DependenciesData( const std::string &dependencies );127 DependenciesData( const std::string &dependencies );
119128
120public: // overridden from TestExtendedData129public: // overridden from TestExtendedData
121 void apply( Test &test ) const;130 void apply( MetaData &test ) const;
122private:131private:
123 std::string dependencies_;132 std::string dependencies_;
124};133};
@@ -132,7 +141,7 @@
132 GroupData( const std::string &groupName );141 GroupData( const std::string &groupName );
133142
134public: // overridden from TestExtendedData143public: // overridden from TestExtendedData
135 void apply( Test &test ) const;144 void apply( MetaData &test ) const;
136private:145private:
137 std::string groupName_;146 std::string groupName_;
138};147};
@@ -149,7 +158,7 @@
149158
150 static TimeOutData timeOut( double timeOutInSeconds );159 static TimeOutData timeOut( double timeOutInSeconds );
151160
152 static DependenciesData depends( const std::string &dependencies );161 static DependenciesData depends( const std::string &dependency );
153162
154 static GroupData group( const std::string &groupName );163 static GroupData group( const std::string &groupName );
155};164};
156165
=== modified file 'cppunit2/include/cpput/forwards.h'
--- cppunit2/include/cpput/forwards.h 2008-07-13 06:19:20 +0000
+++ cppunit2/include/cpput/forwards.h 2008-12-21 17:51:13 +0000
@@ -7,18 +7,21 @@
7namespace CppUT {7namespace CppUT {
88
9class AbortingAssertionException;9class AbortingAssertionException;
10class AbstractTestCase;10class TestCase;
11class AbstractTestSuite;
12class Message;11class Message;
13class StandardTestExceptionGuard;12class StandardTestExceptionGuard;
14class Test;13class MetaData;
15class TestCase;14class TestMeta;
16class TestExtendedData;15class TestExtendedData;
17class TestExtendedDataList;16class TestExtendedDataList;
18class ExceptionGuardElement;17class ExceptionGuardElement;
19class ExceptionGuard;18class ExceptionGuard;
20class TestSuite;19
21class TestVisitor;20// registry.h
21class Registry;
22class StaticSuite;
23class Suite;
24class SuiteMeta;
2225
23// testinfo.h26// testinfo.h
24class CheckerResult;27class CheckerResult;
@@ -36,12 +39,10 @@
36typedef CppTL::ConstString ResourceName;39typedef CppTL::ConstString ResourceName;
3740
38// for ...41// for ...
39typedef CppTL::IntrusivePtr<AbstractTestCase> AbstractTestCasePtr;42typedef CppTL::IntrusivePtr<TestCase> TestCasePtr;
40typedef CppTL::IntrusivePtr<AbstractTestSuite> AbstractTestSuitePtr;
41typedef CppTL::IntrusivePtr<ExceptionGuardElement> ExceptionGuardElementPtr;43typedef CppTL::IntrusivePtr<ExceptionGuardElement> ExceptionGuardElementPtr;
42typedef CppTL::IntrusivePtr<Test> TestPtr;44//typedef CppTL::IntrusivePtr<MetaData> TestPtr;
43typedef CppTL::IntrusivePtr<TestInfo> TestInfoPtr;45typedef CppTL::IntrusivePtr<TestInfo> TestInfoPtr;
44typedef CppTL::IntrusivePtr<TestSuite> TestSuitePtr;
45typedef CppTL::IntrusivePtr<TestResultUpdater> TestResultUpdaterPtr;46typedef CppTL::IntrusivePtr<TestResultUpdater> TestResultUpdaterPtr;
4647
47// for resource.h48// for resource.h
4849
=== added file 'cppunit2/include/cpput/interface.h'
--- cppunit2/include/cpput/interface.h 1970-01-01 00:00:00 +0000
+++ cppunit2/include/cpput/interface.h 2008-12-20 10:45:17 +0000
@@ -0,0 +1,119 @@
1#ifndef CPPUT_INTERFACE_INCLUDED_H
2# define CPPUT_INTERFACE_INCLUDED_H
3
4namespace CppUT {
5
6 /** Minimized and simple interface that expose all user oriented features.
7 * All implementation details are hidden behind pimpl idiom.
8 * Tests discovery:
9 * - list all tests
10 * - greping by test name, with stars matching
11 * Adding a test factory:
12 * - C function
13 * - Macro fixture
14 * - Polymorphic fixture
15 * Executing a list of test
16 * - events on test execution
17 * - list of all results
18 * Writing tests:
19 * - assertions
20 * - string converter
21 * - equality comparison
22 * => prefer predicates instead of operator customization (but may still be useful).
23 * - using resources
24 * Resources factory:
25 * - declaring resources
26 *
27 * - Major refactoring:
28 * Takes down the registry and replace it with a test case registry
29 * => we next to register factory for test case, not for test suite
30 * => test suite becomes only organizational element likes group
31 * => test suite just have a name & a parent suite name
32
331) Split TestCase into
34- TestMeta
35 => all description stuff:
36 - Test base class interface
37 - requireResource()
38 - factory function to create TestCase instance
39- TestCase
40 => all behavior stuffs:
41 - virtual setUp/runTest/tearDown
422) LightTestRunner
43- accept TestMeta as input, not Test
44
45How to proceed:
46Step 1: introducing the test case factory
471) Rename TestCase to TestMeta
482) Change fixture factory to accept a factory for the fixture instead of an instance
493) Introduce new TestCase class with setUp/run/tearDown
504) Change parent class of subclass of TestMeta to TestCase and
51 create the TestMeta using makeFixtureTestCase
52
53How to handle abstract test case:
54- test may be defined in abstract base class
55=> fixture factory is only available if fixture was instantiated.
56conclusion:
57Subclassing need to be reworked to:
58- instantiate the test case for real when a concrete derived class exist
59- store an abstract test meta in suite
60- materialize on concrete class
61
62
63Need to separate Suite from TestMeta.
64=> break the inheritance, only test cases are runnable
65
66Go for minimal test suite for now:
67- has a name
68- may have a parent test suite
69- may have child test suites
70- may have TestCaseMeta
71
72How and where are suite stored ?
73=> want to make path separator configurable
74=> this means that static parent/child relationship must be stored
75=> but interpretation occurs at run-time
76=> need to keep a list of TestMeta associated to a suite
77
78
79
80*/
81
82
83/// Parent suite macro below can be implemented as follow:
84/// Alls tests between BEGIN / END are registered in the specified suite.
85/// @param name use '/' to separate parent and child suite
86/// Starts the name with '/' to make the suite a root suite visible to all.
87/// Notes: this can be implemented as a set of nested anonymous namespace:
88/// using CppUT::parentSuite;
89/// namespace { // CPPUT_BEGIN_SUITE( "Trading" )
90/// const char *currentSuite = "Trading";
91/// namespace { // CPPUT_BEGIN_SUITE( "Forex" )
92/// const char *currentSuite = "Forex";
93/// } // CPPUT_END_SUITE
94/// } // CPPUT_END_SUITE
95
96
97// Parent Suite Declaration
98#define CPPUT_SET_DEFAULT_SUITE( name )
99#define CPPUT_SUITE( name )
100#define CPPUT_NESTED_SUITE( name )
101#define CPPUT_END_NESTED_SUITE
102#define CPPUT_END_SUITE
103
104// Parenting suite
105#define CPPUT_PARENT_SUITE( parentName, childName )
106
107// Plain C function
108#define CPPUT_REGISTER_TEST_FUNCTION( testFunction )
109#define CPPUT_TEST( testFunctionName )
110
111// Lightweight fixture
112#define CPPUT_TEST_LIGHT_FIXTURE( FixtureType, testName )
113#define CPPUT_TEST_LIGHT_FIXTURE_WITH_SPECIFICS( FixtureType, testName, specifics )
114
115} // namespace CppUT
116
117
118
119#endif // CPPUT_INTERFACE_INCLUDED_H
0120
=== modified file 'cppunit2/include/cpput/lightfixture.h'
--- cppunit2/include/cpput/lightfixture.h 2007-08-15 15:48:29 +0000
+++ cppunit2/include/cpput/lightfixture.h 2009-03-13 20:59:56 +0000
@@ -6,38 +6,54 @@
6# include "testcase.h"6# include "testcase.h"
7# include "registry.h"7# include "registry.h"
88
9/*! \bief Implementation detail for light fixture: make class name.9namespace CppUT {
10 */10 namespace Impl {
11#define _CPPUT_LF_CLASS( FixtureType, testName ) \11 inline TestMeta
12 FixtureType##_##testName12 declareFixtureTestCase( TestCaseFactoryFn factory,
1313 const char *fixtureSuiteName,
14/*! \brief Implementation detail for light fixture.14 const char *testCaseName,
15 * Implementation Notes: a class deriving from the \c FixtureType is created 15 Suite &parentSuite )
16 * for each test. The user actually implement the member function named after \c testName.16 {
17 */17 TestMeta test( factory, testCaseName );
18#define _CPPUT_TEST_LIGHT_FIXTURE_IMPL( FixtureType, testName, specificsCode ) \18 parentSuite.makeNestedSuite( fixtureSuiteName ).add( test );
19 class _CPPUT_LF_CLASS(FixtureType,testName) : public FixtureType \19 return test;
20 , public ::CppUT::TestExtendedDataFactory \20 }
21 { \21
22 public: \22 inline TestMeta
23 static ::CppUT::TestPtr cpputMakeTest() /* TestFactory */ \23 declareFixtureTestCase( TestCaseFactoryFn factory,
24 { \24 const char *fixtureSuiteName,
25 ::CppUT::TestPtr test( ::CppUT::makeTestCase( \25 const char *testCaseName,
26 &_CPPUT_LF_CLASS(FixtureType,testName)::cpputTest, #testName ) ); \26 const ::CppUT::TestExtendedData &metaData,
27 specificsCode \27 Suite &parentSuite )
28 return test; \28 {
29 } \29 MetaData testMetaData( testCaseName );
30 public: \30 metaData.apply( testMetaData );
31 static void cpputTest() \31 TestMeta test( factory, testMetaData );
32 { \32 parentSuite.makeNestedSuite( fixtureSuiteName ).add( test );
33 _CPPUT_LF_CLASS(FixtureType,testName) fixture; \33 return test;
34 fixture.testName(); \34 }
35 } \35 }
36 void testName(); \36}
37 }; \37
38 CPPUT_REGISTER_TESTFACTORY_IN( &_CPPUT_LF_CLASS(FixtureType,testName)::cpputMakeTest, \38#define _CPPUT_FIXTURE_TEST_COMMON( FixtureType, testFunction ) \
39 #FixtureType ); \39 class FixtureType##testFunction : public FixtureType \
40 void _CPPUT_LF_CLASS(FixtureType,testName)::testName()40 { \
41 static ::CppUT::TestMeta testMeta; \
42 public: \
43 static ::CppUT::TestCase *cpputFactory() \
44 { \
45 return new FixtureType##testFunction(); \
46 } \
47 \
48 public: /* overriden from CppUT::TestCase */ \
49 virtual void run(); \
50 }; \
51 \
52 ::CppUT::TestMeta FixtureType##testFunction::testMeta( \
53 ::CppUT::Impl::declareFixtureTestCase( \
54 &FixtureType##testFunction::cpputFactory, \
55 #FixtureType, \
56 #testFunction, \
4157
42/*! \brief Declare and register a light fixture test case.58/*! \brief Declare and register a light fixture test case.
43 * The test case is named after the function name and register in the suite named after 59 * The test case is named after the function name and register in the suite named after
@@ -57,8 +73,12 @@
57 * }73 * }
58 * \endCode74 * \endCode
59 */75 */
60#define CPPUT_TEST_LIGHT_FIXTURE( FixtureType, testName ) \76#define CPPUT_FIXTURE_TEST( FixtureType, testFunction ) \
61 _CPPUT_TEST_LIGHT_FIXTURE_IMPL( FixtureType, testName, (void)0; )77 _CPPUT_FIXTURE_TEST_COMMON( FixtureType, testFunction ) \
78 CPPUT_CURRENT_SUITE() ) ); \
79 \
80 void FixtureType##testFunction::run()
81
6282
63/*! \brief Declare and register a light fixture test case with extended data.83/*! \brief Declare and register a light fixture test case with extended data.
64 * The test case is named after the function name and register in the suite named after 84 * The test case is named after the function name and register in the suite named after
@@ -78,19 +98,16 @@
78 * }98 * }
79 * \endCode99 * \endCode
80 */100 */
81#define CPPUT_TEST_LIGHT_FIXTURE_WITH_SPECIFICS( FixtureType, testName, specifics ) \101#define CPPUT_FIXTURE_TEST_WITH_META( FixtureType, testFunction, metaData ) \
82 _CPPUT_TEST_LIGHT_FIXTURE_IMPL( FixtureType, testName, \102 _CPPUT_FIXTURE_TEST_COMMON( FixtureType, testFunction ) \
83 ( specifics ).apply( *test ); )103 metaData, \
84104 CPPUT_CURRENT_SUITE() ) ); \
85/*! \brief register the light fixture suite to the default Registry suite.105 \
86 */106 void FixtureType##testFunction::run()
87#define CPPUT_REGISTER_LIGHT_FIXTURE( FixtureType ) \107
88 CPPUT_REGISTER_SUITE_RELATIONSHIP_TO_DEFAULT( #FixtureType )108#define CPPUT_EXPORTED_FIXTURE_SUITE( FixtureType, exportedVariableName ) \
89109 extern ::CppUT::SuiteMeta exportedVariableName( \
90/*! \brief register the light fixture suite to the specified Registry suite.110 CPPUT_CURRENT_SUITE().makeNestedSuite( #FixtureType ) )
91 */
92#define CPPUT_REGISTER_LIGHT_FIXTURE_IN( FixtureType, parentSuiteName ) \
93 CPPUT_REGISTER_SUITE_RELATIONSHIP( #FixtureType, parentSuiteName )
94111
95112
96#endif // CPPUT_LIGHTFIXTURE_H_INCLUDED113#endif // CPPUT_LIGHTFIXTURE_H_INCLUDED
97114
=== modified file 'cppunit2/include/cpput/lighttestrunner.h'
--- cppunit2/include/cpput/lighttestrunner.h 2008-12-18 22:15:59 +0000
+++ cppunit2/include/cpput/lighttestrunner.h 2008-12-21 13:50:58 +0000
@@ -3,6 +3,7 @@
33
4# include <cpput/forwards.h>4# include <cpput/forwards.h>
5# include <cpput/testinfo.h>5# include <cpput/testinfo.h>
6# include <cpput/registry.h>
6# include <cpptl/intrusiveptr.h>7# include <cpptl/intrusiveptr.h>
7# include <deque>8# include <deque>
89
@@ -18,9 +19,9 @@
1819
19 virtual ~LightTestRunner();20 virtual ~LightTestRunner();
2021
21 void addTest( const TestPtr &test );22 void addSuite( const Suite &suite );
2223
23 bool runAllTests();24 bool runTests();
2425
25 private: // overridden from TestResultUpdater26 private: // overridden from TestResultUpdater
26 virtual void addResultLog( const Json::Value &log );27 virtual void addResultLog( const Json::Value &log );
@@ -28,9 +29,8 @@
28 virtual void addResultAssertion( const Assertion &assertion );29 virtual void addResultAssertion( const Assertion &assertion );
2930
30 private:31 private:
31 void runTest( const TestPtr &test );32 void runTestSuite( const Suite &suite );
32 void runTestSuite( const TestSuitePtr &suite );33 void runTestCase( const TestMeta &testCase );
33 void runTestCase( const AbstractTestCasePtr &testCase );
34 CppTL::ConstString getTestPath() const;34 CppTL::ConstString getTestPath() const;
35 void reportFailure( const Assertion &failure );35 void reportFailure( const Assertion &failure );
36 void reportLog( const Json::Value &log );36 void reportLog( const Json::Value &log );
@@ -41,8 +41,8 @@
41 bool isLog_;41 bool isLog_;
42 };42 };
4343
44 typedef std::deque<TestPtr> Tests;44 typedef std::deque<Suite> SuitesToRun;
45 Tests tests_;45 SuitesToRun suitesToRun_;
46 typedef std::deque<CppTL::ConstString> TestPath;46 typedef std::deque<CppTL::ConstString> TestPath;
47 TestPath testPath_;47 TestPath testPath_;
48 CppTL::StringBuffer report_;48 CppTL::StringBuffer report_;
4949
=== renamed file 'cppunit2/include/cpput/test.h' => 'cppunit2/include/cpput/metadata.h'
--- cppunit2/include/cpput/test.h 2006-09-03 05:15:49 +0000
+++ cppunit2/include/cpput/metadata.h 2009-03-13 21:39:02 +0000
@@ -1,30 +1,37 @@
1#ifndef CPPUT_TEST_H_INCLUDED1#ifndef CPPUT_METADATA_H_INCLUDED
2# define CPPUT_TEST_H_INCLUDED2# define CPPUT_METADATA_H_INCLUDED
33
4# include <cpput/forwards.h>4# include <cpput/forwards.h>
5# include <json/value.h>5# include <json/value.h>
6# include <cpptl/conststring.h>6# include <cpptl/conststring.h>
7# include <cpptl/intrusiveptr.h>7# include <cpptl/intrusiveptr.h>
8# include <cpput/extendeddata.h>
8# include <string>9# include <string>
910
1011
11namespace CppUT {12namespace CppUT {
1213
13class TestVisitor;
14
15/*! This class represents the data about a test.14/*! This class represents the data about a test.
16 * \ingroup group_testcases15 * \ingroup group_testcases
17 *16 *
18 * It is the base class of AbstractTestCase and AbstractTestSuite.17 * It is the base class of TestMeta.
19 */18 */
20class CPPUT_API Test : public CppTL::IntrusiveCount19class CPPUT_API MetaData : public CppTL::IntrusiveCount
21{20{
22 // ensure that this class can only be derived by AbstractTestCase and
23 // AbstractTestSuite.
24 friend class AbstractTestCase;
25 friend class AbstractTestSuite;
26public:21public:
27 virtual ~Test()22 explicit MetaData( const std::string &name )
23 {
24 info_["configuration/name"] = name;
25 }
26
27 explicit MetaData( const std::string &name,
28 const TestExtendedData &metaDataFactory )
29 {
30 info_["configuration/name"] = name;
31 metaDataFactory.apply( *this );
32 }
33
34 virtual ~MetaData()
28 {35 {
29 }36 }
3037
@@ -68,13 +75,6 @@
68 return info_["configuration"]["groups"][index].asString();75 return info_["configuration"]["groups"][index].asString();
69 }76 }
7077
71 /// @warning You must never change the name of the test after
72 /// registering the test or scheduling it for running.
73 void setName( const std::string &name )
74 {
75 info_["configuration/name"] = name;
76 }
77
78 //OpenTest::PropertiesAccessor info() const78 //OpenTest::PropertiesAccessor info() const
79 //{79 //{
80 // return info_.accessor();80 // return info_.accessor();
@@ -87,28 +87,6 @@
87 // return info_;87 // return info_;
88 //}88 //}
8989
90 /// Returns \c true if the class is derived from AbstractTestSuite.
91 bool isTestSuite() const
92 {
93 return !isTestCase();
94 }
95
96 virtual void accept( TestVisitor &visitor ) = 0;
97
98 /// Returns \c true if the class is derived from AbstractTestCase.
99 virtual bool isTestCase() const = 0;
100
101private:
102 Test()
103 {
104 setName( "<undefined>" );
105 }
106
107 Test( const std::string &name )
108 {
109 setName( name );
110 }
111
112private:90private:
113 Json::Value info_;91 Json::Value info_;
114};92};
@@ -116,4 +94,4 @@
11694
117} // namespace CppUT95} // namespace CppUT
11896
119#endif // CPPUT_TEST_H_INCLUDED97#endif // CPPUT_METADATA_H_INCLUDED
12098
=== modified file 'cppunit2/include/cpput/parametrizedsource.h'
--- cppunit2/include/cpput/parametrizedsource.h 2005-02-27 13:38:28 +0000
+++ cppunit2/include/cpput/parametrizedsource.h 2008-12-11 20:28:30 +0000
@@ -78,7 +78,7 @@
78 SuitePaths suitePath_;78 SuitePaths suitePath_;
79};79};
80/*80/*
81class ParametrizedTestCase : public AbstractTestCase81class ParametrizedTestCase : public TestCase
82{82{
83public:83public:
84};84};
8585
=== modified file 'cppunit2/include/cpput/registry.h'
--- cppunit2/include/cpput/registry.h 2007-08-15 09:20:57 +0000
+++ cppunit2/include/cpput/registry.h 2008-12-21 13:50:58 +0000
@@ -1,288 +1,248 @@
1#ifndef CPPUT_REGISTRY_H_INCLUDED1#ifndef CPPUT_REGISTRY_H_INCLUDED
2# define CPPUT_REGISTRY_H_INCLUDED2# define CPPUT_REGISTRY_H_INCLUDED
33
4# include <cpput/forwards.h>4# include <cpput/forwards.h>
5# include <cpptl/conststring.h>5# include <cpptl/conststring.h>
6# include <cpptl/functor.h>6# include <cpptl/functor.h>
7# include <deque>7# include <deque>
8# include <map>8# include <map>
99
1010namespace CppUT {
11namespace CppUT {11 namespace Impl {
1212 class RegistryImpl;
13/*! \ingroup group_testregistry13 class SuiteImpl;
14*/14
15typedef CppTL::Functor0R<TestPtr> TestFactory;15 /// Creates a suite with the specified name and makes it the new default root suite.
1616 /// The suite is nested into the current default root suite if any,
17/*! \ingroup group_testregistry17 /// or the top level root suite otherwise.
18*/18 /// @return Always \c NULL.
19typedef int TestFactoryId;19 StaticSuite *makeAndSetDefaultRootSuite( const char *name );
2020
2121 /// Sets the default root suite to the top level root suite.
22/*! \ingroup group_testregistry22 /// @return Always \c NULL.
23 * Static registry for all tests.23 StaticSuite *resetDefaultRootSuite();
24 * Any suite or test added to the registry by a dynamic library that contains test should24
25 * be removed using remove(). Helper macros take carre of this.25 /// Creates a suite with the specified name.
26 */26 /// The suite is nested into the current default suite if any,
27class CPPUT_API Registry27 /// or the top level root suite otherwise.
28{28 /// @return Always \c NULL.
29public:29 StaticSuite *makeNestedSuiteInDefaultRootSuite( const char *name );
30 static std::string defaultParentSuiteName();30
3131 /// Makes \c suite a child of \c parentSuite.
32 static Registry &instance();32 /// \c suite is removed from its current parent and make
3333 /// a nested suite of \c parentSuite.
34 Registry();34 /// @return Always \c NULL.
3535 StaticSuite *reparentSuite( Suite &parentSuite,
36 void addChild( const std::string &parentSuiteName,36 Suite &suite );
37 const std::string &childSuiteName );37
38 void addChildToDefault( const std::string &childSuiteName );38
3939 SuiteMeta currentSuite();
40 bool removeChild( const std::string &parentSuiteName,40 } // namespace Impl
41 const std::string &childSuiteName );41
4242// internal
43 TestFactoryId add( const std::string &parentSuiteName,43#define _CPPUT_DECLARE_ROOT_SUITE( name, factory ) \
44 const TestFactory &testFactory );44 static ::CppUT::StaticSuite * \
45 TestFactoryId add( const std::string &parentSuiteName,45 CPPTL_MAKE_UNIQUE_NAME(cpputRootSuite) = \
46 TestPtr (*factory)() );46 ::CppUT::Impl::factory( name )
47 TestFactoryId add( const std::string &parentSuiteName,47
48 TestPtr (*factory)( const std::string &suiteName ),48
49 const std::string &suiteName = std::string("") );49///*! \ingroup group_testregistry
5050class Suite
51 TestFactoryId addToDefault( const TestFactory &testFactory );51{
52 TestFactoryId addToDefault( TestPtr (*factory)() );52 friend class Impl::RegistryImpl;
53 TestFactoryId addToDefault( TestPtr (*factory)( const std::string &suiteName ),53 friend class SuiteMeta;
54 const std::string &suiteName = std::string("") );54public:
5555 /// Creates an invalid suite.
56 bool remove( TestFactoryId testFactoryId );56 Suite();
5757
58 TestSuitePtr createTests( const std::string &suiteName ) const;58 /// Creates a new orphaned suite
5959 Suite( const std::string &name );
60 TestSuitePtr createDefaultTests() const;60
6161 //Suite( const Suite &other );
62 void addCreatedTests( const std::string &suiteName,62 ~Suite();
63 const TestSuitePtr &suite ) const;63
6464 //Suite &operator =( const Suite &other );
65private:65
66 void addChildSuite( const std::string &suiteName, 66 Suite parent() const;
67 const TestSuitePtr &suite ) const;67
6868 bool isValid() const;
69 void addSuiteRegisteredTests( const std::string &suiteName, 69
70 const TestSuitePtr &suite ) const;70 std::string name() const;
7171
72 TestFactoryId nextFactoryId();72 int nestedSuiteCount() const;
7373 Suite nestedSuiteAt( int index ) const;
74 typedef std::pair<TestFactory, TestFactoryId> TestFactoryWithId;74 Suite nestedSuiteByName( const std::string &name ) const;
75 75 Suite makeNestedSuite( const std::string &name );
76 typedef std::deque<TestFactoryWithId> TestFactories;76
77 typedef std::map<CppTL::ConstString,TestFactories> TestFactoryRegistry;77 int testCaseCount() const;
78 TestFactoryRegistry registry_;78 const TestMeta *testCaseAt( int index ) const;
7979
80 typedef std::multimap<CppTL::ConstString,CppTL::ConstString> ParentChildRelationShips;80 void add( const TestMeta &testCase );
81 ParentChildRelationShips relations_;81
8282private:
83 typedef std::map<TestFactoryId,CppTL::ConstString> TestFactoryParentSuiteById;83 Suite( Impl::SuiteImpl *suite );
84 TestFactoryParentSuiteById parentSuiteById_;84 Impl::SuiteImpl *impl_;
8585};
86 TestFactoryId nextId_;86
87};87
8888/*! \ingroup group_testregistry
8989 * \brief Static Suite description handle.
90namespace Impl {90 */
91 91class SuiteMeta : public Suite
92 enum RegisterToNamedSuiteTag {92{
93 registerToNamedSuite93 friend class Impl::RegistryImpl;
94 };94public:
9595 ~SuiteMeta();
96} // namespace Impl96
9797 /// Returns the suite.
9898 /// \internal Implementation detail of for CPPUT_CURRENT_SUITE().
99/*! \ingroup group_testregistry99 SuiteMeta &operator()();
100*/100
101template<class SuiteType>101private:
102class SuiteRegisterer102 explicit SuiteMeta( Impl::SuiteImpl *impl );
103{103};
104public:104
105 SuiteRegisterer()105
106 {106/*! \ingroup group_testregistry
107 testFactoryId_ = Registry::instance().addToDefault( &SuiteType::suite );107 * Static registry for all tests.
108 }108 * Any suite or test added to the registry by a dynamic library that contains test should
109109 * be removed using remove(). Helper macros take carre of this.
110 SuiteRegisterer( const std::string &suiteName )110 */
111 {111class CPPUT_API Registry
112 testFactoryId_ = Registry::instance().addToDefault( &SuiteType::suite, 112{
113 suiteName );113public:
114 }114 static Suite getRootSuite();
115115
116 SuiteRegisterer( Impl::RegisterToNamedSuiteTag,116 static std::string dump();
117 const std::string &parentSuiteName )117
118 {118private:
119 testFactoryId_ = Registry::instance().add( parentSuiteName,119
120 &SuiteType::suite );120//
121 }121// static std::string defaultParentSuiteName();
122122//
123 SuiteRegisterer( Impl::RegisterToNamedSuiteTag,123// static Registry &instance();
124 const std::string &parentSuiteName, 124//
125 const std::string &suiteName )125// Registry();
126 {126//
127 testFactoryId_ = Registry::instance().add( parentSuiteName,127// void addChild( const std::string &parentSuiteName,
128 &SuiteType::suite,128// const std::string &childSuiteName );
129 suiteName );129// void addChildToDefault( const std::string &childSuiteName );
130 }130//
131131// bool removeChild( const std::string &parentSuiteName,
132 ~SuiteRegisterer()132// const std::string &childSuiteName );
133 {133//
134 Registry::instance().remove( testFactoryId_ );134// TestFactoryId add( const std::string &parentSuiteName,
135 }135// const TestFactory &testFactory );
136136// TestFactoryId add( const std::string &parentSuiteName,
137protected:137// TestPtr (*factory)() );
138 SuiteRegisterer( TestFactoryId testFactoryId ):138// TestFactoryId add( const std::string &parentSuiteName,
139 testFactoryId_( testFactoryId )139// TestPtr (*factory)( const std::string &suiteName ),
140 {140// const std::string &suiteName = std::string("") );
141 }141//
142142// TestFactoryId addToDefault( const TestFactory &testFactory );
143private:143// TestFactoryId addToDefault( TestPtr (*factory)() );
144 TestFactoryId testFactoryId_;144// TestFactoryId addToDefault( TestPtr (*factory)( const std::string &suiteName ),
145};145// const std::string &suiteName = std::string("") );
146146//
147147// bool remove( TestFactoryId testFactoryId );
148148//
149/*! \ingroup group_testregistry149// TestSuitePtr createTests( const std::string &suiteName ) const;
150*/150//
151#define CPPUT_REGISTER_NAMED_SUITE_TO_DEFAULT( TestFixtureType, suiteName ) \151// TestSuitePtr createDefaultTests() const;
152 static CppUT::SuiteRegisterer< TestFixtureType > \152//
153 CPPTL_MAKE_UNIQUE_NAME(cpputSuiteRegisterer )(suiteName);153// void addCreatedTests( const std::string &suiteName,
154154// const TestSuitePtr &suite ) const;
155155//
156/*! \ingroup group_testregistry156//private:
157*/157// void addChildSuite( const std::string &suiteName,
158#define CPPUT_REGISTER_SUITE_TO_DEFAULT( TestFixtureType ) \158// const TestSuitePtr &suite ) const;
159 static CppUT::SuiteRegisterer< TestFixtureType > \159//
160 CPPTL_MAKE_UNIQUE_NAME(cpputSuiteRegisterer );160// void addSuiteRegisteredTests( const std::string &suiteName,
161161// const TestSuitePtr &suite ) const;
162162//
163/*! \ingroup group_testregistry163// TestFactoryId nextFactoryId();
164*/164//
165#define CPPUT_REGISTER_SUITE_IN( TestFixtureType, parentSuiteName ) \165// typedef std::pair<TestFactory, TestFactoryId> TestFactoryWithId;
166 static CppUT::SuiteRegisterer< TestFixtureType > \166//
167 CPPTL_MAKE_UNIQUE_NAME(cpputSuiteRegisterer)( \167// typedef std::deque<TestFactoryWithId> TestFactories;
168 CppUT::Impl::registerToNamedSuite, \168// typedef std::map<CppTL::ConstString,TestFactories> TestFactoryRegistry;
169 parentSuiteName );169// TestFactoryRegistry registry_;
170170//
171171// typedef std::multimap<CppTL::ConstString,CppTL::ConstString> ParentChildRelationShips;
172/*! \ingroup group_testregistry172// ParentChildRelationShips relations_;
173*/173//
174#define CPPUT_REGISTER_NAMED_SUITE_IN( TestFixtureType, \174// typedef std::map<TestFactoryId,CppTL::ConstString> TestFactoryParentSuiteById;
175 parentSuiteName, \175// TestFactoryParentSuiteById parentSuiteById_;
176 suiteName ) \176//
177 static CppUT::SuiteRegisterer< TestFixtureType > \177// TestFactoryId nextId_;
178 CPPTL_MAKE_UNIQUE_NAME(cpputSuiteRegisterer )( \178};
179 CppUT::Impl::registerToNamedSuite, \179
180 parentSuiteName, \180
181 suiteName );181/*! \ingroup group_testregistry
182182 * \brief Set the default test suite.
183/*! \ingroup group_testregistry183 * This is a convenience function to be used in an header. It defined the default
184*/184 * parent suite for all tests including that headers. This is typically used to
185class SuiteRelationshipRegisterer185 * group all tests of a given library under the same parent suite.
186{186 *
187public:187 * \code
188 explicit SuiteRelationshipRegisterer( const std::string &childSuiteName )188 * // MyLib/testing.h
189 : childSuiteName_( childSuiteName )189 * #ifndef MYLIB_TESTING_H_INCLUDED
190 , parentSuiteName_( Registry::defaultParentSuiteName() )190 * # define MYLIB_TESTING_H_INCLUDED
191 {191 * # include <cpput/registry.h>
192 Registry::instance().addChildToDefault( childSuiteName );192 * CPPUT_SET_DEFAULT_SUITE( "MyLib" );
193 }193 * #endif
194194 * // MyLib/test1.cpp
195 SuiteRelationshipRegisterer( const std::string &parentSuiteName,195 * #include "testing.h"
196 const std::string &childSuiteName )196 * // TestCase "test1" will be placed into the suite "MyLib"
197 : parentSuiteName_( parentSuiteName )197 * CPPUT_TEST( test1 ) { // ...
198 , childSuiteName_( childSuiteName )198 * }
199 {199 * // MyLib/test2.cpp
200 Registry::instance().addChild( parentSuiteName, childSuiteName );200 * #include "testing.h"
201 }201 * // TestCase "test1" will be placed into the suite "MyLib"
202202 * CPPUT_TEST( test1 ) { // ...
203 ~SuiteRelationshipRegisterer()203 * }
204 {204 * \endcode
205 Registry::instance().removeChild( parentSuiteName_.str(), 205 * \warning You must use CPPUT_NESTED_SUITE if you want to put test in a child suite of
206 childSuiteName_.str() );206 * MyLib.
207 }207 */
208208#define CPPUT_SET_DEFAULT_SUITE( name ) \
209private:209 namespace { \
210 CppTL::ConstString parentSuiteName_;210 _CPPUT_DECLARE_ROOT_SUITE( name, makeAndSetDefaultRootSuite ); \
211 CppTL::ConstString childSuiteName_;211 }
212};212
213213/*! \ingroup group_testregistry
214214 * \brief Returns the suite test will register in the context were the macro occurs.
215/*! \ingroup group_testregistry215 * Notes: this is mostly an implementation detail. Should not need this unless you are
216*/216 * creating some new kind of test case factor like CPPUT_TEST, CPPUT_FIXTURE_TEST...
217#define CPPUT_REGISTER_SUITE_RELATIONSHIP( parentSuiteName, childSuiteName ) \217 * @return This macro expand into an expression of type CppUT::SuiteMeta.
218 static ::CppUT::SuiteRelationshipRegisterer \218 */
219 CPPTL_MAKE_UNIQUE_NAME(cpputSuiteRelationShipRegisterer )( \219#define CPPUT_CURRENT_SUITE() \
220 parentSuiteName, \220 ::CppUT::Impl::currentSuite()
221 childSuiteName )221
222222
223223/*! \ingroup group_testregistry
224/*! \ingroup group_testregistry224 * \brief Declares the root parent suite of tests until CPPUT_END_SUITE.
225*/225 */
226#define CPPUT_REGISTER_SUITE_RELATIONSHIP_TO_DEFAULT( childSuiteName ) \226#define CPPUT_SUITE( name ) \
227 static ::CppUT::SuiteRelationshipRegisterer \227 _CPPUT_DECLARE_ROOT_SUITE( name, makeNestedSuiteInDefaultRootSuite ); \
228 CPPTL_MAKE_UNIQUE_NAME(cpputSuiteRelationShipRegisterer )( \228 namespace
229 childSuiteName )229
230230#define CPPUT_SUITE_REGISTER( FixtureType ) \
231231 static ::CppUT::StaticSuite * \
232// Plain C function tests232 CPPTL_MAKE_UNIQUE_NAME(cpputRegisterFixtureSuite) = \
233233 ::CppUT::Impl::reparentSuite( CPPUT_CURRENT_SUITE(), \
234/*! \ingroup group_testregistry234 FixtureType :: suite() )
235 * \brief Helper object used to statically register a TestFactory.235
236 */236} // namespace CppUT
237class TestFactoryRegisterer237
238{238
239public:239namespace {
240 typedef TestPtr (*FactoryFn)();240 // Cause the static initializer to be called in each translation unit,
241241 // Reset the current suite to the top root suite.
242 TestFactoryRegisterer( FactoryFn testFactory )242 static ::CppUT::StaticSuite *cpputTopRootSuite =
243 {243 ::CppUT::Impl::resetDefaultRootSuite();
244 testFactoryId_ = Registry::instance().addToDefault( CppTL::cfn0r<TestPtr>(testFactory) );244} // end anonymous namespace
245 }245
246246
247 TestFactoryRegisterer( TestFactory testFactory )247
248 {248#endif // CPPUT_REGISTRY_H_INCLUDED
249 testFactoryId_ = Registry::instance().addToDefault( testFactory );
250 }
251
252 TestFactoryRegisterer( TestFactory testFactory, const std::string &parentSuiteName )
253 {
254 testFactoryId_ = Registry::instance().add( parentSuiteName, testFactory );
255 }
256
257 TestFactoryRegisterer( FactoryFn testFactory, const std::string &parentSuiteName )
258 {
259 testFactoryId_ = Registry::instance().add( parentSuiteName, CppTL::cfn0r<TestPtr>(testFactory) );
260 }
261
262 ~TestFactoryRegisterer()
263 {
264 Registry::instance().remove( testFactoryId_ );
265 }
266
267private:
268 TestFactoryId testFactoryId_;
269};
270
271/*! \ingroup group_testregistry
272 * \brief Register the specified TestFactory in the default Registry suite.
273 */
274#define CPPUT_REGISTER_TESTFACTORY_TO_DEFAULT( testFactory ) \
275 static ::CppUT::TestFactoryRegisterer \
276 CPPTL_MAKE_UNIQUE_NAME(cpputTestFactoryRegisterer)( testFactory )
277
278/*! \ingroup group_testregistry
279 * \brief Register the specified TestFactory in the specified Registry suite.
280 */
281#define CPPUT_REGISTER_TESTFACTORY_IN( testFactory, parentSuiteName ) \
282 static ::CppUT::TestFactoryRegisterer \
283 CPPTL_MAKE_UNIQUE_NAME(cpputTestFactoryRegisterer)( testFactory, parentSuiteName )
284
285} // namespace CppUT
286
287
288#endif // CPPUT_REGISTRY_H_INCLUDED
289249
=== modified file 'cppunit2/include/cpput/tablefixture.h'
--- cppunit2/include/cpput/tablefixture.h 2007-08-16 13:51:04 +0000
+++ cppunit2/include/cpput/tablefixture.h 2008-12-11 20:28:30 +0000
@@ -453,7 +453,7 @@
453 };453 };
454454
455455
456 class TableFixture : public AbstractTestCase456 class TableFixture : public TestCase
457 {457 {
458 public:458 public:
459 typedef void (TableFixture::*ActionFn)();459 typedef void (TableFixture::*ActionFn)();
460460
=== modified file 'cppunit2/include/cpput/testcase.h'
--- cppunit2/include/cpput/testcase.h 2008-07-13 06:19:20 +0000
+++ cppunit2/include/cpput/testcase.h 2009-03-13 21:39:02 +0000
@@ -2,9 +2,10 @@
2# define CPPUT_TESTCASE_H_INCLUDED2# define CPPUT_TESTCASE_H_INCLUDED
33
4# include <cpput/forwards.h>4# include <cpput/forwards.h>
5# include <cpput/extendeddata.h>
5# include <cpptl/functor.h>6# include <cpptl/functor.h>
6# include <cpput/resource.h>7# include <cpput/resource.h>
7# include <cpput/test.h>8# include <cpput/metadata.h>
8# include <string>9# include <string>
9# include <set>10# include <set>
10# include <vector>11# include <vector>
@@ -12,41 +13,93 @@
1213
13namespace CppUT {14namespace CppUT {
1415
16typedef CppTL::Functor0R<TestCase *> TestCaseFactory;
17typedef TestCase *(*TestCaseFactoryFn)();
18
15/*! \brief An abstract test case that can be run.19/*! \brief An abstract test case that can be run.
16 * \ingroup group_testcases20 * \ingroup group_testcases
17 */21 */
18class CPPUT_API AbstractTestCase : public Test22class CPPUT_API TestCase : public TestExtendedDataFactory
19{23{
20public:24 friend class TestMeta;
21 AbstractTestCase( const std::string &name );25public:
26 TestCase();
27
28 virtual ~TestCase();
29
30 virtual void setUp();
31
32 virtual void run() = 0;
33
34 virtual void tearDown();
35
36 //void setUpTestResources();
37
38 //void tearDownTestResources();
39};
40
41
42template<class FunctorType>
43class FunctorTestCase : public TestCase
44{
45public:
46 static TestCase *factory( FunctorType run )
47 {
48 return new FunctorTestCase<FunctorType>( run );
49 }
50
51 FunctorTestCase( FunctorType run )
52 : run_( run )
53 {
54 }
55
56public: // overriden from TestCase
57 virtual void run()
58 {
59 run_();
60 }
61
62private:
63 FunctorType run_;
64};
65
66
67
68
69/*! \brief A test case that can be run.
70 * \ingroup group_testcases
71 */
72class CPPUT_API TestMeta : public MetaData
73{
74public:
75 TestMeta( const TestCaseFactory &factory,
76 const std::string &name );
77
78 TestMeta( TestCaseFactoryFn factory,
79 const std::string &name );
80
81 TestMeta( const TestCaseFactory &factory,
82 const MetaData &metaData );
83
84 TestMeta( TestCaseFactoryFn factory,
85 const MetaData &metaData );
2286
23 /*! \brief Indicates that the test case requires the specified resource.87 /*! \brief Indicates that the test case requires the specified resource.
24 *88 *
25 * The specified resource will be acquired before calling setUp() and89 * The specified resource will be acquired before calling setUp() and
26 * will be at the earliest after calling tearDown().90 * will be released at the earliest after calling tearDown().
27 *91 *
28 * \param resourceName Name of the resource to acquire.92 * \param resourceName Name of the resource to acquire.
29 * \see ResourceHandlerRegistry, getResource().93 * \see ResourceHandlerRegistry, getResource().
30 */94 */
31 void requireResource( const std::string &resourceName );95 void requireResource( const std::string &resourceName );
3296
33 /*! \brief Prepare the acquisition of resource at the beginning of the test run.
34 *
35 * This must be called at the beginning of the test run for each test case.
36 * It allows couting how many time a resource will be used and during
37 * the test run, determining when a resource is no longer needed to free it.
38 *
39 * A ResourceLazyPtr is obtained for each required resource via the
40 * ResourceHandlerRegistry.
41 */
42 void prepareResourceAcquisition();
43
44 /*! \brief Run the test case using the default ExceptionGuard.97 /*! \brief Run the test case using the default ExceptionGuard.
45 *98 *
46 * The default exception guard only detect 99 * The default exception guard only detect
47 * 100 *
48 */101 */
49 bool runTest();102 bool runTest() const;
50103
51 /*! \brief Run the test case using the specified ExceptionGuard.104 /*! \brief Run the test case using the specified ExceptionGuard.
52 *105 *
@@ -60,126 +113,94 @@
60 * information for failure report from exception 113 * information for failure report from exception
61 * that do not subclass std::exception.114 * that do not subclass std::exception.
62 */115 */
63 bool runTest( const ExceptionGuard &guardsChain );116 bool runTest( const ExceptionGuard &guardsChain ) const;
64
65public: // overridden from Test
66 void accept( TestVisitor &visitor );
67
68 /// Returns \c true if the class is derived from AbstractTestCase.
69 bool isTestCase() const;
70
71// Those member functions are public to allow decoration of setUp/run/tearDown
72public:
73 virtual void setUp();
74
75 virtual void run() = 0;
76
77 virtual void tearDown();
78117
79private:118private:
119 typedef std::vector<ResourceLazyPtr> RequiredResources;
120
121 /// @todo fix framework to call this when scheduling tests
122 /*! \brief Prepare the acquisition of resource at the beginning of the test run.
123 *
124 * This must be called at the beginning of the test run for each test case.
125 * It allows couting how many time a resource will be used and during
126 * the test run, determining when a resource is no longer needed to free it.
127 *
128 * A ResourceLazyPtr is obtained for each required resource via the
129 * ResourceHandlerRegistry.
130 */
131 void prepareResourceAcquisition( RequiredResources &requiredResources) const;
132
80 /*! \brief Acquires and setup the resource required by the test case.133 /*! \brief Acquires and setup the resource required by the test case.
81 * Notes: If you decorate the test case, you must ensure134 * Notes: If you decorate the test case, you must ensure
82 * that you also decorate call to acquireTestResource().135 * that you also decorate call to acquireTestResource().
83 * \return \c true if all resources were acquired, \c false otherwise.136 * \return \c true if all resources were acquired, \c false otherwise.
84 */137 */
85 virtual void acquireTestResources( bool &allResourceAcquired );138 void acquireTestResources( bool &allResourceAcquired ) const;
86
87 /*! \brief
88 */
89 void setUpTestResources();
90
91 void tearDownTestResources();
92139
93private:140private:
94 typedef std::set<ResourceName> ResourceNames;141 typedef std::set<ResourceName> ResourceNames;
95 /// Required resource names142 /// Required resource names
96 ResourceNames resourceNames_;143 ResourceNames resourceNames_;
97 typedef std::vector<ResourceLazyPtr> RequiredResources;144 TestCaseFactory factory_;
98 RequiredResources requiredResources_;145};
99};146
100147// Implementation Notes:
101148// Be wary of makeTestCase overloading. There is an optimizer bug in MSVC6 that cause it
102/*! \brief A test case that can be run.149// to recursively call makeTestCase(CppTL::Functor0) when such an overloading exist
103 * \ingroup group_testcases150// and makeTestCase is called with a functor. This has been worked around by removing that
104 */151// overloading.
105class CPPUT_API TestCase : public AbstractTestCase152
106{153
107public:154
108 TestCase( const CppTL::Functor0 &run,155/*! \brief Creates a TestMeta with the specified name and run function.
109 const std::string &name );156 * \ingroup group_testcases
110157 */
111 TestCase( const CppTL::Functor0 &setUp,158TestMeta CPPUT_API makeTestCase( void (*run)(),
112 const CppTL::Functor0 &run,159 const std::string &name );
113 const CppTL::Functor0 &tearDown,160
114 const std::string &name );161
115162/*! \brief Creates a TestMeta with the specified name, run function and metaData.
116public: // overridden from AbstractTestCase163 * \ingroup group_testcases
117 void setUp();164 */
118165TestMeta CPPUT_API makeTestCase( void (*run)(),
119 void run();166 const MetaData &metaData );
120167
121 void tearDown();168
122169/*! \brief Creates a TestMeta with the specified name and run functor.
123private:170 * \ingroup group_testcases
124 CppTL::Functor0 setUp_;171 * FunctorType must be copyable and callable with no parameter.
125 CppTL::Functor0 run_;172 */
126 CppTL::Functor0 tearDown_;173template<class FunctorType>
127};174TestMeta makeTestCase( FunctorType run,
128175 const std::string &name )
129176{
130177 return TestMeta( CppTL::bind_cfnr( &FunctorTestCase<FunctorType>::factory, run ), name );
131/*! \brief Creates a TestCase with the specified name and run functor.178}
132 * \ingroup group_testcases179
133 */180
134TestPtr CPPUT_API makeTestCase( void (*run)(),181/*! \brief Creates a TestMeta with the specified name and run functor.
135 const std::string &name );182 * \ingroup group_testcases
136183 * FunctorType must be copyable and callable with no parameter.
137184 */
138/*! \brief Creates a TestCase with the specified name and run functor.185template<class FunctorType>
139 * \ingroup group_testcases186TestMeta makeTestCase( FunctorType run,
140 */187 const MetaData &metaData )
141TestPtr CPPUT_API makeTestCase( const CppTL::Functor0 &run,188{
142 const std::string &name );189 return TestMeta( CppTL::bind_cfnr( &FunctorTestCase<FunctorType>::factory, run ), metaData );
143190}
144191
145/*! \brief Creates a TestCase with the specified name and setUp, run, and tearDown functor.192
146 * \ingroup group_testcases193/*! \brief Creates a TestMeta with the specified name that will always fail.
147 */
148TestPtr CPPUT_API makeTestCase( const CppTL::Functor0 &setUp,
149 const CppTL::Functor0 &run,
150 const CppTL::Functor0 &tearDown,
151 const std::string &name );
152
153/*! \brief Creates a TestCase with the specified name that will always fail.
154 * \ingroup group_testcases194 * \ingroup group_testcases
155 *195 *
156 * The test case run body simply call CPPUT_FAIL() with the specified message.196 * The test case run body simply call CPPUT_FAIL() with the specified message.
157 *197 *
158 * This is useful for example when a TestSuite is created from input data 198 * This is useful for example when a Suite is created from input data
159 * and those an invalid or inaccessible. A failing test case can be added to199 * and those an invalid or inaccessible. A failing test case can be added to
160 * the suite to report the error.200 * the suite to report the error.
161 */201 */
162TestPtr CPPUT_API makeFailingTestCase( const std::string &name,202TestMeta CPPUT_API makeFailingTestCase( const std::string &name,
163 const Message &message );203 const Message &message );
164
165/*! \brief Creates a TestCase using a fixture-like object.
166 * \ingroup group_testcases
167 *
168 * The test case will delegate implementation of AbstractTestCase setUp() and
169 * tearDown() to method of the same name on the given \c fixture object.
170 */
171template<typename FixtureType>
172TestPtr makeFixtureTestCase( const CppTL::IntrusivePtr<FixtureType> &fixture,
173 const CppTL::Functor0 &run,
174 const std::string &name )
175{
176 /// @todo Use traits to get smart-pointer type and allow for any type of smart-pointer
177 return makeTestCase( CppTL::memfn0( fixture, &FixtureType::setUp ),
178 run,
179 CppTL::memfn0( fixture, &FixtureType::tearDown ),
180 name );
181}
182
183204
184} // namespace CppUT205} // namespace CppUT
185206
186207
=== modified file 'cppunit2/include/cpput/testfixture.h'
--- cppunit2/include/cpput/testfixture.h 2005-11-13 09:12:01 +0000
+++ cppunit2/include/cpput/testfixture.h 2008-12-31 19:13:19 +0000
@@ -4,13 +4,217 @@
4# include <cpput/forwards.h>4# include <cpput/forwards.h>
5# include <cpput/extendeddata.h>5# include <cpput/extendeddata.h>
6# include <cpput/testcase.h>6# include <cpput/testcase.h>
7# include <cpput/testsuite.h>7# include <cpput/registry.h>
8# include <cpput/translate.h>8# include <cpput/translate.h>
9# include <cpptl/typename.h>9# include <cpptl/typename.h>
1010
1111
12namespace CppUT {12namespace CppUT {
1313
14// //////////////////////////////////////////////////////////////////
15// //////////////////////////////////////////////////////////////////
16// Internal implementation macros
17// //////////////////////////////////////////////////////////////////
18// //////////////////////////////////////////////////////////////////
19
20// Internal
21// Prolog parts that is common to abstract, base and derived fixture classes.
22// Declares test case factory and run member function pointer.
23#define _CPPUT_TESTSUITE_COMMON( FixtureType ) \
24 public: \
25 void (FixtureType :: *cpputRun_)(); \
26 \
27 typedef FixtureType CppUTSelfType; \
28 \
29 struct FixtureTestFactory \
30 { \
31 typedef ::CppUT::TestCase *result_type; \
32 \
33 void (FixtureType :: *run_)(); \
34 ::CppUT::TestCaseFactoryFn factory_; \
35 \
36 \
37 static void addTest( ::CppUT::Suite &suite, \
38 ::CppUT::TestCaseFactoryFn fixtureFactory, \
39 const char *name, \
40 void (FixtureType :: *run)() ) \
41 { \
42 FixtureTestFactory factory; \
43 factory.run_ = run; \
44 factory.factory_ = fixtureFactory; \
45 suite.add( ::CppUT::TestMeta( ::CppTL::fn0r( factory ), \
46 name ) ); \
47 } \
48 \
49 static void addTest( ::CppUT::Suite &suite, \
50 ::CppUT::TestCaseFactoryFn fixtureFactory, \
51 const char *name, \
52 void (FixtureType :: *run)(), \
53 const ::CppUT::TestExtendedData &metaData ) \
54 { \
55 FixtureTestFactory factory; \
56 factory.run_ = run; \
57 factory.factory_ = fixtureFactory; \
58 suite.add( ::CppUT::TestMeta( ::CppTL::fn0r( factory ), \
59 ::CppUT::MetaData( name, metaData ) \
60 ) ); \
61 } \
62 \
63 \
64 ::CppUT::TestCase *operator()() const \
65 { \
66 FixtureType *fixture = static_cast<FixtureType *>( factory_() ); \
67 if ( fixture != 0 ) \
68 { \
69 fixture->cpputClearRunnable(); \
70 fixture->cpputRun_ = run_; \
71 } \
72 return fixture; \
73 } \
74 }; \
75 \
76 \
77 virtual void cpputClearRunnable() \
78 { \
79 cpputRun_ = 0; \
80 }
81
82
83// Internal
84// Part that is common to all concrete fixture classes
85// Declares fixture, and suite factories.
86#define _CPPUT_TESTSUITE_COMMON_CONCRETE( FixtureType ) \
87 static ::CppUT::TestCase *fixtureFactory() \
88 { \
89 return new FixtureType(); \
90 } \
91 \
92 static ::CppUT::Suite suite() \
93 { \
94 ::CppUT::Suite thisSuite( #FixtureType ); \
95 addTests( thisSuite ); \
96 return thisSuite; \
97 } \
98 \
99 static void addTests( ::CppUT::Suite &suite, \
100 ::CppUT::TestCaseFactoryFn factory = &FixtureType :: fixtureFactory )\
101 {
102
103// Internal
104// Part that is common to all abstract fixture classes.
105// Declares suite factory.
106# define _CPPUT_TESTSUITE_COMMON_ABSTRACT( FixtureType ) \
107 static void addTests( ::CppUT::Suite &suite, \
108 ::CppUT::TestCaseFactoryFn factory ) \
109 {
110
111
112// Internal
113// Part that is common to all derived fixture classes.
114// Chaine suite factory with parent class factory.
115# define _CPPUT_TESTSUITE_COMMON_EXTEND( FixtureType, ParentFixtureType ) \
116 ParentFixtureType :: addTests( suite, factory )
117
118
119// Internal
120// Part that is common to all base hierarchy fixture classes.
121// Run test based on content of member function pointer cpputRun_.
122# define _CPPUT_TESTSUITE_BASE_RUN( FixtureType ) \
123 /* overridden from CppUT::TestCase */ \
124 virtual void run() \
125 { \
126 (this->*cpputRun_)(); \
127 }
128
129
130// Internal
131// Part that is common to all derived fixture classes.
132// Run test based on content of member function pointer cpputRun_ if set,
133// otherwise forward run call to base class.
134# define _CPPUT_TESTSUITE_DERIVED_RUN( FixtureType, ParentFixtureType ) \
135 /* overridden from CppUT::TestCase */ \
136 virtual void run() \
137 { \
138 if ( cpputRun_ == 0 ) \
139 ParentFixtureType :: run(); \
140 else \
141 (this->*cpputRun_)(); \
142 }
143
144
145
146// //////////////////////////////////////////////////////////////////
147// //////////////////////////////////////////////////////////////////
148// Interface macros
149// //////////////////////////////////////////////////////////////////
150// //////////////////////////////////////////////////////////////////
151
152
153# define CPPUT_TESTSUITE_BEGIN( FixtureType ) \
154 _CPPUT_TESTSUITE_COMMON( FixtureType ) \
155 _CPPUT_TESTSUITE_BASE_RUN( FixtureType ) \
156 _CPPUT_TESTSUITE_COMMON_CONCRETE( FixtureType ) \
157
158# define CPPUT_TESTSUITE_ABSTRACT_BEGIN( FixtureType ) \
159 _CPPUT_TESTSUITE_COMMON( FixtureType ) \
160 _CPPUT_TESTSUITE_BASE_RUN( FixtureType ) \
161 _CPPUT_TESTSUITE_COMMON_ABSTRACT( FixtureType )
162
163# define CPPUT_TESTSUITE_ABSTRACT_EXTEND( FixtureType, ParentFixtureType ) \
164 _CPPUT_TESTSUITE_COMMON( FixtureType ) \
165 _CPPUT_TESTSUITE_DERIVED_RUN( FixtureType, ParentFixtureType ) \
166 _CPPUT_TESTSUITE_COMMON_ABSTRACT( FixtureType ) \
167 _CPPUT_TESTSUITE_COMMON_EXTEND( FixtureType, ParentFixtureType );
168
169# define CPPUT_TESTSUITE_EXTEND( FixtureType, ParentFixtureType ) \
170 _CPPUT_TESTSUITE_COMMON( FixtureType ) \
171 _CPPUT_TESTSUITE_DERIVED_RUN( FixtureType, ParentFixtureType ) \
172 _CPPUT_TESTSUITE_COMMON_CONCRETE( FixtureType ) \
173 _CPPUT_TESTSUITE_COMMON_EXTEND( FixtureType, ParentFixtureType );
174
175# define CPPUT_TESTSUITE_TEST( testMethod ) \
176 FixtureTestFactory::addTest( suite, factory, #testMethod, \
177 &CppUTSelfType :: testMethod )
178
179# define CPPUT_TESTSUITE_TEST_WITH_META( testMethod, theMetaData ) \
180 FixtureTestFactory::addTest( suite, factory, #testMethod, \
181 &CppUTSelfType :: testMethod, \
182 theMetaData )
183
184# define CPPUT_TESTSUITE_END() \
185 } \
186 private:
187
188#if 0
189
190
191/// @todo somehow hide this
192template<class FixtureType>
193class CallFixtureRunMethod
194{
195public:
196 typedef FixtureType *first_argument_type;
197 typedef void (FixtureType::*RunFn)();
198
199 static ::CppTL::Functor1<FixtureType *> make( RunFn run )
200 {
201 return ::CppTL::fn1( CallFixtureRunMethod( run ) );
202 }
203
204 explicit CallFixtureRunMethod( RunFn run )
205 : run_( run )
206 {
207 }
208
209 void operator()( FixtureType *fixture ) const
210 {
211 (fixture->*run_)();
212 }
213
214private:
215 RunFn run_;
216};
217
14218
15/*! \ingroup group_testfixture219/*! \ingroup group_testfixture
16 */220 */
@@ -42,102 +246,6 @@
42246
43247
44248
45/// \cond implementation_detail
46namespace Impl {
47
48 typedef CppTL::IntrusivePtr<TestFixture> TestFixturePtr;
49
50 class CPPUT_API FixtureFactory
51 {
52 public:
53 virtual ~FixtureFactory()
54 {
55 }
56
57 TestFixturePtr operator()()
58 {
59 return createNewFixture();
60 }
61
62 private:
63 virtual TestFixturePtr createNewFixture() =0;
64 };
65
66
67 template<typename FixtureType>
68 class FixtureFactoryImpl : public FixtureFactory
69 {
70 public:
71 TestFixturePtr createNewFixture()
72 {
73 return TestFixturePtr( new FixtureType() );
74 }
75 };
76
77 template<typename FixtureType>
78 class FixtureFactoryWrapper
79 {
80 public:
81 FixtureFactoryWrapper( FixtureFactory &factory )
82 : factory_( factory )
83 {
84 }
85
86 CppTL::IntrusivePtr<FixtureType> operator()()
87 {
88 return ::CppTL::staticPointerCast<FixtureType>( factory_() );
89 }
90
91 private:
92 FixtureFactory &factory_;
93 };
94} // namespace Impl
95/// \endcond implementation_detail
96
97
98/* Code generated by the helper macros is roughly like this:
99
100class SomeTest : public CppUT::TestFixture
101{
102public: // CPPUT_TESTSUITE_BEGIN
103 typedef FixtureType CppUT_ThisType;
104
105 static std::string defaultSuiteName()
106 {
107 return ::CppTL::getTypeName<CppUT_ThisType>( #FixtureType );
108 }
109
110 void addTests_( const ::CppUT::TestSuitePtr &suite,
111 ::CppUT::Impl::FixtureFactory &factory_ )
112 {
113 ::CppUT::Impl::FixtureFactoryWrapper<CppUT_ThisType> fixtureFactory( factory_ );
114 ::CppTL::IntrusivePtr<FixtureType> fixture;
115
116 // CPPUT_TESTSUITE_EXTEND (if defined)
117 ParentFixtureType::addTests_( suite, factory_ );
118
119 // CPPUT_TEST( testMethod )
120 fixture = fixtureFactory();
121 suite->add( ::CppUT::makeFixtureTestCase( fixture,
122 &FixtureType::testMethod,
123 #testMethod ) );
124
125
126 } // if ended using CPPUT_ABSTRACT_TESTSUITE_END, stop there (suite() is not defined)
127
128 // if ended using CPPUT_TESTSUITE_END, define the static function suite
129 static ::CppUT::TestSuitePtr suite()
130 {
131 ::CppUT::TestSuitePtr testSuite( ::CppUT::makeTestSuite( defaultSuiteName() ) );
132 ::CppUT::Impl::FixtureFactoryImpl<CppUT_ThisType> factory;
133 addTests_( testSuite, factory );
134 return testSuite;
135 }
136};
137
138*/
139
140
141249
142# if CPPUT_USE_RTTI_TO_NAME_SUITE250# if CPPUT_USE_RTTI_TO_NAME_SUITE
143# define CPPUT_TESTSUITE_NAME_FROM_TYPE( FixtureType ) \251# define CPPUT_TESTSUITE_NAME_FROM_TYPE( FixtureType ) \
@@ -148,72 +256,19 @@
148# endif // if CPPUT_USE_RTTI_TO_NAME_SUITE256# endif // if CPPUT_USE_RTTI_TO_NAME_SUITE
149257
150258
151259/*! \ingroup group_testfixture
152/*! \ingroup group_testfixture260 */
153 */261# define CPPUT_TESTSUITE_TEST_WITH_SPECIFICS( testMethod, specifics ) \
154# define CPPUT_TESTSUITE_BEGIN( FixtureType ) \
155public: \
156 typedef FixtureType CppUT_ThisType; \
157 \
158 static std::string defaultSuiteName() \
159 { \
160 return CPPUT_TESTSUITE_NAME_FROM_TYPE( FixtureType ); \
161 } \
162 \
163 static void addTests_( const ::CppUT::TestSuitePtr &suite, \
164 ::CppUT::Impl::FixtureFactory &factory_ ) \
165 { \
166 ::CppUT::Impl::FixtureFactoryWrapper<CppUT_ThisType> fixtureFactory( \
167 factory_ ); \
168 ::CppTL::IntrusivePtr<FixtureType> fixture
169
170/*! \ingroup group_testfixture
171 */
172# define CPPUT_TESTSUITE_EXTEND( FixtureType, ParentFixtureType ) \
173 CPPUT_TESTSUITE_BEGIN( FixtureType ); \
174 ParentFixtureType::addTests_( suite, factory_ )
175
176/*! \ingroup group_testfixture
177 */
178# define CPPUT_TESTSUITE_END() \
179 } \
180 \
181 static ::CppUT::TestPtr suite( const std::string &name = std::string("") ) \
182 { \
183 std::string suiteName = name; \
184 if ( suiteName.empty() ) \
185 suiteName = defaultSuiteName(); \
186 ::CppUT::TestSuitePtr testSuite = ::CppUT::makeTestSuite( suiteName ); \
187 ::CppUT::Impl::FixtureFactoryImpl<CppUT_ThisType> factory; \
188 addTests_( testSuite, factory ); \
189 return ::CppTL::staticPointerCast< ::CppUT::Test >( testSuite ); \
190 }
191
192/*! \ingroup group_testfixture
193 */
194# define CPPUT_ABSTRACT_TESTSUITE_END() \
195 }
196
197/*! \ingroup group_testfixture
198 */
199# define CPPUT_TEST( testMethod ) \
200 fixture = fixtureFactory(); \
201 suite->add( ::CppUT::makeFixtureTestCase( fixture, \
202 ::CppTL::memfn0( fixture, \
203 &CppUT_ThisType::testMethod ), \
204 #testMethod ) )
205
206/*! \ingroup group_testfixture
207 */
208# define CPPUT_TEST_WITH_SPECIFICS( testMethod, specifics ) \
209 fixture = fixtureFactory(); \262 fixture = fixtureFactory(); \
210 addTestWithSpecifics( *suite, \263 addTestWithSpecifics( *suite, \
211 ::CppUT::makeFixtureTestCase( fixture, \264 ::CppUT::makeFixtureTestCase( ::CppTL::Type<CppUT_ThisType>(), \
212 ::CppTL::memfn0( fixture, \265 ::CppUT::CallFixtureRunMethod<CppUT_ThisType>::make( \
213 &CppUT_ThisType::testMethod ), \266 &CppUT_ThisType::testMethod ), \
214 #testMethod ), \267 #testMethod ), \
215 specifics )268 specifics )
216 269
270#endif
271
217} // namespace CppUT272} // namespace CppUT
218273
219274
220275
=== modified file 'cppunit2/include/cpput/testfunction.h'
--- cppunit2/include/cpput/testfunction.h 2007-08-15 15:48:29 +0000
+++ cppunit2/include/cpput/testfunction.h 2008-12-29 20:51:19 +0000
@@ -9,30 +9,31 @@
99
10namespace CppUT 10namespace CppUT
11{11{
12 class TestFunctionFactory12 /// @todo move it to .cpp
13 {13 inline TestMeta
14 public:14 declareTestCaseFunction( void (*run)(),
15 typedef TestPtr result_type; // Functor return type15 const char *name,
1616 Suite &parentSuite )
17 typedef void (*TestFn)();17 {
1818 TestMeta test = makeTestCase( run, name );
19 TestFunctionFactory( TestFn test, const char *name )19 parentSuite.add( test );
20 : test_( test )20 return test;
21 , name_( name )21 }
22 {22
23 }23 /// @todo move it to .cpp
2424 inline TestMeta
25 TestPtr operator()() const25 declareTestCaseFunction( void (*run)(),
26 {26 const MetaData &metaData,
27 return makeTestCase( test_, name_ );27 Suite &parentSuite )
28 }28 {
2929 TestMeta test = makeTestCase( run, metaData );
30 TestFn test_;30 parentSuite.add( test );
31 const char *name_;31 return test;
32 };32 }
33
33} // end namespace CppUT34} // end namespace CppUT
3435
35/*! \brief Make the specified C function a test case and register it in the default Registry suite.36/*! \brief Make the specified C function a test case and register it in the current suite.
36 * \code37 * \code
37 * static void myTest1() {38 * static void myTest1() {
38 * CPPUT_ASSERT_TRUE( false );39 * CPPUT_ASSERT_TRUE( false );
@@ -40,55 +41,58 @@
40 * CPPUT_REGISTER_TEST_FUNCTION( myTest1 );41 * CPPUT_REGISTER_TEST_FUNCTION( myTest1 );
41 * \endcode42 * \endcode
42 */43 */
43#define CPPUT_REGISTER_TEST_FUNCTION( testFunction ) \44#define _CPPUT_REGISTER_TEST_FUNCTION( testFunction ) \
44 CPPUT_REGISTER_TESTFACTORY_TO_DEFAULT( \45 static ::CppUT::TestMeta \
45 ::CppTL::fn0r( ::CppUT::TestFunctionFactory( &testFunction, #testFunction ) ) )46 CPPTL_MAKE_UNIQUE_NAME( cpputmeta ## testFunctionName ) = \
4647 ::CppUT::declareTestCaseFunction( &testFunction, \
47/*! \brief Make the specified C function a test case and register it in the specified Registry suite.48 #testFunction, \
48 * \code49 CPPUT_CURRENT_SUITE() )
49 * static void myTest1() {50
50 * CPPUT_ASSERT_TRUE( false );51#define _CPPUT_REGISTER_TEST_FUNCTION_WITH_META( testFunction, metaData ) \
51 * }52 static ::CppUT::TestMeta \
52 * CPPUT_REGISTER_TEST_FUNCTION_IN( myTest1, "BoolTest" );53 CPPTL_MAKE_UNIQUE_NAME( cpputmeta ## testFunctionName ) = \
53 * \endcode54 ::CppUT::declareTestCaseFunction( &testFunction, \
54 */55 metaData, \
55#define CPPUT_REGISTER_TEST_FUNCTION_IN( testFunction, parentSuiteName ) \56 CPPUT_CURRENT_SUITE() )
56 CPPUT_REGISTER_TESTFACTORY_IN( \57
57 ::CppTL::fn0r( ::CppUT::TestFunctionFactory( &testFunction, #testFunction )), \58
58 parentSuiteName )59/*! \brief Declare and register a simple test case in the current suite.
5960 * The function is declared as a static void testFunction().
60/*! \brief Declare and register a simple test case in the default Registry suite.61 * \code
61 * The function is declared as a static void testFunction().62 * CPPUT_TEST_FUNCTION( myTest1 ) {
62 * \code63 * CPPUT_ASSERT_TRUE( false );
63 * CPPUT_TEST_FUNCTION( myTest1 ) {64 * }
64 * CPPUT_ASSERT_TRUE( false );65 * \endcode
65 * }66 */
66 * \endcode67#define CPPUT_TEST_FUNCTION( testFunctionName ) \
67 */68 static void testFunctionName(); \
68#define CPPUT_TEST_FUNCTION( testFunctionName ) \69 _CPPUT_REGISTER_TEST_FUNCTION( testFunctionName ); \
69 static void testFunctionName(); \70 static void testFunctionName()
70 CPPUT_REGISTER_TEST_FUNCTION( testFunctionName ); \71
71 static void testFunctionName()72/*! \brief Declare and register a simple test case in the current suite.
7273 * The function is declared as a static void testFunction().
73/*! \brief Declare and register a simple test case in the specified Registry suite.74 * \code
74 * The function is declared as a static void testFunction().75 * CPPUT_TEST_FUNCTION( myTest1 ) {
75 * \code76 * CPPUT_ASSERT_TRUE( false );
76 * CPPUT_TEST_FUNCTION_IN( myTest1, "BoolTests" ) {77 * }
77 * CPPUT_ASSERT_TRUE( false );78 * \endcode
78 * }79 */
79 * \endcode80#define CPPUT_TEST_FUNCTION_WITH_META( testFunctionName, metaData ) \
80 */81 namespace { \
81#define CPPUT_TEST_FUNCTION_IN( testFunctionName, parentSuiteName ) \82 class CppUT##testFunctionName##Meta : public ::CppUT::TestExtendedDataFactory \
82 static void testFunctionName(); \83 { \
83 CPPUT_REGISTER_TEST_FUNCTION_IN( testFunctionName, parentSuiteName ); \84 public: \
84 static void testFunctionName()85 static ::CppUT::MetaData cppUTRegisterTestCase() \
8586 { \
86/* @todo support for extended test data87 return ::CppUT::MetaData( #testFunctionName, metaData ); \
87CPPUT_REGISTER_TEST_FUNCTION_IN_DEFAULT_WITH_SPECIFICS( 88 } \
88 myTest, 89 }; \
89 (timeOut(0.2), 90 } \
90 describe("Always fails")) )91 static void testFunctionName(); \
91*/92 _CPPUT_REGISTER_TEST_FUNCTION_WITH_META( testFunctionName, \
93 CppUT##testFunctionName##Meta::cppUTRegisterTestCase() ); \
94 static void testFunctionName()
95
9296
9397
94#endif // CPPUT_TESTFUNCTION_H_INCLUDED98#endif // CPPUT_TESTFUNCTION_H_INCLUDED
9599
=== modified file 'cppunit2/include/cpput/testinfo.h'
--- cppunit2/include/cpput/testinfo.h 2008-07-13 06:19:20 +0000
+++ cppunit2/include/cpput/testinfo.h 2008-12-13 10:11:21 +0000
@@ -303,7 +303,7 @@
303 * For simplicity, we will use the following compact form for reference :303 * For simplicity, we will use the following compact form for reference :
304 * x += f + l / checkCond( condition ); 304 * x += f + l / checkCond( condition );
305 * checkCond must returns an CheckerResult which as overloaded operator /.305 * checkCond must returns an CheckerResult which as overloaded operator /.
306 * operator = evaluate right to left306 * operator += evaluate right to left
307 * operator + evaluate left to right307 * operator + evaluate left to right
308 * operator / evaluate left to right and as priority over +.308 * operator / evaluate left to right and as priority over +.
309 * So 'condition expression' is evaluted first, then checkCond(condition) is evaluated. 309 * So 'condition expression' is evaluted first, then checkCond(condition) is evaluated.
@@ -428,7 +428,7 @@
428 * \param name Name of the resource to obtains. This resource must have been428 * \param name Name of the resource to obtains. This resource must have been
429 * declared in the list of resource required by the test case.429 * declared in the list of resource required by the test case.
430 * \warning This function may only be called inside a test case (setUp, run or tearDown).430 * \warning This function may only be called inside a test case (setUp, run or tearDown).
431 * \see AbstractTestCase::requireResource, ResourceHandlerRegistry.431 * \see TestCase::requireResource, ResourceHandlerRegistry.
432 */432 */
433 Resource &getResource( const ResourceName &name );433 Resource &getResource( const ResourceName &name );
434434
@@ -460,7 +460,7 @@
460 * \param name Name of the resource to obtains. This resource must have been460 * \param name Name of the resource to obtains. This resource must have been
461 * declared in the list of resource required by the test case.461 * declared in the list of resource required by the test case.
462 * \warning This function may only be called inside a test case (setUp, run or tearDown).462 * \warning This function may only be called inside a test case (setUp, run or tearDown).
463 * \see AbstractTestCase::requireResource, ResourceHandlerRegistry.463 * \see TestCase::requireResource, ResourceHandlerRegistry.
464 */464 */
465 Resource &CPPUT_API getResource( const ResourceName &name );465 Resource &CPPUT_API getResource( const ResourceName &name );
466466
467467
=== removed file 'cppunit2/include/cpput/testsuite.h'
--- cppunit2/include/cpput/testsuite.h 2006-06-05 10:02:56 +0000
+++ cppunit2/include/cpput/testsuite.h 1970-01-01 00:00:00 +0000
@@ -1,64 +0,0 @@
1#ifndef CPPUT_TESTSUITE_H_INCLUDED
2# define CPPUT_TESTSUITE_H_INCLUDED
3
4# include <cpput/test.h>
5# include <deque>
6
7
8namespace CppUT {
9
10/*! \brief An abstract test suite that represents a collection of Test.
11 * \ingroup group_testcases
12 */
13class CPPUT_API AbstractTestSuite : public Test
14{
15public:
16 AbstractTestSuite();
17
18 AbstractTestSuite( const std::string &name );
19
20 virtual int testCount() const = 0;
21
22 virtual TestPtr testAt( int index ) const = 0;
23
24public: // overridden from Test
25 void accept( TestVisitor &visitor );
26
27 /// Returns \c true if the class is derived from AbstractTestCase.
28 bool isTestCase() const;
29};
30
31
32/*! \brief A test suite that represents a collection of Test.
33 * \ingroup group_testcases
34 */
35class CPPUT_API TestSuite : public AbstractTestSuite
36{
37public:
38 TestSuite( const std::string &name );
39
40 void add( const TestPtr &test );
41
42 void add( const TestSuitePtr &test );
43
44// overridden from AbstractTestSuite
45 int testCount() const;
46
47 TestPtr testAt( int index ) const;
48
49private:
50 typedef std::deque<TestPtr> Tests;
51 Tests tests_;
52};
53
54
55/*! \brief Creates a TestSuite with the specified name.
56 * \ingroup group_testcases
57 */
58TestSuitePtr CPPUT_API makeTestSuite( const std::string &name );
59
60} // namespace CppUT
61
62
63
64#endif // CPPUT_TESTSUITE_H_INCLUDED
650
=== removed file 'cppunit2/include/cpput/testvisitor.h'
--- cppunit2/include/cpput/testvisitor.h 2005-09-06 05:14:49 +0000
+++ cppunit2/include/cpput/testvisitor.h 1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
1#ifndef CPPUT_TESTVISITOR_H_INCLUDED
2# define CPPUT_TESTVISITOR_H_INCLUDED
3
4# include <cpput/config.h>
5# include <cpput/forwards.h>
6
7namespace CppUT {
8
9class CPPUT_API TestVisitor
10{
11public:
12 virtual ~TestVisitor()
13 {
14 }
15
16 virtual void visitTestCase( AbstractTestCase &test ) = 0;
17
18 virtual void visitTestSuite( AbstractTestSuite &suite ) = 0;
19};
20
21
22} // namespace CppUT
23
24
25
26#endif // CPPUT_TESTVISITOR_H_INCLUDED
270
=== added directory 'cppunit2/makefiles/vs6'
=== added file 'cppunit2/makefiles/vs6/cpput_lib.dsp'
--- cppunit2/makefiles/vs6/cpput_lib.dsp 1970-01-01 00:00:00 +0000
+++ cppunit2/makefiles/vs6/cpput_lib.dsp 2009-03-13 21:31:02 +0000
@@ -0,0 +1,360 @@
1# Microsoft Developer Studio Project File - Name="cpput_lib" - Package Owner=<4>
2# Microsoft Developer Studio Generated Build File, Format Version 6.00
3# ** DO NOT EDIT **
4
5# TARGTYPE "Win32 (x86) Static Library" 0x0104
6
7CFG=cpput_lib - Win32 Debug
8!MESSAGE This is not a valid makefile. To build this project using NMAKE,
9!MESSAGE use the Export Makefile command and run
10!MESSAGE
11!MESSAGE NMAKE /f "cpput_lib.mak".
12!MESSAGE
13!MESSAGE You can specify a configuration when running NMAKE
14!MESSAGE by defining the macro CFG on the command line. For example:
15!MESSAGE
16!MESSAGE NMAKE /f "cpput_lib.mak" CFG="cpput_lib - Win32 Debug"
17!MESSAGE
18!MESSAGE Possible choices for configuration are:
19!MESSAGE
20!MESSAGE "cpput_lib - Win32 Release" (based on "Win32 (x86) Static Library")
21!MESSAGE "cpput_lib - Win32 Debug" (based on "Win32 (x86) Static Library")
22!MESSAGE
23
24# Begin Project
25# PROP AllowPerConfigDependencies 0
26# PROP Scc_ProjName ""
27# PROP Scc_LocalPath ""
28CPP=cl.exe
29RSC=rc.exe
30
31!IF "$(CFG)" == "cpput_lib - Win32 Release"
32
33# PROP BASE Use_MFC 0
34# PROP BASE Use_Debug_Libraries 0
35# PROP BASE Output_Dir "Release"
36# PROP BASE Intermediate_Dir "Release"
37# PROP BASE Target_Dir ""
38# PROP Use_MFC 0
39# PROP Use_Debug_Libraries 0
40# PROP Output_Dir "../../build/msvc6/cpput_lib/Release"
41# PROP Intermediate_Dir "../../build/msvc6/cpput_lib/Release"
42# PROP Target_Dir ""
43# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
44# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
45# ADD BASE RSC /l 0x40c /d "NDEBUG"
46# ADD RSC /l 0x40c /d "NDEBUG"
47BSC32=bscmake.exe
48# ADD BASE BSC32 /nologo
49# ADD BSC32 /nologo
50LIB32=link.exe -lib
51# ADD BASE LIB32 /nologo
52# ADD LIB32 /nologo
53
54!ELSEIF "$(CFG)" == "cpput_lib - Win32 Debug"
55
56# PROP BASE Use_MFC 0
57# PROP BASE Use_Debug_Libraries 1
58# PROP BASE Output_Dir "Debug"
59# PROP BASE Intermediate_Dir "Debug"
60# PROP BASE Target_Dir ""
61# PROP Use_MFC 0
62# PROP Use_Debug_Libraries 1
63# PROP Output_Dir "../../build/msvc6/cpput_lib/Debug"
64# PROP Intermediate_Dir "../../build/msvc6/cpput_lib/Debug"
65# PROP Target_Dir ""
66# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
67# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
68# ADD BASE RSC /l 0x40c /d "_DEBUG"
69# ADD RSC /l 0x40c /d "_DEBUG"
70BSC32=bscmake.exe
71# ADD BASE BSC32 /nologo
72# ADD BSC32 /nologo
73LIB32=link.exe -lib
74# ADD BASE LIB32 /nologo
75# ADD LIB32 /nologo
76
77!ENDIF
78
79# Begin Target
80
81# Name "cpput_lib - Win32 Release"
82# Name "cpput_lib - Win32 Debug"
83# Begin Group "cpptl"
84
85# PROP Default_Filter ""
86# Begin Source File
87
88SOURCE=..\..\include\cpptl\_stlimpl.h
89# End Source File
90# Begin Source File
91
92SOURCE=..\..\include\cpptl\any.h
93# End Source File
94# Begin Source File
95
96SOURCE=..\..\include\cpptl\atomiccounter.h
97# End Source File
98# Begin Source File
99
100SOURCE=..\..\include\cpptl\autolink.h
101# End Source File
102# Begin Source File
103
104SOURCE=..\..\include\cpptl\config.h
105# End Source File
106# Begin Source File
107
108SOURCE=..\..\include\cpptl\conststring.h
109# End Source File
110# Begin Source File
111
112SOURCE=..\..\include\cpptl\cpptl_autolink.h
113# End Source File
114# Begin Source File
115
116SOURCE=..\..\include\cpptl\enumerator.h
117# End Source File
118# Begin Source File
119
120SOURCE=..\..\include\cpptl\format.h
121# End Source File
122# Begin Source File
123
124SOURCE=..\..\include\cpptl\forwards.h
125# End Source File
126# Begin Source File
127
128SOURCE=..\..\include\cpptl\functor.h
129# End Source File
130# Begin Source File
131
132SOURCE=..\..\include\cpptl\intrusiveptr.h
133# End Source File
134# Begin Source File
135
136SOURCE=..\..\src\cpptl\json_reader.cpp
137# End Source File
138# Begin Source File
139
140SOURCE=..\..\src\cpptl\json_value.cpp
141# End Source File
142# Begin Source File
143
144SOURCE=..\..\src\cpptl\json_valueiterator.inl
145# End Source File
146# Begin Source File
147
148SOURCE=..\..\src\cpptl\json_writer.cpp
149# End Source File
150# Begin Source File
151
152SOURCE=..\..\include\cpptl\reflection.h
153# End Source File
154# Begin Source File
155
156SOURCE=..\..\include\cpptl\reflection.inl
157# End Source File
158# Begin Source File
159
160SOURCE=..\..\include\cpptl\reflectionimpl10.h
161# End Source File
162# Begin Source File
163
164SOURCE=..\..\include\cpptl\scopedptr.h
165# End Source File
166# Begin Source File
167
168SOURCE=..\..\include\cpptl\sharedptr.h
169# End Source File
170# Begin Source File
171
172SOURCE=..\..\include\cpptl\smallmap.h
173# End Source File
174# Begin Source File
175
176SOURCE=..\..\include\cpptl\stringtools.h
177# End Source File
178# Begin Source File
179
180SOURCE=..\..\src\cpptl\thread.cpp
181# End Source File
182# Begin Source File
183
184SOURCE=..\..\include\cpptl\thread.h
185# End Source File
186# Begin Source File
187
188SOURCE=..\..\include\cpptl\thread.inl
189# End Source File
190# Begin Source File
191
192SOURCE=..\..\include\cpptl\typeinfo.h
193# End Source File
194# Begin Source File
195
196SOURCE=..\..\include\cpptl\typename.h
197# End Source File
198# Begin Source File
199
200SOURCE=..\..\include\cpptl\typetraits.h
201# End Source File
202# Begin Source File
203
204SOURCE=..\..\include\cpptl\value.h
205# End Source File
206# End Group
207# Begin Group "cpput"
208
209# PROP Default_Filter ""
210# Begin Source File
211
212SOURCE=..\..\src\cpput\assert.cpp
213# End Source File
214# Begin Source File
215
216SOURCE=..\..\include\cpput\assertcommon.h
217# End Source File
218# Begin Source File
219
220SOURCE=..\..\include\cpput\assertenum.h
221# End Source File
222# Begin Source File
223
224SOURCE=..\..\src\cpput\assertstring.cpp
225# End Source File
226# Begin Source File
227
228SOURCE=..\..\include\cpput\assertstring.h
229# End Source File
230# Begin Source File
231
232SOURCE=..\..\include\cpput\autolink.h
233# End Source File
234# Begin Source File
235
236SOURCE=..\..\include\cpput\config.h
237# End Source File
238# Begin Source File
239
240SOURCE=..\..\src\cpput\dllproxy.cpp
241# End Source File
242# Begin Source File
243
244SOURCE=..\..\include\cpput\dllproxy.h
245# End Source File
246# Begin Source File
247
248SOURCE=..\..\include\cpput\equality.h
249# End Source File
250# Begin Source File
251
252SOURCE=..\..\src\cpput\exceptionguard.cpp
253# End Source File
254# Begin Source File
255
256SOURCE=..\..\include\cpput\exceptionguard.h
257# End Source File
258# Begin Source File
259
260SOURCE=..\..\src\cpput\extendeddata.cpp
261# End Source File
262# Begin Source File
263
264SOURCE=..\..\include\cpput\extendeddata.h
265# End Source File
266# Begin Source File
267
268SOURCE=..\..\include\cpput\forwards.h
269# End Source File
270# Begin Source File
271
272SOURCE=..\..\include\cpput\inputbasedtest.h
273# End Source File
274# Begin Source File
275
276SOURCE=..\..\include\cpput\interface.h
277# End Source File
278# Begin Source File
279
280SOURCE=..\..\include\cpput\lightfixture.h
281# End Source File
282# Begin Source File
283
284SOURCE=..\..\src\cpput\lighttestrunner.cpp
285# End Source File
286# Begin Source File
287
288SOURCE=..\..\include\cpput\lighttestrunner.h
289# End Source File
290# Begin Source File
291
292SOURCE=..\..\src\cpput\message.cpp
293# End Source File
294# Begin Source File
295
296SOURCE=..\..\include\cpput\message.h
297# End Source File
298# Begin Source File
299
300SOURCE=..\..\include\cpput\opentestadaptor.h
301# End Source File
302# Begin Source File
303
304SOURCE=..\..\src\cpput\registry.cpp
305# End Source File
306# Begin Source File
307
308SOURCE=..\..\include\cpput\registry.h
309# End Source File
310# Begin Source File
311
312SOURCE=..\..\src\cpput\resource.cpp
313# End Source File
314# Begin Source File
315
316SOURCE=..\..\include\cpput\resource.h
317# End Source File
318# Begin Source File
319
320SOURCE=..\..\include\cpput\stringize.h
321# End Source File
322# Begin Source File
323
324SOURCE=..\..\include\cpput\tablefixture.h
325# End Source File
326# Begin Source File
327
328SOURCE=..\..\include\cpput\test.h
329# End Source File
330# Begin Source File
331
332SOURCE=..\..\src\cpput\testcase.cpp
333# End Source File
334# Begin Source File
335
336SOURCE=..\..\include\cpput\testcase.h
337# End Source File
338# Begin Source File
339
340SOURCE=..\..\include\cpput\testfixture.h
341# End Source File
342# Begin Source File
343
344SOURCE=..\..\include\cpput\testfunction.h
345# End Source File
346# Begin Source File
347
348SOURCE=..\..\src\cpput\testinfo.cpp
349# End Source File
350# Begin Source File
351
352SOURCE=..\..\include\cpput\testinfo.h
353# End Source File
354# Begin Source File
355
356SOURCE=..\..\include\cpput\translate.h
357# End Source File
358# End Group
359# End Target
360# End Project
0361
=== added file 'cppunit2/makefiles/vs6/cpput_lib.dsw'
--- cppunit2/makefiles/vs6/cpput_lib.dsw 1970-01-01 00:00:00 +0000
+++ cppunit2/makefiles/vs6/cpput_lib.dsw 2009-03-13 21:31:02 +0000
@@ -0,0 +1,44 @@
1Microsoft Developer Studio Workspace File, Format Version 6.00
2# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
3
4###############################################################################
5
6Project: "cpput_lib"=".\cpput_lib.dsp" - Package Owner=<4>
7
8Package=<5>
9{{{
10}}}
11
12Package=<4>
13{{{
14}}}
15
16###############################################################################
17
18Project: "cpput_test"=".\cpput_test.dsp" - Package Owner=<4>
19
20Package=<5>
21{{{
22}}}
23
24Package=<4>
25{{{
26 Begin Project Dependency
27 Project_Dep_Name cpput_lib
28 End Project Dependency
29}}}
30
31###############################################################################
32
33Global:
34
35Package=<5>
36{{{
37}}}
38
39Package=<3>
40{{{
41}}}
42
43###############################################################################
44
045
=== added file 'cppunit2/makefiles/vs6/cpput_test.dsp'
--- cppunit2/makefiles/vs6/cpput_test.dsp 1970-01-01 00:00:00 +0000
+++ cppunit2/makefiles/vs6/cpput_test.dsp 2009-03-13 21:31:02 +0000
@@ -0,0 +1,178 @@
1# Microsoft Developer Studio Project File - Name="cpput_test" - Package Owner=<4>
2# Microsoft Developer Studio Generated Build File, Format Version 6.00
3# ** DO NOT EDIT **
4
5# TARGTYPE "Win32 (x86) Console Application" 0x0103
6
7CFG=cpput_test - Win32 Debug
8!MESSAGE This is not a valid makefile. To build this project using NMAKE,
9!MESSAGE use the Export Makefile command and run
10!MESSAGE
11!MESSAGE NMAKE /f "cpput_test.mak".
12!MESSAGE
13!MESSAGE You can specify a configuration when running NMAKE
14!MESSAGE by defining the macro CFG on the command line. For example:
15!MESSAGE
16!MESSAGE NMAKE /f "cpput_test.mak" CFG="cpput_test - Win32 Debug"
17!MESSAGE
18!MESSAGE Possible choices for configuration are:
19!MESSAGE
20!MESSAGE "cpput_test - Win32 Release" (based on "Win32 (x86) Console Application")
21!MESSAGE "cpput_test - Win32 Debug" (based on "Win32 (x86) Console Application")
22!MESSAGE
23
24# Begin Project
25# PROP AllowPerConfigDependencies 0
26# PROP Scc_ProjName ""
27# PROP Scc_LocalPath ""
28CPP=cl.exe
29RSC=rc.exe
30
31!IF "$(CFG)" == "cpput_test - Win32 Release"
32
33# PROP BASE Use_MFC 0
34# PROP BASE Use_Debug_Libraries 0
35# PROP BASE Output_Dir "Release"
36# PROP BASE Intermediate_Dir "Release"
37# PROP BASE Target_Dir ""
38# PROP Use_MFC 0
39# PROP Use_Debug_Libraries 0
40# PROP Output_Dir "../../build/msvc6/cpput_lib/Release"
41# PROP Intermediate_Dir "../../build/msvc6/cpput_lib/Release"
42# PROP Ignore_Export_Lib 0
43# PROP Target_Dir ""
44# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
45# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /c
46# ADD BASE RSC /l 0x40c /d "NDEBUG"
47# ADD RSC /l 0x40c /d "NDEBUG"
48BSC32=bscmake.exe
49# ADD BASE BSC32 /nologo
50# ADD BSC32 /nologo
51LINK32=link.exe
52# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
53# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /map /debug /debugtype:both /machine:I386
54# SUBTRACT LINK32 /pdbtype:<none>
55
56!ELSEIF "$(CFG)" == "cpput_test - Win32 Debug"
57
58# PROP BASE Use_MFC 0
59# PROP BASE Use_Debug_Libraries 1
60# PROP BASE Output_Dir "Debug"
61# PROP BASE Intermediate_Dir "Debug"
62# PROP BASE Target_Dir ""
63# PROP Use_MFC 0
64# PROP Use_Debug_Libraries 1
65# PROP Output_Dir "../../build/msvc6/cpput_lib/Debug"
66# PROP Intermediate_Dir "../../build/msvc6/cpput_lib/Debug"
67# PROP Target_Dir ""
68# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
69# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
70# ADD BASE RSC /l 0x40c /d "_DEBUG"
71# ADD RSC /l 0x40c /d "_DEBUG"
72BSC32=bscmake.exe
73# ADD BASE BSC32 /nologo
74# ADD BSC32 /nologo
75LINK32=link.exe
76# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
77# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
78
79!ENDIF
80
81# Begin Target
82
83# Name "cpput_test - Win32 Release"
84# Name "cpput_test - Win32 Debug"
85# Begin Source File
86
87SOURCE=..\..\src\cpputtest\assertenumtest.cpp
88# End Source File
89# Begin Source File
90
91SOURCE=..\..\src\cpputtest\assertenumtest.h
92# End Source File
93# Begin Source File
94
95SOURCE=..\..\src\cpputtest\assertstringtest.cpp
96# End Source File
97# Begin Source File
98
99SOURCE=..\..\src\cpputtest\enumeratortest.cpp
100# End Source File
101# Begin Source File
102
103SOURCE=..\..\src\cpputtest\enumeratortest.h
104# End Source File
105# Begin Source File
106
107SOURCE=..\..\src\cpputtest\main.cpp
108# End Source File
109# Begin Source File
110
111SOURCE=..\..\src\cpputtest\minitestrunner.h
112# End Source File
113# Begin Source File
114
115SOURCE=..\..\src\cpputtest\mocktestlistener.h
116# End Source File
117# Begin Source File
118
119SOURCE=..\..\src\cpputtest\reflectiontest.cpp
120# End Source File
121# Begin Source File
122
123SOURCE=..\..\src\cpputtest\reflectiontest.h
124# End Source File
125# Begin Source File
126
127SOURCE=..\..\src\cpputtest\registrytest.cpp
128# End Source File
129# Begin Source File
130
131SOURCE=..\..\src\cpputtest\registrytest.h
132# End Source File
133# Begin Source File
134
135SOURCE=..\..\src\cpputtest\smallmaptest.cpp
136# End Source File
137# Begin Source File
138
139SOURCE=..\..\src\cpputtest\smallmaptest.h
140# End Source File
141# Begin Source File
142
143SOURCE=..\..\src\cpputtest\testbasicassertion.cpp
144# End Source File
145# Begin Source File
146
147SOURCE=..\..\src\cpputtest\testexceptionguard.cpp
148# End Source File
149# Begin Source File
150
151SOURCE=..\..\src\cpputtest\testfixturetest.cpp
152# End Source File
153# Begin Source File
154
155SOURCE=..\..\src\cpputtest\testfunctor.cpp
156# End Source File
157# Begin Source File
158
159SOURCE=..\..\src\cpputtest\testinfotest.cpp
160# End Source File
161# Begin Source File
162
163SOURCE=..\..\src\cpputtest\testing.h
164# End Source File
165# Begin Source File
166
167SOURCE=..\..\src\cpputtest\testtestcase.cpp
168# End Source File
169# Begin Source File
170
171SOURCE=..\..\src\cpputtest\valuetest.cpp
172# End Source File
173# Begin Source File
174
175SOURCE=..\..\src\cpputtest\valuetest.h
176# End Source File
177# End Target
178# End Project
0179
=== modified file 'cppunit2/makefiles/vs71/cppunit2.suo'
1Binary files cppunit2/makefiles/vs71/cppunit2.suo 2005-09-06 05:35:12 +0000 and cppunit2/makefiles/vs71/cppunit2.suo 2008-12-29 20:49:53 +0000 differ180Binary files cppunit2/makefiles/vs71/cppunit2.suo 2005-09-06 05:35:12 +0000 and cppunit2/makefiles/vs71/cppunit2.suo 2008-12-29 20:49:53 +0000 differ
=== modified file 'cppunit2/makefiles/vs71/cpput_lib.vcproj'
--- cppunit2/makefiles/vs71/cpput_lib.vcproj 2007-08-14 15:30:52 +0000
+++ cppunit2/makefiles/vs71/cpput_lib.vcproj 2008-12-29 20:49:53 +0000
@@ -1,281 +1,305 @@
1<?xml version="1.0" encoding="Windows-1252"?>1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject2<VisualStudioProject
3 ProjectType="Visual C++"3 ProjectType="Visual C++"
4 Version="7.10"4 Version="7.10"
5 Name="cpput_lib"5 Name="cpput_lib"
6 ProjectGUID="{79273A0D-700E-4AFA-B7F2-14D4CC325521}"6 ProjectGUID="{79273A0D-700E-4AFA-B7F2-14D4CC325521}"
7 Keyword="Win32Proj">7 Keyword="Win32Proj">
8 <Platforms>8 <Platforms>
9 <Platform9 <Platform
10 Name="Win32"/>10 Name="Win32"/>
11 </Platforms>11 </Platforms>
12 <Configurations>12 <Configurations>
13 <Configuration13 <Configuration
14 Name="Debug|Win32"14 Name="Debug|Win32"
15 OutputDirectory="../../build/cpput/debug"15 OutputDirectory="../../build/cpput/debug"
16 IntermediateDirectory="../../build/cpput/debug"16 IntermediateDirectory="../../build/cpput/debug"
17 ConfigurationType="4"17 ConfigurationType="4"
18 CharacterSet="2">18 CharacterSet="2">
19 <Tool19 <Tool
20 Name="VCCLCompilerTool"20 Name="VCCLCompilerTool"
21 Optimization="0"21 Optimization="0"
22 AdditionalIncludeDirectories="../../include"22 AdditionalIncludeDirectories="../../include"
23 PreprocessorDefinitions="WIN32;_DEBUG;_LIB"23 PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
24 MinimalRebuild="TRUE"24 MinimalRebuild="TRUE"
25 BasicRuntimeChecks="3"25 BasicRuntimeChecks="3"
26 RuntimeLibrary="3"26 RuntimeLibrary="3"
27 BufferSecurityCheck="TRUE"27 BufferSecurityCheck="TRUE"
28 TreatWChar_tAsBuiltInType="TRUE"28 TreatWChar_tAsBuiltInType="TRUE"
29 ForceConformanceInForLoopScope="TRUE"29 ForceConformanceInForLoopScope="TRUE"
30 UsePrecompiledHeader="0"30 UsePrecompiledHeader="0"
31 WarningLevel="3"31 WarningLevel="3"
32 Detect64BitPortabilityProblems="FALSE"32 Detect64BitPortabilityProblems="FALSE"
33 DebugInformationFormat="3"/>33 DebugInformationFormat="3"/>
34 <Tool34 <Tool
35 Name="VCCustomBuildTool"/>35 Name="VCCustomBuildTool"/>
36 <Tool36 <Tool
37 Name="VCLibrarianTool"37 Name="VCLibrarianTool"
38 OutputFile="$(OutDir)/cpput_vc71_libmd.lib"/>38 OutputFile="$(OutDir)/cpput_vc71_libmd.lib"/>
39 <Tool39 <Tool
40 Name="VCMIDLTool"/>40 Name="VCMIDLTool"/>
41 <Tool41 <Tool
42 Name="VCPostBuildEventTool"/>42 Name="VCPostBuildEventTool"/>
43 <Tool43 <Tool
44 Name="VCPreBuildEventTool"/>44 Name="VCPreBuildEventTool"/>
45 <Tool45 <Tool
46 Name="VCPreLinkEventTool"/>46 Name="VCPreLinkEventTool"/>
47 <Tool47 <Tool
48 Name="VCResourceCompilerTool"/>48 Name="VCResourceCompilerTool"/>
49 <Tool49 <Tool
50 Name="VCWebServiceProxyGeneratorTool"/>50 Name="VCWebServiceProxyGeneratorTool"/>
51 <Tool51 <Tool
52 Name="VCXMLDataGeneratorTool"/>52 Name="VCXMLDataGeneratorTool"/>
53 <Tool53 <Tool
54 Name="VCManagedWrapperGeneratorTool"/>54 Name="VCManagedWrapperGeneratorTool"/>
55 <Tool55 <Tool
56 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>56 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
57 </Configuration>57 </Configuration>
58 <Configuration58 <Configuration
59 Name="Release|Win32"59 Name="Release|Win32"
60 OutputDirectory="../../build/cpput/release"60 OutputDirectory="../../build/cpput/release"
61 IntermediateDirectory="../../build/cpput/release"61 IntermediateDirectory="../../build/cpput/release"
62 ConfigurationType="4"62 ConfigurationType="4"
63 CharacterSet="2">63 CharacterSet="2">
64 <Tool64 <Tool
65 Name="VCCLCompilerTool"65 Name="VCCLCompilerTool"
66 AdditionalIncludeDirectories="../../include"66 AdditionalIncludeDirectories="../../include"
67 PreprocessorDefinitions="WIN32;NDEBUG;_LIB"67 PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
68 StringPooling="TRUE"68 StringPooling="TRUE"
69 RuntimeLibrary="2"69 RuntimeLibrary="2"
70 EnableFunctionLevelLinking="TRUE"70 EnableFunctionLevelLinking="TRUE"
71 TreatWChar_tAsBuiltInType="TRUE"71 TreatWChar_tAsBuiltInType="TRUE"
72 ForceConformanceInForLoopScope="TRUE"72 ForceConformanceInForLoopScope="TRUE"
73 UsePrecompiledHeader="0"73 UsePrecompiledHeader="0"
74 WarningLevel="3"74 WarningLevel="3"
75 Detect64BitPortabilityProblems="FALSE"75 Detect64BitPortabilityProblems="FALSE"
76 DebugInformationFormat="3"/>76 DebugInformationFormat="3"/>
77 <Tool77 <Tool
78 Name="VCCustomBuildTool"/>78 Name="VCCustomBuildTool"/>
79 <Tool79 <Tool
80 Name="VCLibrarianTool"80 Name="VCLibrarianTool"
81 OutputFile="$(OutDir)/cpput_vc71_libmd.lib"/>81 OutputFile="$(OutDir)/cpput_vc71_libmd.lib"/>
82 <Tool82 <Tool
83 Name="VCMIDLTool"/>83 Name="VCMIDLTool"/>
84 <Tool84 <Tool
85 Name="VCPostBuildEventTool"/>85 Name="VCPostBuildEventTool"/>
86 <Tool86 <Tool
87 Name="VCPreBuildEventTool"/>87 Name="VCPreBuildEventTool"/>
88 <Tool88 <Tool
89 Name="VCPreLinkEventTool"/>89 Name="VCPreLinkEventTool"/>
90 <Tool90 <Tool
91 Name="VCResourceCompilerTool"/>91 Name="VCResourceCompilerTool"/>
92 <Tool92 <Tool
93 Name="VCWebServiceProxyGeneratorTool"/>93 Name="VCWebServiceProxyGeneratorTool"/>
94 <Tool94 <Tool
95 Name="VCXMLDataGeneratorTool"/>95 Name="VCXMLDataGeneratorTool"/>
96 <Tool96 <Tool
97 Name="VCManagedWrapperGeneratorTool"/>97 Name="VCManagedWrapperGeneratorTool"/>
98 <Tool98 <Tool
99 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>99 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
100 </Configuration>100 </Configuration>
101 </Configurations>101 </Configurations>
102 <References>102 <References>
103 </References>103 </References>
104 <Files>104 <Files>
105 <Filter105 <Filter
106 Name="codetorevisit"106 Name="codetorevisit"
107 Filter="">107 Filter="">
108 <File108 <File
109 RelativePath="..\..\src\cpput\parametrizedsource.cpp">109 RelativePath="..\..\src\cpput\parametrizedsource.cpp">
110 </File>110 <FileConfiguration
111 <File111 Name="Debug|Win32"
112 RelativePath="..\..\include\cpput\parametrizedsource.h">112 ExcludedFromBuild="TRUE">
113 </File>113 <Tool
114 <File114 Name="VCCLCompilerTool"/>
115 RelativePath="..\..\src\cpput\tablefixture.cpp">115 </FileConfiguration>
116 <FileConfiguration116 <FileConfiguration
117 Name="Debug|Win32"117 Name="Release|Win32"
118 ExcludedFromBuild="TRUE">118 ExcludedFromBuild="TRUE">
119 <Tool119 <Tool
120 Name="VCCLCompilerTool"/>120 Name="VCCLCompilerTool"/>
121 </FileConfiguration>121 </FileConfiguration>
122 <FileConfiguration122 </File>
123 Name="Release|Win32"123 <File
124 ExcludedFromBuild="TRUE">124 RelativePath="..\..\include\cpput\parametrizedsource.h">
125 <Tool125 </File>
126 Name="VCCLCompilerTool"/>126 <File
127 </FileConfiguration>127 RelativePath="..\..\src\cpput\tablefixture.cpp">
128 </File>128 <FileConfiguration
129 <File129 Name="Debug|Win32"
130 RelativePath="..\..\include\cpput\tablefixture.h">130 ExcludedFromBuild="TRUE">
131 </File>131 <Tool
132 <File132 Name="VCCLCompilerTool"/>
133 RelativePath="..\..\src\cpput\testrunner.cpp">133 </FileConfiguration>
134 <FileConfiguration134 <FileConfiguration
135 Name="Debug|Win32"135 Name="Release|Win32"
136 ExcludedFromBuild="TRUE">136 ExcludedFromBuild="TRUE">
137 <Tool137 <Tool
138 Name="VCCLCompilerTool"/>138 Name="VCCLCompilerTool"/>
139 </FileConfiguration>139 </FileConfiguration>
140 <FileConfiguration140 </File>
141 Name="Release|Win32"141 <File
142 ExcludedFromBuild="TRUE">142 RelativePath="..\..\include\cpput\tablefixture.h">
143 <Tool143 </File>
144 Name="VCCLCompilerTool"/>144 <File
145 </FileConfiguration>145 RelativePath="..\..\src\cpput\testrunner.cpp">
146 </File>146 <FileConfiguration
147 <File147 Name="Debug|Win32"
148 RelativePath="..\..\include\cpput\testrunner.h">148 ExcludedFromBuild="TRUE">
149 </File>149 <Tool
150 </Filter>150 Name="VCCLCompilerTool"/>
151 <Filter151 </FileConfiguration>
152 Name="doc"152 <FileConfiguration
153 Filter="">153 Name="Release|Win32"
154 <File154 ExcludedFromBuild="TRUE">
155 RelativePath="..\..\doc\coding_guidelines.dox">155 <Tool
156 </File>156 Name="VCCLCompilerTool"/>
157 <File157 </FileConfiguration>
158 RelativePath="..\..\doc\cpput.dox">158 </File>
159 </File>159 <File
160 <File160 RelativePath="..\..\include\cpput\testrunner.h">
161 RelativePath="..\..\doc\cpput_todo.dox">161 </File>
162 </File>162 </Filter>
163 <File163 <Filter
164 RelativePath="..\..\doc\custom.css">164 Name="doc"
165 </File>165 Filter="">
166 <File166 <File
167 RelativePath="..\..\doc\doxyfile.in">167 RelativePath="..\..\doc\coding_guidelines.dox">
168 </File>168 </File>
169 <File169 <File
170 RelativePath="..\..\doc\footer.html">170 RelativePath="..\..\doc\cpput.dox">
171 </File>171 </File>
172 <File172 <File
173 RelativePath="..\..\doc\header.html">173 RelativePath="..\..\doc\cpput_todo.dox">
174 </File>174 </File>
175 </Filter>175 <File
176 <File176 RelativePath="..\..\doc\custom.css">
177 RelativePath="..\..\src\cpput\assert.cpp">177 </File>
178 </File>178 <File
179 <File179 RelativePath="..\..\doc\doxyfile.in">
180 RelativePath="..\..\include\cpput\assertcommon.h">180 </File>
181 </File>181 <File
182 <File182 RelativePath="..\..\doc\footer.html">
183 RelativePath="..\..\include\cpput\assertenum.h">183 </File>
184 </File>184 <File
185 <File185 RelativePath="..\..\doc\header.html">
186 RelativePath="..\..\src\cpput\assertstring.cpp">186 </File>
187 </File>187 </Filter>
188 <File188 <File
189 RelativePath="..\..\include\cpput\assertstring.h">189 RelativePath="..\..\src\cpput\assert.cpp">
190 </File>190 </File>
191 <File191 <File
192 RelativePath="..\..\include\cpput\autolink.h">192 RelativePath="..\..\include\cpput\assertcommon.h">
193 </File>193 </File>
194 <File194 <File
195 RelativePath="..\..\include\cpput\config.h">195 RelativePath="..\..\include\cpput\assertenum.h">
196 </File>196 </File>
197 <File197 <File
198 RelativePath="..\..\src\cpput\dllproxy.cpp">198 RelativePath="..\..\src\cpput\assertstring.cpp">
199 </File>199 </File>
200 <File200 <File
201 RelativePath="..\..\include\cpput\dllproxy.h">201 RelativePath="..\..\include\cpput\assertstring.h">
202 </File>202 </File>
203 <File203 <File
204 RelativePath="..\..\include\cpput\equality.h">204 RelativePath="..\..\include\cpput\autolink.h">
205 </File>205 </File>
206 <File206 <File
207 RelativePath="..\..\src\cpput\exceptionguard.cpp">207 RelativePath="..\..\include\cpput\config.h">
208 </File>208 </File>
209 <File209 <File
210 RelativePath="..\..\include\cpput\exceptionguard.h">210 RelativePath="..\..\src\cpput\dllproxy.cpp">
211 </File>211 </File>
212 <File212 <File
213 RelativePath="..\..\src\cpput\extendeddata.cpp">213 RelativePath="..\..\include\cpput\dllproxy.h">
214 </File>214 </File>
215 <File215 <File
216 RelativePath="..\..\include\cpput\extendeddata.h">216 RelativePath="..\..\include\cpput\equality.h">
217 </File>217 </File>
218 <File218 <File
219 RelativePath="..\..\include\cpput\forwards.h">219 RelativePath="..\..\src\cpput\exceptionguard.cpp">
220 </File>220 </File>
221 <File221 <File
222 RelativePath="..\..\include\cpput\inputtest.h">222 RelativePath="..\..\include\cpput\exceptionguard.h">
223 </File>223 </File>
224 <File224 <File
225 RelativePath="..\..\src\cpput\lighttestrunner.cpp">225 RelativePath="..\..\src\cpput\extendeddata.cpp">
226 </File>226 </File>
227 <File227 <File
228 RelativePath="..\..\include\cpput\lighttestrunner.h">228 RelativePath="..\..\include\cpput\extendeddata.h">
229 </File>229 </File>
230 <File230 <File
231 RelativePath="..\..\src\cpput\message.cpp">231 RelativePath="..\..\include\cpput\forwards.h">
232 </File>232 </File>
233 <File233 <File
234 RelativePath="..\..\include\cpput\message.h">234 RelativePath="..\..\include\cpput\inputbasedtest.h">
235 </File>235 </File>
236 <File236 <File
237 RelativePath="..\..\src\cpput\registry.cpp">237 RelativePath="..\..\include\cpput\inputtest.h">
238 </File>238 </File>
239 <File239 <File
240 RelativePath="..\..\include\cpput\registry.h">240 RelativePath="..\..\include\cpput\interface.h">
241 </File>241 </File>
242 <File242 <File
243 RelativePath="..\..\include\cpput\resource.h">243 RelativePath="..\..\include\cpput\lightfixture.h">
244 </File>244 </File>
245 <File245 <File
246 RelativePath="..\..\include\cpput\stringize.h">246 RelativePath="..\..\src\cpput\lighttestrunner.cpp">
247 </File>247 </File>
248 <File248 <File
249 RelativePath="..\..\include\cpput\test.h">249 RelativePath="..\..\include\cpput\lighttestrunner.h">
250 </File>250 </File>
251 <File251 <File
252 RelativePath="..\..\src\cpput\testcase.cpp">252 RelativePath="..\..\src\cpput\message.cpp">
253 </File>253 </File>
254 <File254 <File
255 RelativePath="..\..\include\cpput\testcase.h">255 RelativePath="..\..\include\cpput\message.h">
256 </File>256 </File>
257 <File257 <File
258 RelativePath="..\..\include\cpput\testfixture.h">258 RelativePath="..\..\include\cpput\opentestadaptor.h">
259 </File>259 </File>
260 <File260 <File
261 RelativePath="..\..\src\cpput\testinfo.cpp">261 RelativePath="..\..\src\cpput\registry.cpp">
262 </File>262 </File>
263 <File263 <File
264 RelativePath="..\..\include\cpput\testinfo.h">264 RelativePath="..\..\include\cpput\registry.h">
265 </File>265 </File>
266 <File266 <File
267 RelativePath="..\..\src\cpput\testsuite.cpp">267 RelativePath="..\..\src\cpput\resource.cpp">
268 </File>268 </File>
269 <File269 <File
270 RelativePath="..\..\include\cpput\testsuite.h">270 RelativePath="..\..\include\cpput\resource.h">
271 </File>271 </File>
272 <File272 <File
273 RelativePath="..\..\include\cpput\testvisitor.h">273 RelativePath="..\..\include\cpput\stringize.h">
274 </File>274 </File>
275 <File275 <File
276 RelativePath="..\..\include\cpput\translate.h">276 RelativePath="..\..\include\cpput\test.h">
277 </File>277 </File>
278 </Files>278 <File
279 <Globals>279 RelativePath="..\..\src\cpput\testcase.cpp">
280 </Globals>280 </File>
281</VisualStudioProject>281 <File
282 RelativePath="..\..\include\cpput\testcase.h">
283 </File>
284 <File
285 RelativePath="..\..\include\cpput\testfixture.h">
286 </File>
287 <File
288 RelativePath="..\..\include\cpput\testfunction.h">
289 </File>
290 <File
291 RelativePath="..\..\src\cpput\testinfo.cpp">
292 </File>
293 <File
294 RelativePath="..\..\include\cpput\testinfo.h">
295 </File>
296 <File
297 RelativePath="..\..\include\cpput\testvisitor.h">
298 </File>
299 <File
300 RelativePath="..\..\include\cpput\translate.h">
301 </File>
302 </Files>
303 <Globals>
304 </Globals>
305</VisualStudioProject>
282306
=== modified file 'cppunit2/makefiles/vs71/cpput_test.vcproj'
--- cppunit2/makefiles/vs71/cpput_test.vcproj 2008-06-26 14:28:05 +0000
+++ cppunit2/makefiles/vs71/cpput_test.vcproj 2008-12-25 17:01:58 +0000
@@ -1,261 +1,282 @@
1<?xml version="1.0" encoding="Windows-1252"?>1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject2<VisualStudioProject
3 ProjectType="Visual C++"3 ProjectType="Visual C++"
4 Version="7.10"4 Version="7.10"
5 Name="cpput_test"5 Name="cpput_test"
6 ProjectGUID="{2506991E-13CA-49C9-8686-AACDE35C21B6}"6 ProjectGUID="{2506991E-13CA-49C9-8686-AACDE35C21B6}"
7 RootNamespace="cpput_test"7 RootNamespace="cpput_test"
8 Keyword="Win32Proj">8 Keyword="Win32Proj">
9 <Platforms>9 <Platforms>
10 <Platform10 <Platform
11 Name="Win32"/>11 Name="Win32"/>
12 </Platforms>12 </Platforms>
13 <Configurations>13 <Configurations>
14 <Configuration14 <Configuration
15 Name="Debug|Win32"15 Name="Debug|Win32"
16 OutputDirectory="../../build/cpput_test/debug"16 OutputDirectory="../../build/cpput_test/debug"
17 IntermediateDirectory="../../build/cpput_test/debug"17 IntermediateDirectory="../../build/cpput_test/debug"
18 ConfigurationType="1"18 ConfigurationType="1"
19 CharacterSet="2">19 CharacterSet="2">
20 <Tool20 <Tool
21 Name="VCCLCompilerTool"21 Name="VCCLCompilerTool"
22 Optimization="0"22 Optimization="0"
23 AdditionalIncludeDirectories="../../include"23 AdditionalIncludeDirectories="../../include"
24 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"24 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
25 MinimalRebuild="TRUE"25 MinimalRebuild="TRUE"
26 BasicRuntimeChecks="3"26 BasicRuntimeChecks="3"
27 RuntimeLibrary="3"27 RuntimeLibrary="3"
28 BufferSecurityCheck="TRUE"28 BufferSecurityCheck="TRUE"
29 TreatWChar_tAsBuiltInType="TRUE"29 TreatWChar_tAsBuiltInType="TRUE"
30 ForceConformanceInForLoopScope="TRUE"30 ForceConformanceInForLoopScope="TRUE"
31 UsePrecompiledHeader="0"31 UsePrecompiledHeader="0"
32 WarningLevel="3"32 WarningLevel="3"
33 Detect64BitPortabilityProblems="FALSE"33 Detect64BitPortabilityProblems="FALSE"
34 DebugInformationFormat="3"/>34 DebugInformationFormat="3"/>
35 <Tool35 <Tool
36 Name="VCCustomBuildTool"/>36 Name="VCCustomBuildTool"/>
37 <Tool37 <Tool
38 Name="VCLinkerTool"38 Name="VCLinkerTool"
39 OutputFile="$(OutDir)/cpput_test.exe"39 OutputFile="$(OutDir)/cpput_test.exe"
40 LinkIncremental="2"40 LinkIncremental="2"
41 GenerateDebugInformation="TRUE"41 GenerateDebugInformation="TRUE"
42 ProgramDatabaseFile="$(OutDir)/cpput_test.pdb"42 ProgramDatabaseFile="$(OutDir)/cpput_test.pdb"
43 SubSystem="1"43 SubSystem="1"
44 TargetMachine="1"/>44 TargetMachine="1"/>
45 <Tool45 <Tool
46 Name="VCMIDLTool"/>46 Name="VCMIDLTool"/>
47 <Tool47 <Tool
48 Name="VCPostBuildEventTool"48 Name="VCPostBuildEventTool"
49 Description="Running post-build unit tests"49 Description="Running post-build unit tests"
50 CommandLine="$(TargetPath)"/>50 CommandLine="$(TargetPath)"/>
51 <Tool51 <Tool
52 Name="VCPreBuildEventTool"/>52 Name="VCPreBuildEventTool"/>
53 <Tool53 <Tool
54 Name="VCPreLinkEventTool"/>54 Name="VCPreLinkEventTool"/>
55 <Tool55 <Tool
56 Name="VCResourceCompilerTool"/>56 Name="VCResourceCompilerTool"/>
57 <Tool57 <Tool
58 Name="VCWebServiceProxyGeneratorTool"/>58 Name="VCWebServiceProxyGeneratorTool"/>
59 <Tool59 <Tool
60 Name="VCXMLDataGeneratorTool"/>60 Name="VCXMLDataGeneratorTool"/>
61 <Tool61 <Tool
62 Name="VCWebDeploymentTool"/>62 Name="VCWebDeploymentTool"/>
63 <Tool63 <Tool
64 Name="VCManagedWrapperGeneratorTool"/>64 Name="VCManagedWrapperGeneratorTool"/>
65 <Tool65 <Tool
66 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>66 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
67 </Configuration>67 </Configuration>
68 <Configuration68 <Configuration
69 Name="Release|Win32"69 Name="Release|Win32"
70 OutputDirectory="../../build/cpput_test/release"70 OutputDirectory="../../build/cpput_test/release"
71 IntermediateDirectory="../../build/cpput_test/release"71 IntermediateDirectory="../../build/cpput_test/release"
72 ConfigurationType="1"72 ConfigurationType="1"
73 CharacterSet="2">73 CharacterSet="2">
74 <Tool74 <Tool
75 Name="VCCLCompilerTool"75 Name="VCCLCompilerTool"
76 AdditionalIncludeDirectories="../../include"76 AdditionalIncludeDirectories="../../include"
77 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"77 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
78 StringPooling="TRUE"78 StringPooling="TRUE"
79 RuntimeLibrary="2"79 RuntimeLibrary="2"
80 EnableFunctionLevelLinking="TRUE"80 EnableFunctionLevelLinking="TRUE"
81 TreatWChar_tAsBuiltInType="TRUE"81 TreatWChar_tAsBuiltInType="TRUE"
82 ForceConformanceInForLoopScope="TRUE"82 ForceConformanceInForLoopScope="TRUE"
83 UsePrecompiledHeader="0"83 UsePrecompiledHeader="0"
84 WarningLevel="3"84 WarningLevel="3"
85 Detect64BitPortabilityProblems="FALSE"85 Detect64BitPortabilityProblems="FALSE"
86 DebugInformationFormat="3"/>86 DebugInformationFormat="3"/>
87 <Tool87 <Tool
88 Name="VCCustomBuildTool"/>88 Name="VCCustomBuildTool"/>
89 <Tool89 <Tool
90 Name="VCLinkerTool"90 Name="VCLinkerTool"
91 OutputFile="$(OutDir)/cpput_test.exe"91 OutputFile="$(OutDir)/cpput_test.exe"
92 LinkIncremental="1"92 LinkIncremental="1"
93 GenerateDebugInformation="TRUE"93 GenerateDebugInformation="TRUE"
94 SubSystem="1"94 SubSystem="1"
95 OptimizeReferences="2"95 OptimizeReferences="2"
96 EnableCOMDATFolding="2"96 EnableCOMDATFolding="2"
97 TargetMachine="1"/>97 TargetMachine="1"/>
98 <Tool98 <Tool
99 Name="VCMIDLTool"/>99 Name="VCMIDLTool"/>
100 <Tool100 <Tool
101 Name="VCPostBuildEventTool"101 Name="VCPostBuildEventTool"
102 Description="Running post-build unit tests"102 Description="Running post-build unit tests"
103 CommandLine="$(TargetPath)"/>103 CommandLine="$(TargetPath)"/>
104 <Tool104 <Tool
105 Name="VCPreBuildEventTool"/>105 Name="VCPreBuildEventTool"/>
106 <Tool106 <Tool
107 Name="VCPreLinkEventTool"/>107 Name="VCPreLinkEventTool"/>
108 <Tool108 <Tool
109 Name="VCResourceCompilerTool"/>109 Name="VCResourceCompilerTool"/>
110 <Tool110 <Tool
111 Name="VCWebServiceProxyGeneratorTool"/>111 Name="VCWebServiceProxyGeneratorTool"/>
112 <Tool112 <Tool
113 Name="VCXMLDataGeneratorTool"/>113 Name="VCXMLDataGeneratorTool"/>
114 <Tool114 <Tool
115 Name="VCWebDeploymentTool"/>115 Name="VCWebDeploymentTool"/>
116 <Tool116 <Tool
117 Name="VCManagedWrapperGeneratorTool"/>117 Name="VCManagedWrapperGeneratorTool"/>
118 <Tool118 <Tool
119 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>119 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
120 </Configuration>120 </Configuration>
121 </Configurations>121 </Configurations>
122 <References>122 <References>
123 </References>123 </References>
124 <Files>124 <Files>
125 <Filter125 <Filter
126 Name="codetorevisit"126 Name="codetorevisit"
127 Filter="">127 Filter="">
128 <File128 <File
129 RelativePath="..\..\src\cpputtest\testfunctor2.cpp">129 RelativePath="..\..\src\cpputtest\testfunctor2.cpp">
130 <FileConfiguration130 <FileConfiguration
131 Name="Debug|Win32"131 Name="Debug|Win32"
132 ExcludedFromBuild="TRUE">132 ExcludedFromBuild="TRUE">
133 <Tool133 <Tool
134 Name="VCCLCompilerTool"/>134 Name="VCCLCompilerTool"/>
135 </FileConfiguration>135 </FileConfiguration>
136 <FileConfiguration136 <FileConfiguration
137 Name="Release|Win32"137 Name="Release|Win32"
138 ExcludedFromBuild="TRUE">138 ExcludedFromBuild="TRUE">
139 <Tool139 <Tool
140 Name="VCCLCompilerTool"/>140 Name="VCCLCompilerTool"/>
141 </FileConfiguration>141 </FileConfiguration>
142 </File>142 </File>
143 <File143 <File
144 RelativePath="..\..\src\cpputtest\testfunctor3.cpp">144 RelativePath="..\..\src\cpputtest\testfunctor3.cpp">
145 <FileConfiguration145 <FileConfiguration
146 Name="Debug|Win32"146 Name="Debug|Win32"
147 ExcludedFromBuild="TRUE">147 ExcludedFromBuild="TRUE">
148 <Tool148 <Tool
149 Name="VCCLCompilerTool"/>149 Name="VCCLCompilerTool"/>
150 </FileConfiguration>150 </FileConfiguration>
151 <FileConfiguration151 <FileConfiguration
152 Name="Release|Win32"152 Name="Release|Win32"
153 ExcludedFromBuild="TRUE">153 ExcludedFromBuild="TRUE">
154 <Tool154 <Tool
155 Name="VCCLCompilerTool"/>155 Name="VCCLCompilerTool"/>
156 </FileConfiguration>156 </FileConfiguration>
157 </File>157 </File>
158 <File158 <File
159 RelativePath="..\..\src\cpputtest\testtestrunresult.cpp">159 RelativePath="..\..\src\cpputtest\testtestrunresult.cpp">
160 <FileConfiguration160 <FileConfiguration
161 Name="Debug|Win32"161 Name="Debug|Win32"
162 ExcludedFromBuild="TRUE">162 ExcludedFromBuild="TRUE">
163 <Tool163 <Tool
164 Name="VCCLCompilerTool"/>164 Name="VCCLCompilerTool"/>
165 </FileConfiguration>165 </FileConfiguration>
166 <FileConfiguration166 <FileConfiguration
167 Name="Release|Win32"167 Name="Release|Win32"
168 ExcludedFromBuild="TRUE">168 ExcludedFromBuild="TRUE">
169 <Tool169 <Tool
170 Name="VCCLCompilerTool"/>170 Name="VCCLCompilerTool"/>
171 </FileConfiguration>171 </FileConfiguration>
172 </File>172 </File>
173 </Filter>173 </Filter>
174 <File174 <File
175 RelativePath="..\..\src\cpputtest\assertenumtest.cpp">175 RelativePath="..\..\src\cpputtest\assertenumtest.cpp">
176 </File>176 </File>
177 <File177 <File
178 RelativePath="..\..\src\cpputtest\assertenumtest.h">178 RelativePath="..\..\src\cpputtest\assertenumtest.h">
179 </File>179 </File>
180 <File180 <File
181 RelativePath="..\..\src\cpputtest\assertstringtest.cpp">181 RelativePath="..\..\src\cpputtest\assertstringtest.cpp">
182 </File>182 </File>
183 <File183 <File
184 RelativePath="..\..\src\cpputtest\assertstringtest.h">184 RelativePath="..\..\src\cpputtest\assertstringtest.h">
185 </File>185 </File>
186 <File186 <File
187 RelativePath="..\..\src\cpputtest\commandlineoptionstest.cpp">187 RelativePath="..\..\src\cpputtest\commandlineoptionstest.cpp">
188 </File>188 <FileConfiguration
189 <File189 Name="Debug|Win32"
190 RelativePath="..\..\src\cpputtest\commandlineoptionstest.h">190 ExcludedFromBuild="TRUE">
191 </File>191 <Tool
192 <File192 Name="VCCLCompilerTool"/>
193 RelativePath="..\..\src\cpputtest\enumeratortest.cpp">193 </FileConfiguration>
194 </File>194 <FileConfiguration
195 <File195 Name="Release|Win32"
196 RelativePath="..\..\src\cpputtest\enumeratortest.h">196 ExcludedFromBuild="TRUE">
197 </File>197 <Tool
198 <File198 Name="VCCLCompilerTool"/>
199 RelativePath="..\..\src\cpputtest\main.cpp">199 </FileConfiguration>
200 </File>200 </File>
201 <File201 <File
202 RelativePath="..\..\src\cpputtest\minitestrunner.h">202 RelativePath="..\..\src\cpputtest\commandlineoptionstest.h">
203 </File>203 </File>
204 <File204 <File
205 RelativePath="..\..\src\cpputtest\mocktestlistener.h">205 RelativePath="..\..\src\cpputtest\enumeratortest.cpp">
206 </File>206 </File>
207 <File207 <File
208 RelativePath="..\..\src\cpputtest\mocktestvisitor.h">208 RelativePath="..\..\src\cpputtest\enumeratortest.h">
209 </File>209 </File>
210 <File210 <File
211 RelativePath="..\..\src\cpputtest\reflectiontest.cpp">211 RelativePath="..\..\src\cpputtest\main.cpp">
212 </File>212 </File>
213 <File213 <File
214 RelativePath="..\..\src\cpputtest\reflectiontest.h">214 RelativePath="..\..\src\cpputtest\minitestrunner.h">
215 </File>215 </File>
216 <File216 <File
217 RelativePath="..\..\src\cpputtest\registrytest.cpp">217 RelativePath="..\..\src\cpputtest\mocktestlistener.h">
218 </File>218 </File>
219 <File219 <File
220 RelativePath="..\..\src\cpputtest\registrytest.h">220 RelativePath="..\..\src\cpputtest\mocktestvisitor.h">
221 </File>221 </File>
222 <File222 <File
223 RelativePath="..\..\src\cpputtest\smallmaptest.cpp">223 RelativePath="..\..\src\cpputtest\reflectiontest.cpp">
224 </File>224 </File>
225 <File225 <File
226 RelativePath="..\..\src\cpputtest\smallmaptest.h">226 RelativePath="..\..\src\cpputtest\reflectiontest.h">
227 </File>227 </File>
228 <File228 <File
229 RelativePath="..\..\src\cpputtest\testbasicassertion.cpp">229 RelativePath="..\..\src\cpputtest\registrytest.cpp">
230 </File>230 </File>
231 <File231 <File
232 RelativePath="..\..\src\cpputtest\testexceptionguard.cpp">232 RelativePath="..\..\src\cpputtest\registrytest.h">
233 </File>233 </File>
234 <File234 <File
235 RelativePath="..\..\src\cpputtest\testfixturetest.cpp">235 RelativePath="..\..\src\cpputtest\smallmaptest.cpp">
236 </File>236 </File>
237 <File237 <File
238 RelativePath="..\..\src\cpputtest\testfixturetest.h">238 RelativePath="..\..\src\cpputtest\smallmaptest.h">
239 </File>239 </File>
240 <File240 <File
241 RelativePath="..\..\src\cpputtest\testfunctor.cpp">241 RelativePath="..\..\src\cpputtest\testbasicassertion.cpp">
242 </File>242 </File>
243 <File243 <File
244 RelativePath="..\..\src\cpputtest\testinfotest.cpp">244 RelativePath="..\..\src\cpputtest\testexceptionguard.cpp">
245 </File>245 </File>
246 <File246 <File
247 RelativePath="..\..\src\cpputtest\testtestcase.cpp">247 RelativePath="..\..\src\cpputtest\testfixturetest.cpp">
248 </File>248 </File>
249 <File249 <File
250 RelativePath="..\..\src\cpputtest\testtestsuite.cpp">250 RelativePath="..\..\src\cpputtest\testfunctor.cpp">
251 </File>251 </File>
252 <File252 <File
253 RelativePath="..\..\src\cpputtest\valuetest.cpp">253 RelativePath="..\..\src\cpputtest\testinfotest.cpp">
254 </File>254 </File>
255 <File255 <File
256 RelativePath="..\..\src\cpputtest\valuetest.h">256 RelativePath="..\..\src\cpputtest\testtestcase.cpp">
257 </File>257 </File>
258 </Files>258 <File
259 <Globals>259 RelativePath="..\..\src\cpputtest\testtestsuite.cpp">
260 </Globals>260 <FileConfiguration
261</VisualStudioProject>261 Name="Debug|Win32"
262 ExcludedFromBuild="TRUE">
263 <Tool
264 Name="VCCLCompilerTool"/>
265 </FileConfiguration>
266 <FileConfiguration
267 Name="Release|Win32"
268 ExcludedFromBuild="TRUE">
269 <Tool
270 Name="VCCLCompilerTool"/>
271 </FileConfiguration>
272 </File>
273 <File
274 RelativePath="..\..\src\cpputtest\valuetest.cpp">
275 </File>
276 <File
277 RelativePath="..\..\src\cpputtest\valuetest.h">
278 </File>
279 </Files>
280 <Globals>
281 </Globals>
282</VisualStudioProject>
262283
=== modified file 'cppunit2/makefiles/vs80/cpput_lib.vcproj'
--- cppunit2/makefiles/vs80/cpput_lib.vcproj 2008-07-13 06:19:20 +0000
+++ cppunit2/makefiles/vs80/cpput_lib.vcproj 2008-12-20 10:16:30 +0000
@@ -1,402 +1,414 @@
1<?xml version="1.0" encoding="Windows-1252"?>1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject2<VisualStudioProject
3 ProjectType="Visual C++"3 ProjectType="Visual C++"
4 Version="8,00"4 Version="8,00"
5 Name="cpput_lib"5 Name="cpput_lib"
6 ProjectGUID="{79273A0D-700E-4AFA-B7F2-14D4CC325521}"6 ProjectGUID="{79273A0D-700E-4AFA-B7F2-14D4CC325521}"
7 Keyword="Win32Proj"7 Keyword="Win32Proj"
8 >8 >
9 <Platforms>9 <Platforms>
10 <Platform10 <Platform
11 Name="Win32"11 Name="Win32"
12 />12 />
13 </Platforms>13 </Platforms>
14 <ToolFiles>14 <ToolFiles>
15 </ToolFiles>15 </ToolFiles>
16 <Configurations>16 <Configurations>
17 <Configuration17 <Configuration
18 Name="Debug|Win32"18 Name="Debug|Win32"
19 OutputDirectory="../../build/cpput/debug"19 OutputDirectory="../../build/cpput/debug"
20 IntermediateDirectory="../../build/cpput/debug"20 IntermediateDirectory="../../build/cpput/debug"
21 ConfigurationType="4"21 ConfigurationType="4"
22 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"22 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
23 CharacterSet="2"23 CharacterSet="2"
24 >24 >
25 <Tool25 <Tool
26 Name="VCPreBuildEventTool"26 Name="VCPreBuildEventTool"
27 />27 />
28 <Tool28 <Tool
29 Name="VCCustomBuildTool"29 Name="VCCustomBuildTool"
30 />30 />
31 <Tool31 <Tool
32 Name="VCXMLDataGeneratorTool"32 Name="VCXMLDataGeneratorTool"
33 />33 />
34 <Tool34 <Tool
35 Name="VCWebServiceProxyGeneratorTool"35 Name="VCWebServiceProxyGeneratorTool"
36 />36 />
37 <Tool37 <Tool
38 Name="VCMIDLTool"38 Name="VCMIDLTool"
39 />39 />
40 <Tool40 <Tool
41 Name="VCCLCompilerTool"41 Name="VCCLCompilerTool"
42 Optimization="0"42 Optimization="0"
43 AdditionalIncludeDirectories="../../include"43 AdditionalIncludeDirectories="../../include"
44 PreprocessorDefinitions="WIN32;_DEBUG;_LIB"44 PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
45 MinimalRebuild="true"45 MinimalRebuild="true"
46 BasicRuntimeChecks="3"46 BasicRuntimeChecks="3"
47 RuntimeLibrary="3"47 RuntimeLibrary="3"
48 BufferSecurityCheck="true"48 BufferSecurityCheck="true"
49 TreatWChar_tAsBuiltInType="true"49 TreatWChar_tAsBuiltInType="true"
50 ForceConformanceInForLoopScope="true"50 ForceConformanceInForLoopScope="true"
51 UsePrecompiledHeader="0"51 UsePrecompiledHeader="0"
52 WarningLevel="3"52 WarningLevel="3"
53 Detect64BitPortabilityProblems="false"53 Detect64BitPortabilityProblems="false"
54 DebugInformationFormat="3"54 DebugInformationFormat="3"
55 />55 />
56 <Tool56 <Tool
57 Name="VCManagedResourceCompilerTool"57 Name="VCManagedResourceCompilerTool"
58 />58 />
59 <Tool59 <Tool
60 Name="VCResourceCompilerTool"60 Name="VCResourceCompilerTool"
61 />61 />
62 <Tool62 <Tool
63 Name="VCPreLinkEventTool"63 Name="VCPreLinkEventTool"
64 />64 />
65 <Tool65 <Tool
66 Name="VCLibrarianTool"66 Name="VCLibrarianTool"
67 OutputFile="$(OutDir)/cpput_vc71_libmd.lib"67 OutputFile="$(OutDir)/cpput_vc71_libmd.lib"
68 />68 />
69 <Tool69 <Tool
70 Name="VCALinkTool"70 Name="VCALinkTool"
71 />71 />
72 <Tool72 <Tool
73 Name="VCXDCMakeTool"73 Name="VCXDCMakeTool"
74 />74 />
75 <Tool75 <Tool
76 Name="VCBscMakeTool"76 Name="VCBscMakeTool"
77 />77 />
78 <Tool78 <Tool
79 Name="VCFxCopTool"79 Name="VCFxCopTool"
80 />80 />
81 <Tool81 <Tool
82 Name="VCPostBuildEventTool"82 Name="VCPostBuildEventTool"
83 />83 />
84 </Configuration>84 </Configuration>
85 <Configuration85 <Configuration
86 Name="Release|Win32"86 Name="Release|Win32"
87 OutputDirectory="../../build/cpput/release"87 OutputDirectory="../../build/cpput/release"
88 IntermediateDirectory="../../build/cpput/release"88 IntermediateDirectory="../../build/cpput/release"
89 ConfigurationType="4"89 ConfigurationType="4"
90 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"90 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
91 CharacterSet="2"91 CharacterSet="2"
92 >92 >
93 <Tool93 <Tool
94 Name="VCPreBuildEventTool"94 Name="VCPreBuildEventTool"
95 />95 />
96 <Tool96 <Tool
97 Name="VCCustomBuildTool"97 Name="VCCustomBuildTool"
98 />98 />
99 <Tool99 <Tool
100 Name="VCXMLDataGeneratorTool"100 Name="VCXMLDataGeneratorTool"
101 />101 />
102 <Tool102 <Tool
103 Name="VCWebServiceProxyGeneratorTool"103 Name="VCWebServiceProxyGeneratorTool"
104 />104 />
105 <Tool105 <Tool
106 Name="VCMIDLTool"106 Name="VCMIDLTool"
107 />107 />
108 <Tool108 <Tool
109 Name="VCCLCompilerTool"109 Name="VCCLCompilerTool"
110 AdditionalIncludeDirectories="../../include"110 AdditionalIncludeDirectories="../../include"
111 PreprocessorDefinitions="WIN32;NDEBUG;_LIB"111 PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
112 StringPooling="true"112 StringPooling="true"
113 RuntimeLibrary="2"113 RuntimeLibrary="2"
114 EnableFunctionLevelLinking="true"114 EnableFunctionLevelLinking="true"
115 TreatWChar_tAsBuiltInType="true"115 TreatWChar_tAsBuiltInType="true"
116 ForceConformanceInForLoopScope="true"116 ForceConformanceInForLoopScope="true"
117 UsePrecompiledHeader="0"117 UsePrecompiledHeader="0"
118 WarningLevel="3"118 WarningLevel="3"
119 Detect64BitPortabilityProblems="false"119 Detect64BitPortabilityProblems="false"
120 DebugInformationFormat="3"120 DebugInformationFormat="3"
121 />121 />
122 <Tool122 <Tool
123 Name="VCManagedResourceCompilerTool"123 Name="VCManagedResourceCompilerTool"
124 />124 />
125 <Tool125 <Tool
126 Name="VCResourceCompilerTool"126 Name="VCResourceCompilerTool"
127 />127 />
128 <Tool
129 Name="VCPreLinkEventTool"
130 />
131 <Tool
132 Name="VCLibrarianTool"
133 OutputFile="$(OutDir)/cpput_vc71_libmd.lib"
134 />
135 <Tool
136 Name="VCALinkTool"
137 />
138 <Tool
139 Name="VCXDCMakeTool"
140 />
141 <Tool
142 Name="VCBscMakeTool"
143 />
144 <Tool
145 Name="VCFxCopTool"
146 />
147 <Tool
148 Name="VCPostBuildEventTool"
149 />
150 </Configuration>
151 </Configurations>
152 <References>
153 </References>
154 <Files>
155 <Filter
156 Name="codetorevisit"
157 >
158 <File
159 RelativePath="..\..\src\cpput\parametrizedsource.cpp"
160 >
161 </File>
162 <File
163 RelativePath="..\..\include\cpput\parametrizedsource.h"
164 >
165 </File>
166 <File
167 RelativePath="..\..\src\cpput\tablefixture.cpp"
168 >
169 <FileConfiguration
170 Name="Debug|Win32"
171 ExcludedFromBuild="true"
172 >
173 <Tool
174 Name="VCCLCompilerTool"
175 />
176 </FileConfiguration>
177 <FileConfiguration
178 Name="Release|Win32"
179 ExcludedFromBuild="true"
180 >
181 <Tool
182 Name="VCCLCompilerTool"
183 />
184 </FileConfiguration>
185 </File>
186 <File
187 RelativePath="..\..\src\cpput\testrunner.cpp"
188 >
189 <FileConfiguration
190 Name="Debug|Win32"
191 ExcludedFromBuild="true"
192 >
193 <Tool
194 Name="VCCLCompilerTool"
195 />
196 </FileConfiguration>
197 <FileConfiguration
198 Name="Release|Win32"
199 ExcludedFromBuild="true"
200 >
201 <Tool
202 Name="VCCLCompilerTool"
203 />
204 </FileConfiguration>
205 </File>
206 <File
207 RelativePath="..\..\include\cpput\testrunner.h"
208 >
209 </File>
210 </Filter>
211 <Filter
212 Name="doc"
213 >
214 <File
215 RelativePath="..\..\changelog.txt"
216 >
217 </File>
218 <File
219 RelativePath="..\..\doc\coding_guidelines.dox"
220 >
221 </File>
222 <File
223 RelativePath="..\..\doc\cpput.dox"
224 >
225 </File>
226 <File
227 RelativePath="..\..\doc\cpput_todo.dox"
228 >
229 </File>
230 <File
231 RelativePath="..\..\doc\custom.css"
232 >
233 </File>
234 <File
235 RelativePath="..\..\doc\doxyfile.in"
236 >
237 </File>
238 <File
239 RelativePath="..\..\doc\footer.html"
240 >
241 </File>
242 <File
243 RelativePath="..\..\doc\header.html"
244 >
245 </File>
246 </Filter>
247 <File
248 RelativePath="..\..\src\cpput\assert.cpp"
249 >
250 </File>
251 <File
252 RelativePath="..\..\include\cpput\assertcommon.h"
253 >
254 </File>
255 <File
256 RelativePath="..\..\include\cpput\assertenum.h"
257 >
258 </File>
259 <File
260 RelativePath="..\..\src\cpput\assertstring.cpp"
261 >
262 </File>
263 <File
264 RelativePath="..\..\include\cpput\assertstring.h"
265 >
266 </File>
267 <File
268 RelativePath="..\..\include\cpput\autolink.h"
269 >
270 </File>
271 <File
272 RelativePath="..\..\include\cpput\config.h"
273 >
274 </File>
275 <File
276 RelativePath="..\..\src\cpput\dllproxy.cpp"
277 >
278 </File>
279 <File
280 RelativePath="..\..\include\cpput\dllproxy.h"
281 >
282 </File>
283 <File
284 RelativePath="..\..\include\cpput\equality.h"
285 >
286 </File>
287 <File
288 RelativePath="..\..\src\cpput\exceptionguard.cpp"
289 >
290 </File>
291 <File
292 RelativePath="..\..\include\cpput\exceptionguard.h"
293 >
294 </File>
295 <File
296 RelativePath="..\..\src\cpput\extendeddata.cpp"
297 >
298 </File>
299 <File
300 RelativePath="..\..\include\cpput\extendeddata.h"
301 >
302 </File>
303 <File
304 RelativePath="..\..\include\cpput\forwards.h"
305 >
306 </File>
307 <File
308 RelativePath="..\..\include\cpput\inputbasedtest.h"
309 >
310 </File>
311 <File
312 RelativePath="..\..\include\cpput\lightfixture.h"
313 >
314 </File>
315 <File
316 RelativePath="..\..\src\cpput\lighttestrunner.cpp"
317 >
318 </File>
319 <File
320 RelativePath="..\..\include\cpput\lighttestrunner.h"
321 >
322 </File>
323 <File
324 RelativePath="..\..\src\cpput\message.cpp"
325 >
326 </File>
327 <File
328 RelativePath="..\..\include\cpput\message.h"
329 >
330 </File>
331 <File
332 RelativePath="..\..\src\cpput\registry.cpp"
333 >
334 </File>
335 <File
336 RelativePath="..\..\include\cpput\registry.h"
337 >
338 </File>
339 <File
340 RelativePath="..\..\src\cpput\resource.cpp"
341 >
342 </File>
343 <File
344 RelativePath="..\..\include\cpput\resource.h"
345 >
346 </File>
347 <File
348 RelativePath="..\..\include\cpput\stringize.h"
349 >
350 </File>
351 <File
352 RelativePath="..\..\include\cpput\tablefixture.h"
353 >
354 </File>
355 <File
356 RelativePath="..\..\include\cpput\test.h"
357 >
358 </File>
359 <File
360 RelativePath="..\..\src\cpput\testcase.cpp"
361 >
362 </File>
363 <File
364 RelativePath="..\..\include\cpput\testcase.h"
365 >
366 </File>
367 <File
368 RelativePath="..\..\include\cpput\testfixture.h"
369 >
370 </File>
371 <File
372 RelativePath="..\..\include\cpput\testfunction.h"
373 >
374 </File>
375 <File
376 RelativePath="..\..\src\cpput\testinfo.cpp"
377 >
378 </File>
379 <File
380 RelativePath="..\..\include\cpput\testinfo.h"
381 >
382 </File>
383 <File
384 RelativePath="..\..\src\cpput\testsuite.cpp"
385 >
386 </File>
387 <File
388 RelativePath="..\..\include\cpput\testsuite.h"
389 >
390 </File>
391 <File
392 RelativePath="..\..\include\cpput\testvisitor.h"
393 >
394 </File>
395 <File
396 RelativePath="..\..\include\cpput\translate.h"
397 >
398 </File>
399 </Files>
400 <Globals>
401 </Globals>
402</VisualStudioProject>
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: