| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- 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.
|