How to add unit tests to C++ code
The indra C++ codebase is fraught with much peril. To reduce the amount of risk associated with refactoring legacy code, use unit tests. Here's how to use the new LL_ADD_PROJECT_UNIT_TESTS cmake macro and the existing tut test infrastructure to add a test to the build.
Tests go in a tests/ subdir of the project with the specific naming convention codefilename_test.cpp. The test code itself should use our basic tut template (which as of 2009-04 is somewhat in flux). Add a testing target to the bottom of the project using the cmake command LL_ADD_PROJECT_UNIT_TESTS(project sourcelist).
DO NOT add test code that:
- talks to a database.
- communicates across a network.
- touches the file system.
- requires doing special things to the environment (such as editing configuration files) to run it.
- takes longer than about ~.1s to run on a modern computer.