You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.3 KiB
76 lines
2.3 KiB
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
|
|
:ref:`Testing Support <Tutorial Testing Support>`. Now we just have to run
|
|
those tests and submit them to a dashboard. To include support for dashboards
|
|
we include the :module:`CTest` module in our top-level ``CMakeLists.txt``.
|
|
|
|
Replace:
|
|
|
|
.. code-block:: cmake
|
|
:caption: CMakeLists.txt
|
|
:name: CMakeLists.txt-enable_testing-remove
|
|
|
|
# enable testing
|
|
enable_testing()
|
|
|
|
With:
|
|
|
|
.. code-block:: cmake
|
|
:caption: CMakeLists.txt
|
|
:name: CMakeLists.txt-include-CTest
|
|
|
|
# enable dashboard scripting
|
|
include(CTest)
|
|
|
|
The :module:`CTest` module will automatically call ``enable_testing()``, so we
|
|
can remove it from our CMake files.
|
|
|
|
We will also need to acquire a ``CTestConfig.cmake`` file to be placed in the
|
|
top-level directory where we can specify information to CTest about the
|
|
project. 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
|
|
|
|
One has been provided for you in this directory. It would normally be
|
|
downloaded from the ``Settings`` page of the project on the CDash
|
|
instance that will host and display the test results. Once downloaded from
|
|
CDash, the file should not be modified locally.
|
|
|
|
.. literalinclude:: Step9/CTestConfig.cmake
|
|
:caption: CTestConfig.cmake
|
|
:name: CTestConfig.cmake
|
|
:language: cmake
|
|
|
|
The :manual:`ctest <ctest(1)>` executable will read in this file when it runs.
|
|
To create a simple dashboard you can run the :manual:`cmake <cmake(1)>`
|
|
executable or the :manual:`cmake-gui <cmake-gui(1)>` to configure the project,
|
|
but do not build it yet. Instead, change directory to the binary tree, and then
|
|
run:
|
|
|
|
.. code-block:: console
|
|
|
|
ctest [-VV] -D Experimental
|
|
|
|
Remember, for multi-config generators (e.g. Visual Studio), the configuration
|
|
type must be specified:
|
|
|
|
.. code-block:: console
|
|
|
|
ctest [-VV] -C Debug -D Experimental
|
|
|
|
Or, from an IDE, build the ``Experimental`` target.
|
|
|
|
The :manual:`ctest <ctest(1)>` executable will build and test the project and
|
|
submit the results to Kitware's public dashboard:
|
|
https://my.cdash.org/index.php?project=CMakeTutorial.
|