CTest:FAQ
General information and availability
What is CTest
CTest is a cross-platform, open-source testing system distributed with CMake. CTest can peform several operations on the source code, that include retrieving from CVS or Subversion repository, configure, build, perform set of predefined runtime tests. It also includes several advanced tests such as coverage and memory checking. The results can be submitted to a Dart testing dashboard.
What is the current release?
CTest release schedule is tied with CMake. This release is available at:
http://www.cmake.org/HTML/Download.html
Nightly development can be accessed through CVS.
See http://www.cmake.org/HTML/Download.html for more information.
I found a Bug! What should I do?
Please report the bug in our bug tracker: http://www.cmake.org/Bug .
Please make sure to look at the old bugs not to include duplicates, include detailed instructions of the bug and how to reproduce it.
I want a new feature in CTest. What should I do?
Report a feature request in our Bug tracker http://www.cmake.org/Bug .
Please make sure to look at the old feature requests not to include duplicates, include detailed instructions of the feature and proposed implementation.
Platform-specific questions
How can I perform coverage test?
Currently coverage is only supported on gcc compiler. To perform coverage test, make sure that your code is build with debug symbols, without optimization, and with special flags. These flags are:
-fprofile-arcs -ftest-coverage
Also make sure to pass these flags to C compiler, CXX compiler, and the linker. For example:
CXXFLAGS="-g -O0 -Wall -W -Wshadow -Wunused-variable -Wunused-parameter -Wunused-function -Wunused -Wno-system-headers -Wno-deprecated -Woverloaded-virtual -Wwrite-strings -fprofile-arcs -ftest-coverage" CFLAGS="-g -O0 -Wall -W -fprofile-arcs -ftest-coverage" LDFLAGS="-fprofile-arcs -ftest-coverage"
Can I script CTest?
Yes, please look at the CTest Scripting Tutorial.