[[TableOfContents]] 

= Objectives =

The CppUnit code base has grown into a monster and there are still many features that I would like to see added.

CppUnit2 is an attempt to propose a much cleaner implementation of the current features, and to follow good C++ practices.

The main objectives are:
 * use of smart-pointer for memory management
 * better support for custom test cases (repeat...) and parametrized test methods
 * flexible enough to allow sharing of a fixture across test cases (bad practice as it breaks test isolation, but may save a lot of time at execution if the setup is heavy).
 * better assertion support (equality testing, object conversion to string,...)
 * association of user data with test cases
 * thread support (passing assertion exceptions across threads, assertion...)
 * input-based test case support (read input data from external source, such as XML files...)
 * python binding

= Getting the sources =

CppUnit2 sources are finally available on CVS. You can obtain them as follows:
{{{
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cppunit login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cppunit co cppunit2
}}}

= Features =

 * ["/Assertions"]
 * /DescriptiveData
 * /ConvertToString
 * /EqualityTesting
 * /ParametrizedTestCase
 * /TestPlugIn
 * /SharedFixtureTestCase
 * /ThreadedTestCase

= Other documentations =

 * /RoadMap
 * /CompilerRequirements
 * /BuildSystem
 * /MemoryManagement
 * /ThreadSafety
 * /UsingWithCppUnit1
 * /ImplementationOverview
 * OpenTest
 * CppToolLibrary

= Input-based test cases =
  
= Integration with test-driving environments =

 Study possiblity to integrate the test framework with:
 * [Cruise``Control http://cruisecontrol.sourceforge.net/]
 * [Cruise``Control.NET http://ccnet.thoughtworks.com/]
 * [QMTest http://www.codesourcery.com/qm/qmtest]
 * ?
