Testing

Outline

 * Writing test and running it improves software.
 * There is many tools for it.
 * "Design by Contract" is similar to testing

Boost

 * Boost has test library but not useful as others. It's just better than assert macro
 * Boost.Contract provides "Design by Contract"

CMake

 * call "enable_testing" in CMakeLists.txt for testing
 * To use google test use FindGTest
 * test added by "add_test" can be run from "make test" if it generated Makefile

Google Test

 * Project Page
 * Documentation
 * Solving library not installed in ubuntu
 * Add "--gtest_output=xml:${output_file}" to output JUnit test result.
 * Problem in tr1/tuple in libc++
 * Since libc++(at least in Xcode 4.5.1) has no tr1 they will have compile error with it.
 * According to this README passing "-DGTEST_USE_OWN_TR1_TUPLE=1" to compiler will fix this.

GDB

 * gdb may be used to auto test
 * Example