Step 6: 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 CDash.
Exercise 1 - Send Results to a Testing Dashboard¶
Goal¶
Display our CTest results with CDash.
Helpful Resources¶
Files to Edit¶
CMakeLists.txt
Getting Started¶
For this exercise, complete TODO 1
in the top-level CMakeLists.txt
by
including the CTest
module. This will enable testing with CTest as
well as dashboard submissions to CDash, so we can safely remove the call to
enable_testing()
.
We will also need to acquire a CTestConfig.cmake
file to be placed in the
top-level directory. When run, the ctest
executable will
read this file to gather information about the testing dashboard. It contains:
The project name
The project "Nightly" start time
The time when a 24 hour "day" starts for this project.
The URL of the CDash instance where the submission's generated documents will be sent
For this tutorial, a public dashboard server is used and its corresponding
CTestConfig.cmake
file is provided for you in this step's root directory.
In practice, this file would be downloaded from a project's Settings
page
on the CDash instance intended to host the test results. Once downloaded from
CDash, the file should not be modified locally.
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)
Build and Run¶
Note that as part of the CDash submission some information about your development system (e.g. site name or full pathnames) may displayed publicly.
To create a simple test dashboard, run the cmake
executable or the cmake-gui
to configure the project
but do not build it yet. Instead, navigate to the build directory and 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 the project, run any
tests, and submit the results to Kitware's public dashboard:
https://my.cdash.org/index.php?project=CMakeTutorial.
Solution¶
The only CMake code changed needed in this step was to enable dashboard
submissions to CDash by including the CTest
module in our top-level
CMakeLists.txt
:
TODO 1: Click to show/hide answer
include(CTest)