summaryrefslogtreecommitdiff
path: root/Help/dev/testing.rst
blob: 1b29acf30d5e809a4000d1a7b2e1f3b814e59d8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
CMake Testing Process
*********************

The following documents the process for running integration testing builds.
See documentation on `CMake Development`_ for more information.

.. _`CMake Development`: README.rst

CMake Dashboard Scripts
=======================

The *integration testing* step of the `CMake Review Process`_ uses a set of
testing machines that follow an integration branch on their own schedule to
drive testing and submit results to the `CMake CDash Page`_.  Anyone is
welcome to provide testing machines in order to help keep support for their
platforms working.

The `CMake Dashboard Scripts Repository`_ provides CTest scripts to drive
nightly, continuous, and experimental testing of CMake.  Use the following
commands to set up a new integration testing client:

.. code-block:: console

  $ mkdir -p ~/Dashboards
  $ cd ~/Dashboards
  $ git clone https://gitlab.kitware.com/cmake/dashboard-scripts.git CMakeScripts
  $ cd CMakeScripts

The ``cmake_common.cmake`` script contains comments at the top with
instructions to set up a testing client.  As it instructs, create a
CTest script with local settings and include ``cmake_common.cmake``.

.. _`CMake Review Process`: review.rst
.. _`CMake CDash Page`: https://open.cdash.org/index.php?project=CMake
.. _`CMake Dashboard Scripts Repository`: https://gitlab.kitware.com/cmake/dashboard-scripts

Nightly Start Time
------------------

The ``cmake_common.cmake`` script expects its includer to be run from a
nightly scheduled task (cron job).  Schedule such tasks for sometime after
``1:00am UTC``, the time at which our nightly testing branches fast-forward.