CTest:FAQ: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(Remove leading space rectangles from preformatted blocks)
(Replace content with link to new CMake community wiki)
 
Line 1: Line 1:
== General information and availability ==
{{CMake/Template/Moved}}
=== What is CTest ===
CTest is a cross-platform, open-source testing system distributed with [http://www.cmake.org 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 [http://public.kitware.com/Dart Dart] testing dashboard.


=== What is the current release? ===
This page has moved [https://gitlab.kitware.com/cmake/community/wikis/doc/ctest/FAQ here].
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.
 
==Using CTest==
 
=== My test does not return non-zero on failure. What can I do? ===
 
After adding test using:
 
<pre>
ADD_TEST(MyTest ${EXEC_DIR}/MyTest)
</pre>
 
Add test properties for pass and failure:
 
<pre>
SET_TESTS_PROPERTIES(MyTest PROPERTIES FAIL_REGULAR_EXPRESSION "ERROR;FAIL;Test failed")
SET_TESTS_PROPERTIES(MyTest PROPERTIES PASS_REGULAR_EXPRESSION "Test passed")
</pre>
 
== 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:
 
<pre>
-fprofile-arcs -ftest-coverage
</pre>
 
Also make sure to pass these flags to C compiler, CXX compiler, and the linker. For example:
 
<pre>
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"
</pre>
 
== Nightly Dashboards ==
=== Can I script CTest? ===
 
Yes, please look at the [[CMake_Scripting_Of_CTest|CTest Scripting Tutorial]].
 
=== How do I shutdown / reboot the system after the dashboard? ===
 
==== Linux ====
Add a cron entry as '''root''' with line:
<pre>
/sbin/shutdown -r now
</pre>
 
==== Windows ====
 
* http://www.robvanderwoude.com/index.html
 
==== HP-UX ====
 
Add a cron entry as ''''root''' with line:
<pre>
/sbin/shutdown -r -y 60
</pre>
 
==== SunOS ====
 
Add a cron entry as ''''root''' with line:
<pre>
/usr/sbin/sync && /usr/sbin/sync && /usr/sbin/reboot
</pre>
 
{{CMake/Template/Footer}}

Latest revision as of 15:41, 30 April 2018


The CMake community Wiki has moved to the Kitware GitLab Instance.

This page has moved here.