﻿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		
