blob: 5c2e84cebff3cc407070faee86c53a4b0fc45ac9 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CTest &mdash; CMake 3.8.2 Documentation</title>
<link rel="stylesheet" href="../_static/cmake.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '3.8.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<link rel="shortcut icon" href="../_static/cmake-favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="CTestCoverageCollectGCOV" href="CTestCoverageCollectGCOV.html" />
<link rel="prev" title="CSharpUtilities" href="CSharpUtilities.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="CTestCoverageCollectGCOV.html" title="CTestCoverageCollectGCOV"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="CSharpUtilities.html" title="CSharpUtilities"
accesskey="P">previous</a> |</li>
<li>
<img src="../_static/cmake-logo-16.png" alt=""
style="vertical-align: middle; margin-top: -2px" />
</li>
<li>
<a href="https://cmake.org/">CMake</a> &#187;
</li>
<li>
<a href="../index.html">3.8.2 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="../manual/cmake-modules.7.html" accesskey="U">cmake-modules(7)</a> &#187;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="ctest">
<span id="module:CTest"></span><h1>CTest<a class="headerlink" href="#ctest" title="Permalink to this headline">ΒΆ</a></h1>
<p>Configure a project for testing with CTest/CDash</p>
<p>Include this module in the top CMakeLists.txt file of a project to
enable testing with CTest and dashboard submissions to CDash:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">project</span><span class="p">(</span><span class="n">MyProject</span><span class="p">)</span>
<span class="o">...</span>
<span class="n">include</span><span class="p">(</span><span class="n">CTest</span><span class="p">)</span>
</pre></div>
</div>
<p>The module automatically creates a <code class="docutils literal"><span class="pre">BUILD_TESTING</span></code> option that selects
whether to enable testing support (<code class="docutils literal"><span class="pre">ON</span></code> by default). After including
the module, use code like:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">if</span><span class="p">(</span><span class="n">BUILD_TESTING</span><span class="p">)</span>
<span class="c1"># ... CMake code to create tests ...</span>
<span class="n">endif</span><span class="p">()</span>
</pre></div>
</div>
<p>to creating tests when testing is enabled.</p>
<p>To enable submissions to a CDash server, create a <code class="docutils literal"><span class="pre">CTestConfig.cmake</span></code>
file at the top of the project with content such as:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="nb">set</span><span class="p">(</span><span class="n">CTEST_PROJECT_NAME</span> <span class="s2">&quot;MyProject&quot;</span><span class="p">)</span>
<span class="nb">set</span><span class="p">(</span><span class="n">CTEST_NIGHTLY_START_TIME</span> <span class="s2">&quot;01:00:00 UTC&quot;</span><span class="p">)</span>
<span class="nb">set</span><span class="p">(</span><span class="n">CTEST_DROP_METHOD</span> <span class="s2">&quot;http&quot;</span><span class="p">)</span>
<span class="nb">set</span><span class="p">(</span><span class="n">CTEST_DROP_SITE</span> <span class="s2">&quot;my.cdash.org&quot;</span><span class="p">)</span>
<span class="nb">set</span><span class="p">(</span><span class="n">CTEST_DROP_LOCATION</span> <span class="s2">&quot;/submit.php?project=MyProject&quot;</span><span class="p">)</span>
<span class="nb">set</span><span class="p">(</span><span class="n">CTEST_DROP_SITE_CDASH</span> <span class="n">TRUE</span><span class="p">)</span>
</pre></div>
</div>
<p>(the CDash server can provide the file to a project administrator who
configures <code class="docutils literal"><span class="pre">MyProject</span></code>). Settings in the config file are shared by
both this <code class="docutils literal"><span class="pre">CTest</span></code> module and the <span class="target" id="index-0-manual:ctest(1)"></span><a class="reference internal" href="../manual/ctest.1.html#manual:ctest(1)" title="ctest(1)"><code class="xref cmake cmake-manual docutils literal"><span class="pre">ctest(1)</span></code></a> command-line
<a class="reference internal" href="../manual/ctest.1.html#dashboard-client"><span class="std std-ref">Dashboard Client</span></a> mode (<code class="docutils literal"><span class="pre">ctest</span> <span class="pre">-S</span></code>).</p>
<p>While building a project for submission to CDash, CTest scans the
build output for errors and warnings and reports them with surrounding
context from the build log. This generic approach works for all build
tools, but does not give details about the command invocation that
produced a given problem. One may get more detailed reports by setting
the <span class="target" id="index-0-variable:CTEST_USE_LAUNCHERS"></span><a class="reference internal" href="../variable/CTEST_USE_LAUNCHERS.html#variable:CTEST_USE_LAUNCHERS" title="CTEST_USE_LAUNCHERS"><code class="xref cmake cmake-variable docutils literal"><span class="pre">CTEST_USE_LAUNCHERS</span></code></a> variable:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="nb">set</span><span class="p">(</span><span class="n">CTEST_USE_LAUNCHERS</span> <span class="mi">1</span><span class="p">)</span>
</pre></div>
</div>
<p>in the <code class="docutils literal"><span class="pre">CTestConfig.cmake</span></code> file.</p>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
<p class="topless"><a href="CSharpUtilities.html"
title="previous chapter">CSharpUtilities</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="CTestCoverageCollectGCOV.html"
title="next chapter">CTestCoverageCollectGCOV</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/module/CTest.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="CTestCoverageCollectGCOV.html" title="CTestCoverageCollectGCOV"
>next</a> |</li>
<li class="right" >
<a href="CSharpUtilities.html" title="CSharpUtilities"
>previous</a> |</li>
<li>
<img src="../_static/cmake-logo-16.png" alt=""
style="vertical-align: middle; margin-top: -2px" />
</li>
<li>
<a href="https://cmake.org/">CMake</a> &#187;
</li>
<li>
<a href="../index.html">3.8.2 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="../manual/cmake-modules.7.html" >cmake-modules(7)</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2000-2017 Kitware, Inc. and Contributors.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.2.
</div>
</body>
</html>