﻿id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,phab_field
117,add CxxTest,Jan Wassenberg,Jan Wassenberg,"Background: using an existing Unit/self-test framework is deemed helpful (see 2006-05-27 meeting)
Chiefly based on [http://www.gamesfromwithin.com/articles/0412/000061.html evaluation], we choose [http://cxxtest.sourceforge.net/ CxxTest] as unit testing framework. 

Basic usage:
* self-tests are separate Cpp files that contain only the test code. (splitting is necessary so that cxxtestgen doesn't have to parse the entire codebase)
* they are stored in a tests subdir of the source directory (simplifies finding the relevant test file for purposes of editing it)
* a workspace generated by premake enumerates all test files, uses custom build step to generate the actual test code, and then links it all into a separate program that runs all tests.
Note: separating test code from the main PS executable has several advantages as [http://www.wildfiregames.com/forum/index.php?showtopic=10018&pid=171251&st=0&#entry171251 documented]
* only running certain tests will be possible (shortens iteration time when only editing one module).

TODO:
- add CxxTest to SVN
- generate workspace for the test program (via premake)
- move all existing tests over to that
- filtering: modify(/replace/subclass) TestRunner and change its runWorld() so that it filters by the SuiteDescription.testName().",task,new,Should Have,ASAP,Core engine,,test,,
