Step 8: Adding Support for a Testing Dashboard¶
Adding support for submitting our test results to a dashboard is simple. We
already defined a number of tests for our project in
Testing Support. Now we just have to run
those tests and submit them to a dashboard. To include support for dashboards
we include the CTest
module in our top-level CMakeLists.txt
.
Replace:
# enable testing
enable_testing()
With:
# enable dashboard scripting
include(CTest)
The CTest
module will automatically call enable_testing()
, so we
can remove it from our CMake files.
We will also need to create a CTestConfig.cmake
file in the top-level
directory where we can specify the name of the project and where to submit the
dashboard.
set(CTEST_PROJECT_NAME "CMakeTutorial")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=CMakeTutorial")
set(CTEST_DROP_SITE_CDASH TRUE)
The ctest
executable will read in this file when it runs.
To create a simple dashboard you can run the cmake
executable or the cmake-gui
to configure the project,
but do not build it yet. Instead, change directory to the binary tree, and then
run:
ctest [-VV] -D Experimental
Remember, for multi-config generators (e.g. Visual Studio), the configuration type must be specified:
ctest [-VV] -C Debug -D Experimental
Or, from an IDE, build the Experimental
target.
The ctest
executable will build and test the project and
submit the results to Kitware's public dashboard:
https://my.cdash.org/index.php?project=CMakeTutorial.