﻿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		
