| .\" Man page generated from reStructuredText. | |
| . | |
| .TH "CTEST" "1" "Apr 12, 2022" "3.23.1" "CMake" | |
| .SH NAME | |
| ctest \- CTest Command-Line Reference | |
| . | |
| .nr rst2man-indent-level 0 | |
| . | |
| .de1 rstReportMargin | |
| \\$1 \\n[an-margin] | |
| level \\n[rst2man-indent-level] | |
| level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] | |
| - | |
| \\n[rst2man-indent0] | |
| \\n[rst2man-indent1] | |
| \\n[rst2man-indent2] | |
| .. | |
| .de1 INDENT | |
| .\" .rstReportMargin pre: | |
| . RS \\$1 | |
| . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] | |
| . nr rst2man-indent-level +1 | |
| .\" .rstReportMargin post: | |
| .. | |
| .de UNINDENT | |
| . RE | |
| .\" indent \\n[an-margin] | |
| .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] | |
| .nr rst2man-indent-level -1 | |
| .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] | |
| .in \\n[rst2man-indent\\n[rst2man-indent-level]]u | |
| .. | |
| .SS Contents | |
| .INDENT 0.0 | |
| .IP \(bu 2 | |
| \fI\%ctest(1)\fP | |
| .INDENT 2.0 | |
| .IP \(bu 2 | |
| \fI\%Synopsis\fP | |
| .IP \(bu 2 | |
| \fI\%Description\fP | |
| .IP \(bu 2 | |
| \fI\%Options\fP | |
| .IP \(bu 2 | |
| \fI\%Label Matching\fP | |
| .IP \(bu 2 | |
| \fI\%Label and Subproject Summary\fP | |
| .IP \(bu 2 | |
| \fI\%Build and Test Mode\fP | |
| .IP \(bu 2 | |
| \fI\%Dashboard Client\fP | |
| .INDENT 2.0 | |
| .IP \(bu 2 | |
| \fI\%Dashboard Client Steps\fP | |
| .IP \(bu 2 | |
| \fI\%Dashboard Client Modes\fP | |
| .IP \(bu 2 | |
| \fI\%Dashboard Client via CTest Command\-Line\fP | |
| .IP \(bu 2 | |
| \fI\%Dashboard Client via CTest Script\fP | |
| .UNINDENT | |
| .IP \(bu 2 | |
| \fI\%Dashboard Client Configuration\fP | |
| .INDENT 2.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Start Step\fP | |
| .IP \(bu 2 | |
| \fI\%CTest Update Step\fP | |
| .IP \(bu 2 | |
| \fI\%CTest Configure Step\fP | |
| .IP \(bu 2 | |
| \fI\%CTest Build Step\fP | |
| .IP \(bu 2 | |
| \fI\%CTest Test Step\fP | |
| .IP \(bu 2 | |
| \fI\%CTest Coverage Step\fP | |
| .IP \(bu 2 | |
| \fI\%CTest MemCheck Step\fP | |
| .IP \(bu 2 | |
| \fI\%CTest Submit Step\fP | |
| .UNINDENT | |
| .IP \(bu 2 | |
| \fI\%Show as JSON Object Model\fP | |
| .IP \(bu 2 | |
| \fI\%Resource Allocation\fP | |
| .INDENT 2.0 | |
| .IP \(bu 2 | |
| \fI\%Resource Specification File\fP | |
| .IP \(bu 2 | |
| \fI\%RESOURCE_GROUPS Property\fP | |
| .IP \(bu 2 | |
| \fI\%Environment Variables\fP | |
| .UNINDENT | |
| .IP \(bu 2 | |
| \fI\%See Also\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .SH SYNOPSIS | |
| .INDENT 0.0 | |
| .INDENT 3.5 | |
| .sp | |
| .nf | |
| .ft C | |
| ctest [<options>] | |
| ctest \-\-build\-and\-test <path\-to\-source> <path\-to\-build> | |
| \-\-build\-generator <generator> [<options>...] | |
| [\-\-build\-options <opts>...] [\-\-test\-command <command> [<args>...]] | |
| ctest {\-D <dashboard> | \-M <model> \-T <action> | \-S <script> | \-SP <script>} | |
| [\-\- <dashboard\-options>...] | |
| .ft P | |
| .fi | |
| .UNINDENT | |
| .UNINDENT | |
| .SH DESCRIPTION | |
| .sp | |
| The \fBctest\fP executable is the CMake test driver program. | |
| CMake\-generated build trees created for projects that use the | |
| \fBenable_testing()\fP and \fBadd_test()\fP commands have testing support. | |
| This program will run the tests and report results. | |
| .SH OPTIONS | |
| .INDENT 0.0 | |
| .TP | |
| .B \fB\-\-preset <preset>\fP, \fB\-\-preset=<preset>\fP | |
| Use a test preset to specify test options. The project binary directory | |
| is inferred from the \fBconfigurePreset\fP key. The current working directory | |
| must contain CMake preset files. | |
| See \fBpreset\fP for more details. | |
| .TP | |
| .B \fB\-\-list\-presets\fP | |
| Lists the available test presets. The current working directory must contain | |
| CMake preset files. | |
| .TP | |
| .B \fB\-C <cfg>, \-\-build\-config <cfg>\fP | |
| Choose configuration to test. | |
| .sp | |
| Some CMake\-generated build trees can have multiple build | |
| configurations in the same tree. This option can be used to specify | |
| which one should be tested. Example configurations are \fBDebug\fP and | |
| \fBRelease\fP\&. | |
| .TP | |
| .B \fB\-\-progress\fP | |
| Enable short progress output from tests. | |
| .sp | |
| When the output of \fBctest\fP is being sent directly to a terminal, the | |
| progress through the set of tests is reported by updating the same line | |
| rather than printing start and end messages for each test on new lines. | |
| This can significantly reduce the verbosity of the test output. | |
| Test completion messages are still output on their own line for failed | |
| tests and the final test summary will also still be logged. | |
| .sp | |
| This option can also be enabled by setting the environment variable | |
| \fBCTEST_PROGRESS_OUTPUT\fP\&. | |
| .TP | |
| .B \fB\-V,\-\-verbose\fP | |
| Enable verbose output from tests. | |
| .sp | |
| Test output is normally suppressed and only summary information is | |
| displayed. This option will show all test output. | |
| .TP | |
| .B \fB\-VV,\-\-extra\-verbose\fP | |
| Enable more verbose output from tests. | |
| .sp | |
| Test output is normally suppressed and only summary information is | |
| displayed. This option will show even more test output. | |
| .TP | |
| .B \fB\-\-debug\fP | |
| Displaying more verbose internals of CTest. | |
| .sp | |
| This feature will result in a large number of output that is mostly | |
| useful for debugging dashboard problems. | |
| .TP | |
| .B \fB\-\-output\-on\-failure\fP | |
| Output anything outputted by the test program if the test should fail. | |
| This option can also be enabled by setting the | |
| \fBCTEST_OUTPUT_ON_FAILURE\fP environment variable | |
| .TP | |
| .B \fB\-\-stop\-on\-failure\fP | |
| Stop running the tests when the first failure happens. | |
| .TP | |
| .B \fB\-F\fP | |
| Enable failover. | |
| .sp | |
| This option allows CTest to resume a test set execution that was | |
| previously interrupted. If no interruption occurred, the \fB\-F\fP option | |
| will have no effect. | |
| .TP | |
| .B \fB\-j <jobs>, \-\-parallel <jobs>\fP | |
| Run the tests in parallel using the given number of jobs. | |
| .sp | |
| This option tells CTest to run the tests in parallel using given | |
| number of jobs. This option can also be set by setting the | |
| \fBCTEST_PARALLEL_LEVEL\fP environment variable. | |
| .sp | |
| This option can be used with the \fBPROCESSORS\fP test property. | |
| .sp | |
| See \fI\%Label and Subproject Summary\fP\&. | |
| .TP | |
| .B \fB\-\-resource\-spec\-file <file>\fP | |
| Run CTest with \fI\%resource allocation\fP enabled, | |
| using the | |
| \fI\%resource specification file\fP | |
| specified in \fB<file>\fP\&. | |
| .sp | |
| When \fBctest\fP is run as a \fI\%Dashboard Client\fP this sets the | |
| \fBResourceSpecFile\fP option of the \fI\%CTest Test Step\fP\&. | |
| .TP | |
| .B \fB\-\-test\-load <level>\fP | |
| While running tests in parallel (e.g. with \fB\-j\fP), try not to start | |
| tests when they may cause the CPU load to pass above a given threshold. | |
| .sp | |
| When \fBctest\fP is run as a \fI\%Dashboard Client\fP this sets the | |
| \fBTestLoad\fP option of the \fI\%CTest Test Step\fP\&. | |
| .TP | |
| .B \fB\-Q,\-\-quiet\fP | |
| Make CTest quiet. | |
| .sp | |
| This option will suppress all the output. The output log file will | |
| still be generated if the \fB\-\-output\-log\fP is specified. Options such | |
| as \fB\-\-verbose\fP, \fB\-\-extra\-verbose\fP, and \fB\-\-debug\fP are ignored | |
| if \fB\-\-quiet\fP is specified. | |
| .TP | |
| .B \fB\-O <file>, \-\-output\-log <file>\fP | |
| Output to log file. | |
| .sp | |
| This option tells CTest to write all its output to a \fB<file>\fP log file. | |
| .TP | |
| .B \fB\-\-output\-junit <file>\fP | |
| Write test results in JUnit format. | |
| .sp | |
| This option tells CTest to write test results to \fB<file>\fP in JUnit XML | |
| format. If \fB<file>\fP already exists, it will be overwritten. If using the | |
| \fB\-S\fP option to run a dashboard script, use the \fBOUTPUT_JUNIT\fP keyword | |
| with the \fBctest_test()\fP command instead. | |
| .TP | |
| .B \fB\-N,\-\-show\-only[=<format>]\fP | |
| Disable actual execution of tests. | |
| .sp | |
| This option tells CTest to list the tests that would be run but not | |
| actually run them. Useful in conjunction with the \fB\-R\fP and \fB\-E\fP | |
| options. | |
| .sp | |
| \fB<format>\fP can be one of the following values. | |
| .INDENT 7.0 | |
| .INDENT 3.5 | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBhuman\fP | |
| Human\-friendly output. This is not guaranteed to be stable. | |
| This is the default. | |
| .TP | |
| .B \fBjson\-v1\fP | |
| Dump the test information in JSON format. | |
| See \fI\%Show as JSON Object Model\fP\&. | |
| .UNINDENT | |
| .UNINDENT | |
| .UNINDENT | |
| .TP | |
| .B \fB\-L <regex>, \-\-label\-regex <regex>\fP | |
| Run tests with labels matching regular expression as described under | |
| string(REGEX)\&. | |
| .sp | |
| This option tells CTest to run only the tests whose labels match the | |
| given regular expression. When more than one \fB\-L\fP option is given, | |
| a test will only be run if each regular expression matches at least one | |
| of the test\(aqs labels (i.e. the multiple \fB\-L\fP labels form an \fBAND\fP | |
| relationship). See \fI\%Label Matching\fP\&. | |
| .TP | |
| .B \fB\-R <regex>, \-\-tests\-regex <regex>\fP | |
| Run tests matching regular expression. | |
| .sp | |
| This option tells CTest to run only the tests whose names match the | |
| given regular expression. | |
| .TP | |
| .B \fB\-E <regex>, \-\-exclude\-regex <regex>\fP | |
| Exclude tests matching regular expression. | |
| .sp | |
| This option tells CTest to NOT run the tests whose names match the | |
| given regular expression. | |
| .TP | |
| .B \fB\-LE <regex>, \-\-label\-exclude <regex>\fP | |
| Exclude tests with labels matching regular expression. | |
| .sp | |
| This option tells CTest to NOT run the tests whose labels match the | |
| given regular expression. When more than one \fB\-LE\fP option is given, | |
| a test will only be excluded if each regular expression matches at least one | |
| of the test\(aqs labels (i.e. the multiple \fB\-LE\fP labels form an \fBAND\fP | |
| relationship). See \fI\%Label Matching\fP\&. | |
| .TP | |
| .B \fB\-FA <regex>, \-\-fixture\-exclude\-any <regex>\fP | |
| Exclude fixtures matching \fB<regex>\fP from automatically adding any tests to | |
| the test set. | |
| .sp | |
| If a test in the set of tests to be executed requires a particular fixture, | |
| that fixture\(aqs setup and cleanup tests would normally be added to the test set | |
| automatically. This option prevents adding setup or cleanup tests for fixtures | |
| matching the \fB<regex>\fP\&. Note that all other fixture behavior is retained, | |
| including test dependencies and skipping tests that have fixture setup tests | |
| that fail. | |
| .TP | |
| .B \fB\-FS <regex>, \-\-fixture\-exclude\-setup <regex>\fP | |
| Same as \fB\-FA\fP except only matching setup tests are excluded. | |
| .TP | |
| .B \fB\-FC <regex>, \-\-fixture\-exclude\-cleanup <regex>\fP | |
| Same as \fB\-FA\fP except only matching cleanup tests are excluded. | |
| .TP | |
| .B \fB\-D <dashboard>, \-\-dashboard <dashboard>\fP | |
| Execute dashboard test. | |
| .sp | |
| This option tells CTest to act as a CDash client and perform a | |
| dashboard test. All tests are \fB<Mode><Test>\fP, where \fB<Mode>\fP can be | |
| \fBExperimental\fP, \fBNightly\fP, and \fBContinuous\fP, and \fB<Test>\fP can be | |
| \fBStart\fP, \fBUpdate\fP, \fBConfigure\fP, \fBBuild\fP, \fBTest\fP, | |
| \fBCoverage\fP, and \fBSubmit\fP\&. | |
| .sp | |
| See \fI\%Dashboard Client\fP\&. | |
| .TP | |
| .B \fB\-D <var>:<type>=<value>\fP | |
| Define a variable for script mode. | |
| .sp | |
| Pass in variable values on the command line. Use in conjunction | |
| with \fB\-S\fP to pass variable values to a dashboard script. Parsing \fB\-D\fP | |
| arguments as variable values is only attempted if the value | |
| following \fB\-D\fP does not match any of the known dashboard types. | |
| .TP | |
| .B \fB\-M <model>, \-\-test\-model <model>\fP | |
| Sets the model for a dashboard. | |
| .sp | |
| This option tells CTest to act as a CDash client where the \fB<model>\fP | |
| can be \fBExperimental\fP, \fBNightly\fP, and \fBContinuous\fP\&. | |
| Combining \fB\-M\fP and \fB\-T\fP is similar to \fB\-D\fP\&. | |
| .sp | |
| See \fI\%Dashboard Client\fP\&. | |
| .TP | |
| .B \fB\-T <action>, \-\-test\-action <action>\fP | |
| Sets the dashboard action to perform. | |
| .sp | |
| This option tells CTest to act as a CDash client and perform some | |
| action such as \fBstart\fP, \fBbuild\fP, \fBtest\fP etc. See | |
| \fI\%Dashboard Client Steps\fP for the full list of actions. | |
| Combining \fB\-M\fP and \fB\-T\fP is similar to \fB\-D\fP\&. | |
| .sp | |
| See \fI\%Dashboard Client\fP\&. | |
| .TP | |
| .B \fB\-S <script>, \-\-script <script>\fP | |
| Execute a dashboard for a configuration. | |
| .sp | |
| This option tells CTest to load in a configuration script which sets | |
| a number of parameters such as the binary and source directories. | |
| Then CTest will do what is required to create and run a dashboard. | |
| This option basically sets up a dashboard and then runs \fBctest \-D\fP | |
| with the appropriate options. | |
| .sp | |
| See \fI\%Dashboard Client\fP\&. | |
| .TP | |
| .B \fB\-SP <script>, \-\-script\-new\-process <script>\fP | |
| Execute a dashboard for a configuration. | |
| .sp | |
| This option does the same operations as \fB\-S\fP but it will do them in a | |
| separate process. This is primarily useful in cases where the | |
| script may modify the environment and you do not want the modified | |
| environment to impact other \fB\-S\fP scripts. | |
| .sp | |
| See \fI\%Dashboard Client\fP\&. | |
| .TP | |
| .B \fB\-I [Start,End,Stride,test#,test#|Test file], \-\-tests\-information\fP | |
| Run a specific number of tests by number. | |
| .sp | |
| This option causes CTest to run tests starting at number \fBStart\fP, | |
| ending at number \fBEnd\fP, and incrementing by \fBStride\fP\&. Any additional | |
| numbers after \fBStride\fP are considered individual test numbers. \fBStart\fP, | |
| \fBEnd\fP, or \fBStride\fP can be empty. Optionally a file can be given that | |
| contains the same syntax as the command line. | |
| .TP | |
| .B \fB\-U, \-\-union\fP | |
| Take the Union of \fB\-I\fP and \fB\-R\fP\&. | |
| .sp | |
| When both \fB\-R\fP and \fB\-I\fP are specified by default the intersection of | |
| tests are run. By specifying \fB\-U\fP the union of tests is run instead. | |
| .TP | |
| .B \fB\-\-rerun\-failed\fP | |
| Run only the tests that failed previously. | |
| .sp | |
| This option tells CTest to perform only the tests that failed during | |
| its previous run. When this option is specified, CTest ignores all | |
| other options intended to modify the list of tests to run (\fB\-L\fP, \fB\-R\fP, | |
| \fB\-E\fP, \fB\-LE\fP, \fB\-I\fP, etc). In the event that CTest runs and no tests | |
| fail, subsequent calls to CTest with the \fB\-\-rerun\-failed\fP option will run | |
| the set of tests that most recently failed (if any). | |
| .TP | |
| .B \fB\-\-repeat <mode>:<n>\fP | |
| Run tests repeatedly based on the given \fB<mode>\fP up to \fB<n>\fP times. | |
| The modes are: | |
| .INDENT 7.0 | |
| .TP | |
| .B \fBuntil\-fail\fP | |
| Require each test to run \fB<n>\fP times without failing in order to pass. | |
| This is useful in finding sporadic failures in test cases. | |
| .TP | |
| .B \fBuntil\-pass\fP | |
| Allow each test to run up to \fB<n>\fP times in order to pass. | |
| Repeats tests if they fail for any reason. | |
| This is useful in tolerating sporadic failures in test cases. | |
| .TP | |
| .B \fBafter\-timeout\fP | |
| Allow each test to run up to \fB<n>\fP times in order to pass. | |
| Repeats tests only if they timeout. | |
| This is useful in tolerating sporadic timeouts in test cases | |
| on busy machines. | |
| .UNINDENT | |
| .TP | |
| .B \fB\-\-repeat\-until\-fail <n>\fP | |
| Equivalent to \fB\-\-repeat until\-fail:<n>\fP\&. | |
| .TP | |
| .B \fB\-\-max\-width <width>\fP | |
| Set the max width for a test name to output. | |
| .sp | |
| Set the maximum width for each test name to show in the output. | |
| This allows the user to widen the output to avoid clipping the test | |
| name which can be very annoying. | |
| .TP | |
| .B \fB\-\-interactive\-debug\-mode [0|1]\fP | |
| Set the interactive mode to \fB0\fP or \fB1\fP\&. | |
| .sp | |
| This option causes CTest to run tests in either an interactive mode | |
| or a non\-interactive mode. In dashboard mode (\fBExperimental\fP, \fBNightly\fP, | |
| \fBContinuous\fP), the default is non\-interactive. In non\-interactive mode, | |
| the environment variable \fBDASHBOARD_TEST_FROM_CTEST\fP is set. | |
| .sp | |
| Prior to CMake 3.11, interactive mode on Windows allowed system debug | |
| popup windows to appear. Now, due to CTest\(aqs use of \fBlibuv\fP to launch | |
| test processes, all system debug popup windows are always blocked. | |
| .TP | |
| .B \fB\-\-no\-label\-summary\fP | |
| Disable timing summary information for labels. | |
| .sp | |
| This option tells CTest not to print summary information for each | |
| label associated with the tests run. If there are no labels on the | |
| tests, nothing extra is printed. | |
| .sp | |
| See \fI\%Label and Subproject Summary\fP\&. | |
| .TP | |
| .B \fB\-\-no\-subproject\-summary\fP | |
| Disable timing summary information for subprojects. | |
| .sp | |
| This option tells CTest not to print summary information for each | |
| subproject associated with the tests run. If there are no subprojects on the | |
| tests, nothing extra is printed. | |
| .sp | |
| See \fI\%Label and Subproject Summary\fP\&. | |
| .UNINDENT | |
| .sp | |
| \fB\-\-build\-and\-test\fP | |
| See \fI\%Build and Test Mode\fP\&. | |
| .sp | |
| \fB\-\-test\-dir <dir>\fP | |
| Specify the directory in which to look for tests. | |
| .INDENT 0.0 | |
| .TP | |
| .B \fB\-\-test\-output\-size\-passed <size>\fP | |
| Limit the output for passed tests to \fB<size>\fP bytes. | |
| .TP | |
| .B \fB\-\-test\-output\-size\-failed <size>\fP | |
| Limit the output for failed tests to \fB<size>\fP bytes. | |
| .TP | |
| .B \fB\-\-overwrite\fP | |
| Overwrite CTest configuration option. | |
| .sp | |
| By default CTest uses configuration options from configuration file. | |
| This option will overwrite the configuration option. | |
| .TP | |
| .B \fB\-\-force\-new\-ctest\-process\fP | |
| Run child CTest instances as new processes. | |
| .sp | |
| By default CTest will run child CTest instances within the same | |
| process. If this behavior is not desired, this argument will | |
| enforce new processes for child CTest processes. | |
| .TP | |
| .B \fB\-\-schedule\-random\fP | |
| Use a random order for scheduling tests. | |
| .sp | |
| This option will run the tests in a random order. It is commonly | |
| used to detect implicit dependencies in a test suite. | |
| .TP | |
| .B \fB\-\-submit\-index\fP | |
| Legacy option for old Dart2 dashboard server feature. | |
| Do not use. | |
| .TP | |
| .B \fB\-\-timeout <seconds>\fP | |
| Set the default test timeout. | |
| .sp | |
| This option effectively sets a timeout on all tests that do not | |
| already have a timeout set on them via the \fBTIMEOUT\fP | |
| property. | |
| .TP | |
| .B \fB\-\-stop\-time <time>\fP | |
| Set a time at which all tests should stop running. | |
| .sp | |
| Set a real time of day at which all tests should timeout. Example: | |
| \fB7:00:00 \-0400\fP\&. Any time format understood by the curl date parser | |
| is accepted. Local time is assumed if no timezone is specified. | |
| .TP | |
| .B \fB\-\-print\-labels\fP | |
| Print all available test labels. | |
| .sp | |
| This option will not run any tests, it will simply print the list of | |
| all labels associated with the test set. | |
| .TP | |
| .B \fB\-\-no\-tests=<[error|ignore]>\fP | |
| Regard no tests found either as error or ignore it. | |
| .sp | |
| If no tests were found, the default behavior of CTest is to always log an | |
| error message but to return an error code in script mode only. This option | |
| unifies the behavior of CTest by either returning an error code if no tests | |
| were found or by ignoring it. | |
| .UNINDENT | |
| .INDENT 0.0 | |
| .TP | |
| .B \fB\-\-help,\-help,\-usage,\-h,\-H,/?\fP | |
| Print usage information and exit. | |
| .sp | |
| Usage describes the basic command line interface and its options. | |
| .TP | |
| .B \fB\-\-version,\-version,/V [<f>]\fP | |
| Show program name/version banner and exit. | |
| .sp | |
| If a file is specified, the version is written into it. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-full [<f>]\fP | |
| Print all help manuals and exit. | |
| .sp | |
| All manuals are printed in a human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-manual <man> [<f>]\fP | |
| Print one help manual and exit. | |
| .sp | |
| The specified manual is printed in a human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-manual\-list [<f>]\fP | |
| List help manuals available and exit. | |
| .sp | |
| The list contains all manuals for which help may be obtained by | |
| using the \fB\-\-help\-manual\fP option followed by a manual name. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-command <cmd> [<f>]\fP | |
| Print help for one command and exit. | |
| .sp | |
| The \fBcmake\-commands(7)\fP manual entry for \fB<cmd>\fP is | |
| printed in a human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-command\-list [<f>]\fP | |
| List commands with help available and exit. | |
| .sp | |
| The list contains all commands for which help may be obtained by | |
| using the \fB\-\-help\-command\fP option followed by a command name. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-commands [<f>]\fP | |
| Print cmake\-commands manual and exit. | |
| .sp | |
| The \fBcmake\-commands(7)\fP manual is printed in a | |
| human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-module <mod> [<f>]\fP | |
| Print help for one module and exit. | |
| .sp | |
| The \fBcmake\-modules(7)\fP manual entry for \fB<mod>\fP is printed | |
| in a human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-module\-list [<f>]\fP | |
| List modules with help available and exit. | |
| .sp | |
| The list contains all modules for which help may be obtained by | |
| using the \fB\-\-help\-module\fP option followed by a module name. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-modules [<f>]\fP | |
| Print cmake\-modules manual and exit. | |
| .sp | |
| The \fBcmake\-modules(7)\fP manual is printed in a human\-readable | |
| text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-policy <cmp> [<f>]\fP | |
| Print help for one policy and exit. | |
| .sp | |
| The \fBcmake\-policies(7)\fP manual entry for \fB<cmp>\fP is | |
| printed in a human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-policy\-list [<f>]\fP | |
| List policies with help available and exit. | |
| .sp | |
| The list contains all policies for which help may be obtained by | |
| using the \fB\-\-help\-policy\fP option followed by a policy name. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-policies [<f>]\fP | |
| Print cmake\-policies manual and exit. | |
| .sp | |
| The \fBcmake\-policies(7)\fP manual is printed in a | |
| human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-property <prop> [<f>]\fP | |
| Print help for one property and exit. | |
| .sp | |
| The \fBcmake\-properties(7)\fP manual entries for \fB<prop>\fP are | |
| printed in a human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-property\-list [<f>]\fP | |
| List properties with help available and exit. | |
| .sp | |
| The list contains all properties for which help may be obtained by | |
| using the \fB\-\-help\-property\fP option followed by a property name. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-properties [<f>]\fP | |
| Print cmake\-properties manual and exit. | |
| .sp | |
| The \fBcmake\-properties(7)\fP manual is printed in a | |
| human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-variable <var> [<f>]\fP | |
| Print help for one variable and exit. | |
| .sp | |
| The \fBcmake\-variables(7)\fP manual entry for \fB<var>\fP is | |
| printed in a human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-variable\-list [<f>]\fP | |
| List variables with help available and exit. | |
| .sp | |
| The list contains all variables for which help may be obtained by | |
| using the \fB\-\-help\-variable\fP option followed by a variable name. | |
| The help is printed to a named <f>ile if given. | |
| .TP | |
| .B \fB\-\-help\-variables [<f>]\fP | |
| Print cmake\-variables manual and exit. | |
| .sp | |
| The \fBcmake\-variables(7)\fP manual is printed in a | |
| human\-readable text format. | |
| The help is printed to a named <f>ile if given. | |
| .UNINDENT | |
| .SH LABEL MATCHING | |
| .sp | |
| Tests may have labels attached to them. Tests may be included | |
| or excluded from a test run by filtering on the labels. | |
| Each individual filter is a regular expression applied to | |
| the labels attached to a test. | |
| .sp | |
| When \fB\-L\fP is used, in order for a test to be included in a | |
| test run, each regular expression must match at least one | |
| label. Using more than one \fB\-L\fP option means "match \fBall\fP | |
| of these". | |
| .sp | |
| The \fB\-LE\fP option works just like \fB\-L\fP, but excludes tests | |
| rather than including them. A test is excluded if each regular | |
| expression matches at least one label. | |
| .sp | |
| If a test has no labels attached to it, then \fB\-L\fP will never | |
| include that test, and \fB\-LE\fP will never exclude that test. | |
| As an example of tests with labels, consider five tests, | |
| with the following labels: | |
| .INDENT 0.0 | |
| .IP \(bu 2 | |
| \fItest1\fP has labels \fItuesday\fP and \fIproduction\fP | |
| .IP \(bu 2 | |
| \fItest2\fP has labels \fItuesday\fP and \fItest\fP | |
| .IP \(bu 2 | |
| \fItest3\fP has labels \fIwednesday\fP and \fIproduction\fP | |
| .IP \(bu 2 | |
| \fItest4\fP has label \fIwednesday\fP | |
| .IP \(bu 2 | |
| \fItest5\fP has labels \fIfriday\fP and \fItest\fP | |
| .UNINDENT | |
| .sp | |
| Running \fBctest\fP with \fB\-L tuesday \-L test\fP will select \fItest2\fP, which has | |
| both labels. Running CTest with \fB\-L test\fP will select \fItest2\fP and | |
| \fItest5\fP, because both of them have a label that matches that regular | |
| expression. | |
| .sp | |
| Because the matching works with regular expressions, take note that | |
| running CTest with \fB\-L es\fP will match all five tests. | |
| To select the \fItuesday\fP and \fIwednesday\fP tests together, use a single | |
| regular expression that matches either of them, like \fB\-L "tue|wed"\fP\&. | |
| .SH LABEL AND SUBPROJECT SUMMARY | |
| .sp | |
| CTest prints timing summary information for each \fBLABEL\fP and subproject | |
| associated with the tests run. The label time summary will not include labels | |
| that are mapped to subprojects. | |
| .sp | |
| New in version 3.22: Labels added dynamically during test execution are also reported in the | |
| timing summary. See Additional Labels\&. | |
| .sp | |
| When the \fBPROCESSORS\fP test property is set, CTest will display a | |
| weighted test timing result in label and subproject summaries. The time is | |
| reported with \fIsec*proc\fP instead of just \fIsec\fP\&. | |
| .sp | |
| The weighted time summary reported for each label or subproject \fBj\fP | |
| is computed as: | |
| .INDENT 0.0 | |
| .INDENT 3.5 | |
| .sp | |
| .nf | |
| .ft C | |
| Weighted Time Summary for Label/Subproject j = | |
| sum(raw_test_time[j,i] * num_processors[j,i], i=1...num_tests[j]) | |
| for labels/subprojects j=1...total | |
| .ft P | |
| .fi | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| where: | |
| .INDENT 0.0 | |
| .IP \(bu 2 | |
| \fBraw_test_time[j,i]\fP: Wall\-clock time for the \fBi\fP test | |
| for the \fBj\fP label or subproject | |
| .IP \(bu 2 | |
| \fBnum_processors[j,i]\fP: Value of the CTest \fBPROCESSORS\fP property | |
| for the \fBi\fP test for the \fBj\fP label or subproject | |
| .IP \(bu 2 | |
| \fBnum_tests[j]\fP: Number of tests associated with the \fBj\fP label or subproject | |
| .IP \(bu 2 | |
| \fBtotal\fP: Total number of labels or subprojects that have at least one test run | |
| .UNINDENT | |
| .sp | |
| Therefore, the weighted time summary for each label or subproject represents | |
| the amount of time that CTest gave to run the tests for each label or | |
| subproject and gives a good representation of the total expense of the tests | |
| for each label or subproject when compared to other labels or subprojects. | |
| .sp | |
| For example, if \fBSubprojectA\fP showed \fB100 sec*proc\fP and \fBSubprojectB\fP showed | |
| \fB10 sec*proc\fP, then CTest allocated approximately 10 times the CPU/core time | |
| to run the tests for \fBSubprojectA\fP than for \fBSubprojectB\fP (e.g. so if effort | |
| is going to be expended to reduce the cost of the test suite for the whole | |
| project, then reducing the cost of the test suite for \fBSubprojectA\fP would | |
| likely have a larger impact than effort to reduce the cost of the test suite | |
| for \fBSubprojectB\fP). | |
| .SH BUILD AND TEST MODE | |
| .sp | |
| CTest provides a command\-line signature to configure (i.e. run cmake on), | |
| build, and/or execute a test: | |
| .INDENT 0.0 | |
| .INDENT 3.5 | |
| .sp | |
| .nf | |
| .ft C | |
| ctest \-\-build\-and\-test <path\-to\-source> <path\-to\-build> | |
| \-\-build\-generator <generator> | |
| [<options>...] | |
| [\-\-build\-options <opts>...] | |
| [\-\-test\-command <command> [<args>...]] | |
| .ft P | |
| .fi | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| The configure and test steps are optional. The arguments to this command line | |
| are the source and binary directories. The \fB\-\-build\-generator\fP option \fImust\fP | |
| be provided to use \fB\-\-build\-and\-test\fP\&. If \fB\-\-test\-command\fP is specified | |
| then that will be run after the build is complete. Other options that affect | |
| this mode include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fB\-\-build\-target\fP | |
| Specify a specific target to build. | |
| .sp | |
| If left out the \fBall\fP target is built. | |
| .TP | |
| .B \fB\-\-build\-nocmake\fP | |
| Run the build without running cmake first. | |
| .sp | |
| Skip the cmake step. | |
| .TP | |
| .B \fB\-\-build\-run\-dir\fP | |
| Specify directory to run programs from. | |
| .sp | |
| Directory where programs will be after it has been compiled. | |
| .TP | |
| .B \fB\-\-build\-two\-config\fP | |
| Run CMake twice. | |
| .TP | |
| .B \fB\-\-build\-exe\-dir\fP | |
| Specify the directory for the executable. | |
| .TP | |
| .B \fB\-\-build\-generator\fP | |
| Specify the generator to use. See the \fBcmake\-generators(7)\fP manual. | |
| .TP | |
| .B \fB\-\-build\-generator\-platform\fP | |
| Specify the generator\-specific platform. | |
| .TP | |
| .B \fB\-\-build\-generator\-toolset\fP | |
| Specify the generator\-specific toolset. | |
| .TP | |
| .B \fB\-\-build\-project\fP | |
| Specify the name of the project to build. | |
| .TP | |
| .B \fB\-\-build\-makeprogram\fP | |
| Specify the explicit make program to be used by CMake when configuring and | |
| building the project. Only applicable for Make and Ninja based generators. | |
| .TP | |
| .B \fB\-\-build\-noclean\fP | |
| Skip the make clean step. | |
| .TP | |
| .B \fB\-\-build\-config\-sample\fP | |
| A sample executable to use to determine the configuration that | |
| should be used. e.g. \fBDebug\fP, \fBRelease\fP etc. | |
| .TP | |
| .B \fB\-\-build\-options\fP | |
| Additional options for configuring the build (i.e. for CMake, not for | |
| the build tool). Note that if this is specified, the \fB\-\-build\-options\fP | |
| keyword and its arguments must be the last option given on the command | |
| line, with the possible exception of \fB\-\-test\-command\fP\&. | |
| .TP | |
| .B \fB\-\-test\-command\fP | |
| The command to run as the test step with the \fB\-\-build\-and\-test\fP option. | |
| All arguments following this keyword will be assumed to be part of the | |
| test command line, so it must be the last option given. | |
| .TP | |
| .B \fB\-\-test\-timeout\fP | |
| The time limit in seconds | |
| .UNINDENT | |
| .SH DASHBOARD CLIENT | |
| .sp | |
| CTest can operate as a client for the \fI\%CDash\fP software quality dashboard | |
| application. As a dashboard client, CTest performs a sequence of steps | |
| to configure, build, and test software, and then submits the results to | |
| a \fI\%CDash\fP server. The command\-line signature used to submit to \fI\%CDash\fP is: | |
| .INDENT 0.0 | |
| .INDENT 3.5 | |
| .sp | |
| .nf | |
| .ft C | |
| ctest (\-D <dashboard> | \-M <model> \-T <action> | \-S <script> | \-SP <script>) | |
| [\-\- <dashboard\-options>...] | |
| .ft P | |
| .fi | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| Options for Dashboard Client include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fB\-\-group <group>\fP | |
| Specify what group you\(aqd like to submit results to | |
| .sp | |
| Submit dashboard to specified group instead of default one. By | |
| default, the dashboard is submitted to Nightly, Experimental, or | |
| Continuous group, but by specifying this option, the group can be | |
| arbitrary. | |
| .sp | |
| This replaces the deprecated option \fB\-\-track\fP\&. | |
| Despite the name change its behavior is unchanged. | |
| .TP | |
| .B \fB\-A <file>, \-\-add\-notes <file>\fP | |
| Add a notes file with submission. | |
| .sp | |
| This option tells CTest to include a notes file when submitting | |
| dashboard. | |
| .TP | |
| .B \fB\-\-tomorrow\-tag\fP | |
| \fBNightly\fP or \fBExperimental\fP starts with next day tag. | |
| .sp | |
| This is useful if the build will not finish in one day. | |
| .TP | |
| .B \fB\-\-extra\-submit <file>[;<file>]\fP | |
| Submit extra files to the dashboard. | |
| .sp | |
| This option will submit extra files to the dashboard. | |
| .TP | |
| .B \fB\-\-http1.0\fP | |
| Submit using \fIHTTP 1.0\fP\&. | |
| .sp | |
| This option will force CTest to use \fIHTTP 1.0\fP to submit files to the | |
| dashboard, instead of \fIHTTP 1.1\fP\&. | |
| .TP | |
| .B \fB\-\-no\-compress\-output\fP | |
| Do not compress test output when submitting. | |
| .sp | |
| This flag will turn off automatic compression of test output. Use | |
| this to maintain compatibility with an older version of CDash which | |
| doesn\(aqt support compressed test output. | |
| .UNINDENT | |
| .SS Dashboard Client Steps | |
| .sp | |
| CTest defines an ordered list of testing steps of which some or all may | |
| be run as a dashboard client: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBStart\fP | |
| Start a new dashboard submission to be composed of results recorded | |
| by the following steps. | |
| See the \fI\%CTest Start Step\fP section below. | |
| .TP | |
| .B \fBUpdate\fP | |
| Update the source tree from its version control repository. | |
| Record the old and new versions and the list of updated source files. | |
| See the \fI\%CTest Update Step\fP section below. | |
| .TP | |
| .B \fBConfigure\fP | |
| Configure the software by running a command in the build tree. | |
| Record the configuration output log. | |
| See the \fI\%CTest Configure Step\fP section below. | |
| .TP | |
| .B \fBBuild\fP | |
| Build the software by running a command in the build tree. | |
| Record the build output log and detect warnings and errors. | |
| See the \fI\%CTest Build Step\fP section below. | |
| .TP | |
| .B \fBTest\fP | |
| Test the software by loading a \fBCTestTestfile.cmake\fP | |
| from the build tree and executing the defined tests. | |
| Record the output and result of each test. | |
| See the \fI\%CTest Test Step\fP section below. | |
| .TP | |
| .B \fBCoverage\fP | |
| Compute coverage of the source code by running a coverage | |
| analysis tool and recording its output. | |
| See the \fI\%CTest Coverage Step\fP section below. | |
| .TP | |
| .B \fBMemCheck\fP | |
| Run the software test suite through a memory check tool. | |
| Record the test output, results, and issues reported by the tool. | |
| See the \fI\%CTest MemCheck Step\fP section below. | |
| .TP | |
| .B \fBSubmit\fP | |
| Submit results recorded from other testing steps to the | |
| software quality dashboard server. | |
| See the \fI\%CTest Submit Step\fP section below. | |
| .UNINDENT | |
| .SS Dashboard Client Modes | |
| .sp | |
| CTest defines three modes of operation as a dashboard client: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBNightly\fP | |
| This mode is intended to be invoked once per day, typically at night. | |
| It enables the \fBStart\fP, \fBUpdate\fP, \fBConfigure\fP, \fBBuild\fP, \fBTest\fP, | |
| \fBCoverage\fP, and \fBSubmit\fP steps by default. Selected steps run even | |
| if the \fBUpdate\fP step reports no changes to the source tree. | |
| .TP | |
| .B \fBContinuous\fP | |
| This mode is intended to be invoked repeatedly throughout the day. | |
| It enables the \fBStart\fP, \fBUpdate\fP, \fBConfigure\fP, \fBBuild\fP, \fBTest\fP, | |
| \fBCoverage\fP, and \fBSubmit\fP steps by default, but exits after the | |
| \fBUpdate\fP step if it reports no changes to the source tree. | |
| .TP | |
| .B \fBExperimental\fP | |
| This mode is intended to be invoked by a developer to test local changes. | |
| It enables the \fBStart\fP, \fBConfigure\fP, \fBBuild\fP, \fBTest\fP, \fBCoverage\fP, | |
| and \fBSubmit\fP steps by default. | |
| .UNINDENT | |
| .SS Dashboard Client via CTest Command\-Line | |
| .sp | |
| CTest can perform testing on an already\-generated build tree. | |
| Run the \fBctest\fP command with the current working directory set | |
| to the build tree and use one of these signatures: | |
| .INDENT 0.0 | |
| .INDENT 3.5 | |
| .sp | |
| .nf | |
| .ft C | |
| ctest \-D <mode>[<step>] | |
| ctest \-M <mode> [ \-T <step> ]... | |
| .ft P | |
| .fi | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| The \fB<mode>\fP must be one of the above \fI\%Dashboard Client Modes\fP, | |
| and each \fB<step>\fP must be one of the above \fI\%Dashboard Client Steps\fP\&. | |
| .sp | |
| CTest reads the \fI\%Dashboard Client Configuration\fP settings from | |
| a file in the build tree called either \fBCTestConfiguration.ini\fP | |
| or \fBDartConfiguration.tcl\fP (the names are historical). The format | |
| of the file is: | |
| .INDENT 0.0 | |
| .INDENT 3.5 | |
| .sp | |
| .nf | |
| .ft C | |
| # Lines starting in \(aq#\(aq are comments. | |
| # Other non\-blank lines are key\-value pairs. | |
| <setting>: <value> | |
| .ft P | |
| .fi | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| where \fB<setting>\fP is the setting name and \fB<value>\fP is the | |
| setting value. | |
| .sp | |
| In build trees generated by CMake, this configuration file is | |
| generated by the \fBCTest\fP module if included by the project. | |
| The module uses variables to obtain a value for each setting | |
| as documented with the settings below. | |
| .SS Dashboard Client via CTest Script | |
| .sp | |
| CTest can perform testing driven by a \fBcmake\-language(7)\fP | |
| script that creates and maintains the source and build tree as | |
| well as performing the testing steps. Run the \fBctest\fP command | |
| with the current working directory set outside of any build tree | |
| and use one of these signatures: | |
| .INDENT 0.0 | |
| .INDENT 3.5 | |
| .sp | |
| .nf | |
| .ft C | |
| ctest \-S <script> | |
| ctest \-SP <script> | |
| .ft P | |
| .fi | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| The \fB<script>\fP file must call CTest Commands commands | |
| to run testing steps explicitly as documented below. The commands | |
| obtain \fI\%Dashboard Client Configuration\fP settings from their | |
| arguments or from variables set in the script. | |
| .SH DASHBOARD CLIENT CONFIGURATION | |
| .sp | |
| The \fI\%Dashboard Client Steps\fP may be configured by named | |
| settings as documented in the following sections. | |
| .SS CTest Start Step | |
| .sp | |
| Start a new dashboard submission to be composed of results recorded | |
| by the following steps. | |
| .sp | |
| In a \fI\%CTest Script\fP, the \fBctest_start()\fP command runs this step. | |
| Arguments to the command may specify some of the step settings. | |
| The command first runs the command\-line specified by the | |
| \fBCTEST_CHECKOUT_COMMAND\fP variable, if set, to initialize the source | |
| directory. | |
| .sp | |
| Configuration settings include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBBuildDirectory\fP | |
| The full path to the project build tree. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_BINARY_DIRECTORY\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBPROJECT_BINARY_DIR\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBSourceDirectory\fP | |
| The full path to the project source tree. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_SOURCE_DIRECTORY\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBPROJECT_SOURCE_DIR\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .SS CTest Update Step | |
| .sp | |
| In a \fI\%CTest Script\fP, the \fBctest_update()\fP command runs this step. | |
| Arguments to the command may specify some of the step settings. | |
| .sp | |
| Configuration settings to specify the version control tool include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBBZRCommand\fP | |
| \fBbzr\fP command\-line tool to use if source tree is managed by Bazaar. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_BZR_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: none | |
| .UNINDENT | |
| .TP | |
| .B \fBBZRUpdateOptions\fP | |
| Command\-line options to the \fBBZRCommand\fP when updating the source. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_BZR_UPDATE_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: none | |
| .UNINDENT | |
| .TP | |
| .B \fBCVSCommand\fP | |
| \fBcvs\fP command\-line tool to use if source tree is managed by CVS. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_CVS_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCVSCOMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBCVSUpdateOptions\fP | |
| Command\-line options to the \fBCVSCommand\fP when updating the source. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_CVS_UPDATE_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCVS_UPDATE_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBGITCommand\fP | |
| \fBgit\fP command\-line tool to use if source tree is managed by Git. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_GIT_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBGITCOMMAND\fP | |
| .UNINDENT | |
| .sp | |
| The source tree is updated by \fBgit fetch\fP followed by | |
| \fBgit reset \-\-hard\fP to the \fBFETCH_HEAD\fP\&. The result is the same | |
| as \fBgit pull\fP except that any local modifications are overwritten. | |
| Use \fBGITUpdateCustom\fP to specify a different approach. | |
| .TP | |
| .B \fBGITInitSubmodules\fP | |
| If set, CTest will update the repository\(aqs submodules before updating. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_GIT_INIT_SUBMODULES\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_GIT_INIT_SUBMODULES\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBGITUpdateCustom\fP | |
| Specify a custom command line (as a semicolon\-separated list) to run | |
| in the source tree (Git work tree) to update it instead of running | |
| the \fBGITCommand\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_GIT_UPDATE_CUSTOM\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_GIT_UPDATE_CUSTOM\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBGITUpdateOptions\fP | |
| Command\-line options to the \fBGITCommand\fP when updating the source. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_GIT_UPDATE_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBGIT_UPDATE_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBHGCommand\fP | |
| \fBhg\fP command\-line tool to use if source tree is managed by Mercurial. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_HG_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: none | |
| .UNINDENT | |
| .TP | |
| .B \fBHGUpdateOptions\fP | |
| Command\-line options to the \fBHGCommand\fP when updating the source. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_HG_UPDATE_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: none | |
| .UNINDENT | |
| .TP | |
| .B \fBP4Client\fP | |
| Value of the \fB\-c\fP option to the \fBP4Command\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_P4_CLIENT\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_P4_CLIENT\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBP4Command\fP | |
| \fBp4\fP command\-line tool to use if source tree is managed by Perforce. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_P4_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBP4COMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBP4Options\fP | |
| Command\-line options to the \fBP4Command\fP for all invocations. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_P4_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_P4_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBP4UpdateCustom\fP | |
| Specify a custom command line (as a semicolon\-separated list) to run | |
| in the source tree (Perforce tree) to update it instead of running | |
| the \fBP4Command\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_P4_UPDATE_CUSTOM\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBP4UpdateOptions\fP | |
| Command\-line options to the \fBP4Command\fP when updating the source. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_P4_UPDATE_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_P4_UPDATE_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBSVNCommand\fP | |
| \fBsvn\fP command\-line tool to use if source tree is managed by Subversion. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_SVN_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBSVNCOMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBSVNOptions\fP | |
| Command\-line options to the \fBSVNCommand\fP for all invocations. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_SVN_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_SVN_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBSVNUpdateOptions\fP | |
| Command\-line options to the \fBSVNCommand\fP when updating the source. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_SVN_UPDATE_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBSVN_UPDATE_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBUpdateCommand\fP | |
| Specify the version\-control command\-line tool to use without | |
| detecting the VCS that manages the source tree. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_UPDATE_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fB<VCS>COMMAND\fP | |
| when \fBUPDATE_TYPE\fP is \fB<vcs>\fP, else \fBUPDATE_COMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBUpdateOptions\fP | |
| Command\-line options to the \fBUpdateCommand\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_UPDATE_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fB<VCS>_UPDATE_OPTIONS\fP | |
| when \fBUPDATE_TYPE\fP is \fB<vcs>\fP, else \fBUPDATE_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBUpdateType\fP | |
| Specify the version\-control system that manages the source | |
| tree if it cannot be detected automatically. | |
| The value may be \fBbzr\fP, \fBcvs\fP, \fBgit\fP, \fBhg\fP, | |
| \fBp4\fP, or \fBsvn\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none, detected from source tree | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBUPDATE_TYPE\fP if set, | |
| else \fBCTEST_UPDATE_TYPE\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBUpdateVersionOnly\fP | |
| Specify that you want the version control update command to only | |
| discover the current version that is checked out, and not to update | |
| to a different version. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_UPDATE_VERSION_ONLY\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBUpdateVersionOverride\fP | |
| Specify the current version of your source tree. | |
| .sp | |
| When this variable is set to a non\-empty string, CTest will report the value | |
| you specified rather than using the update command to discover the current | |
| version that is checked out. Use of this variable supersedes | |
| \fBUpdateVersionOnly\fP\&. Like \fBUpdateVersionOnly\fP, using this variable tells | |
| CTest not to update the source tree to a different version. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_UPDATE_VERSION_OVERRIDE\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| Additional configuration settings include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBNightlyStartTime\fP | |
| In the \fBNightly\fP dashboard mode, specify the "nightly start time". | |
| With centralized version control systems (\fBcvs\fP and \fBsvn\fP), | |
| the \fBUpdate\fP step checks out the version of the software as of | |
| this time so that multiple clients choose a common version to test. | |
| This is not well\-defined in distributed version\-control systems so | |
| the setting is ignored. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_NIGHTLY_START_TIME\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBNIGHTLY_START_TIME\fP if set, | |
| else \fBCTEST_NIGHTLY_START_TIME\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .SS CTest Configure Step | |
| .sp | |
| In a \fI\%CTest Script\fP, the \fBctest_configure()\fP command runs this step. | |
| Arguments to the command may specify some of the step settings. | |
| .sp | |
| Configuration settings include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBConfigureCommand\fP | |
| Command\-line to launch the software configuration process. | |
| It will be executed in the location specified by the | |
| \fBBuildDirectory\fP setting. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_CONFIGURE_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCMAKE_COMMAND\fP | |
| followed by \fBPROJECT_SOURCE_DIR\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBLabelsForSubprojects\fP | |
| Specify a semicolon\-separated list of labels that will be treated as | |
| subprojects. This mapping will be passed on to CDash when configure, test or | |
| build results are submitted. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_LABELS_FOR_SUBPROJECTS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_LABELS_FOR_SUBPROJECTS\fP | |
| .UNINDENT | |
| .sp | |
| See \fI\%Label and Subproject Summary\fP\&. | |
| .UNINDENT | |
| .SS CTest Build Step | |
| .sp | |
| In a \fI\%CTest Script\fP, the \fBctest_build()\fP command runs this step. | |
| Arguments to the command may specify some of the step settings. | |
| .sp | |
| Configuration settings include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBDefaultCTestConfigurationType\fP | |
| When the build system to be launched allows build\-time selection | |
| of the configuration (e.g. \fBDebug\fP, \fBRelease\fP), this specifies | |
| the default configuration to be built when no \fB\-C\fP option is | |
| given to the \fBctest\fP command. The value will be substituted into | |
| the value of \fBMakeCommand\fP to replace the literal string | |
| \fB${CTEST_CONFIGURATION_TYPE}\fP if it appears. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_CONFIGURATION_TYPE\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBDEFAULT_CTEST_CONFIGURATION_TYPE\fP, | |
| initialized by the \fBCMAKE_CONFIG_TYPE\fP environment variable | |
| .UNINDENT | |
| .TP | |
| .B \fBLabelsForSubprojects\fP | |
| Specify a semicolon\-separated list of labels that will be treated as | |
| subprojects. This mapping will be passed on to CDash when configure, test or | |
| build results are submitted. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_LABELS_FOR_SUBPROJECTS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_LABELS_FOR_SUBPROJECTS\fP | |
| .UNINDENT | |
| .sp | |
| See \fI\%Label and Subproject Summary\fP\&. | |
| .TP | |
| .B \fBMakeCommand\fP | |
| Command\-line to launch the software build process. | |
| It will be executed in the location specified by the | |
| \fBBuildDirectory\fP setting. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_BUILD_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBMAKECOMMAND\fP, | |
| initialized by the \fBbuild_command()\fP command | |
| .UNINDENT | |
| .TP | |
| .B \fBUseLaunchers\fP | |
| For build trees generated by CMake using one of the | |
| Makefile Generators or the \fBNinja\fP | |
| generator, specify whether the | |
| \fBCTEST_USE_LAUNCHERS\fP feature is enabled by the | |
| \fBCTestUseLaunchers\fP module (also included by the | |
| \fBCTest\fP module). When enabled, the generated build | |
| system wraps each invocation of the compiler, linker, or | |
| custom command line with a "launcher" that communicates | |
| with CTest via environment variables and files to report | |
| granular build warning and error information. Otherwise, | |
| CTest must "scrape" the build output log for diagnostics. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_USE_LAUNCHERS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_USE_LAUNCHERS\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .SS CTest Test Step | |
| .sp | |
| In a \fI\%CTest Script\fP, the \fBctest_test()\fP command runs this step. | |
| Arguments to the command may specify some of the step settings. | |
| .sp | |
| Configuration settings include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBResourceSpecFile\fP | |
| Specify a | |
| \fI\%resource specification file\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_RESOURCE_SPEC_FILE\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_RESOURCE_SPEC_FILE\fP | |
| .UNINDENT | |
| .sp | |
| See \fI\%Resource Allocation\fP for more information. | |
| .TP | |
| .B \fBLabelsForSubprojects\fP | |
| Specify a semicolon\-separated list of labels that will be treated as | |
| subprojects. This mapping will be passed on to CDash when configure, test or | |
| build results are submitted. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_LABELS_FOR_SUBPROJECTS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_LABELS_FOR_SUBPROJECTS\fP | |
| .UNINDENT | |
| .sp | |
| See \fI\%Label and Subproject Summary\fP\&. | |
| .TP | |
| .B \fBTestLoad\fP | |
| While running tests in parallel (e.g. with \fB\-j\fP), try not to start | |
| tests when they may cause the CPU load to pass above a given threshold. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_TEST_LOAD\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_TEST_LOAD\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBTimeOut\fP | |
| The default timeout for each test if not specified by the | |
| \fBTIMEOUT\fP test property. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_TEST_TIMEOUT\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBDART_TESTING_TIMEOUT\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| To report extra test values to CDash, see Additional Test Measurements\&. | |
| .SS CTest Coverage Step | |
| .sp | |
| In a \fI\%CTest Script\fP, the \fBctest_coverage()\fP command runs this step. | |
| Arguments to the command may specify some of the step settings. | |
| .sp | |
| Configuration settings include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBCoverageCommand\fP | |
| Command\-line tool to perform software coverage analysis. | |
| It will be executed in the location specified by the | |
| \fBBuildDirectory\fP setting. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_COVERAGE_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCOVERAGE_COMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBCoverageExtraFlags\fP | |
| Specify command\-line options to the \fBCoverageCommand\fP tool. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_COVERAGE_EXTRA_FLAGS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCOVERAGE_EXTRA_FLAGS\fP | |
| .UNINDENT | |
| .sp | |
| These options are the first arguments passed to \fBCoverageCommand\fP\&. | |
| .UNINDENT | |
| .SS CTest MemCheck Step | |
| .sp | |
| In a \fI\%CTest Script\fP, the \fBctest_memcheck()\fP command runs this step. | |
| Arguments to the command may specify some of the step settings. | |
| .sp | |
| Configuration settings include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBMemoryCheckCommand\fP | |
| Command\-line tool to perform dynamic analysis. Test command lines | |
| will be launched through this tool. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_MEMORYCHECK_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBMEMORYCHECK_COMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBMemoryCheckCommandOptions\fP | |
| Specify command\-line options to the \fBMemoryCheckCommand\fP tool. | |
| They will be placed prior to the test command line. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_MEMORYCHECK_COMMAND_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBMEMORYCHECK_COMMAND_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBMemoryCheckType\fP | |
| Specify the type of memory checking to perform. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_MEMORYCHECK_TYPE\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBMEMORYCHECK_TYPE\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBMemoryCheckSanitizerOptions\fP | |
| Specify options to sanitizers when running with a sanitize\-enabled build. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_MEMORYCHECK_SANITIZER_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBMEMORYCHECK_SANITIZER_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBMemoryCheckSuppressionFile\fP | |
| Specify a file containing suppression rules for the | |
| \fBMemoryCheckCommand\fP tool. It will be passed with options | |
| appropriate to the tool. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_MEMORYCHECK_SUPPRESSIONS_FILE\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBMEMORYCHECK_SUPPRESSIONS_FILE\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| Additional configuration settings include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBBoundsCheckerCommand\fP | |
| Specify a \fBMemoryCheckCommand\fP that is known to be command\-line | |
| compatible with Bounds Checker. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: none | |
| .UNINDENT | |
| .TP | |
| .B \fBPurifyCommand\fP | |
| Specify a \fBMemoryCheckCommand\fP that is known to be command\-line | |
| compatible with Purify. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBPURIFYCOMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBValgrindCommand\fP | |
| Specify a \fBMemoryCheckCommand\fP that is known to be command\-line | |
| compatible with Valgrind. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBVALGRIND_COMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBValgrindCommandOptions\fP | |
| Specify command\-line options to the \fBValgrindCommand\fP tool. | |
| They will be placed prior to the test command line. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBVALGRIND_COMMAND_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBDrMemoryCommand\fP | |
| Specify a \fBMemoryCheckCommand\fP that is known to be a command\-line | |
| compatible with DrMemory. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBDRMEMORY_COMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBDrMemoryCommandOptions\fP | |
| Specify command\-line options to the \fBDrMemoryCommand\fP tool. | |
| They will be placed prior to the test command line. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBDRMEMORY_COMMAND_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBCudaSanitizerCommand\fP | |
| Specify a \fBMemoryCheckCommand\fP that is known to be a command\-line | |
| compatible with cuda\-memcheck or compute\-sanitizer. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCUDA_SANITIZER_COMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBCudaSanitizerCommandOptions\fP | |
| Specify command\-line options to the \fBCudaSanitizerCommand\fP tool. | |
| They will be placed prior to the test command line. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCUDA_SANITIZER_COMMAND_OPTIONS\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .SS CTest Submit Step | |
| .sp | |
| In a \fI\%CTest Script\fP, the \fBctest_submit()\fP command runs this step. | |
| Arguments to the command may specify some of the step settings. | |
| .sp | |
| Configuration settings include: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBBuildName\fP | |
| Describe the dashboard client platform with a short string. | |
| (Operating system, compiler, etc.) | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_BUILD_NAME\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBBUILDNAME\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBCDashVersion\fP | |
| Legacy option. Not used. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none, detected from server | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_CDASH_VERSION\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBCTestSubmitRetryCount\fP | |
| Specify a number of attempts to retry submission on network failure. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none, | |
| use the \fBctest_submit()\fP \fBRETRY_COUNT\fP option. | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_SUBMIT_RETRY_COUNT\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBCTestSubmitRetryDelay\fP | |
| Specify a delay before retrying submission on network failure. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: none, | |
| use the \fBctest_submit()\fP \fBRETRY_DELAY\fP option. | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_SUBMIT_RETRY_DELAY\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBCurlOptions\fP | |
| Specify a semicolon\-separated list of options to control the | |
| Curl library that CTest uses internally to connect to the | |
| server. Possible options are \fBCURLOPT_SSL_VERIFYPEER_OFF\fP | |
| and \fBCURLOPT_SSL_VERIFYHOST_OFF\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_CURL_OPTIONS\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_CURL_OPTIONS\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBDropLocation\fP | |
| Legacy option. When \fBSubmitURL\fP is not set, it is constructed from | |
| \fBDropMethod\fP, \fBDropSiteUser\fP, \fBDropSitePassword\fP, \fBDropSite\fP, and | |
| \fBDropLocation\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_DROP_LOCATION\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBDROP_LOCATION\fP if set, | |
| else \fBCTEST_DROP_LOCATION\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBDropMethod\fP | |
| Legacy option. When \fBSubmitURL\fP is not set, it is constructed from | |
| \fBDropMethod\fP, \fBDropSiteUser\fP, \fBDropSitePassword\fP, \fBDropSite\fP, and | |
| \fBDropLocation\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_DROP_METHOD\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBDROP_METHOD\fP if set, | |
| else \fBCTEST_DROP_METHOD\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBDropSite\fP | |
| Legacy option. When \fBSubmitURL\fP is not set, it is constructed from | |
| \fBDropMethod\fP, \fBDropSiteUser\fP, \fBDropSitePassword\fP, \fBDropSite\fP, and | |
| \fBDropLocation\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_DROP_SITE\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBDROP_SITE\fP if set, | |
| else \fBCTEST_DROP_SITE\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBDropSitePassword\fP | |
| Legacy option. When \fBSubmitURL\fP is not set, it is constructed from | |
| \fBDropMethod\fP, \fBDropSiteUser\fP, \fBDropSitePassword\fP, \fBDropSite\fP, and | |
| \fBDropLocation\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_DROP_SITE_PASSWORD\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBDROP_SITE_PASSWORD\fP if set, | |
| else \fBCTEST_DROP_SITE_PASWORD\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBDropSiteUser\fP | |
| Legacy option. When \fBSubmitURL\fP is not set, it is constructed from | |
| \fBDropMethod\fP, \fBDropSiteUser\fP, \fBDropSitePassword\fP, \fBDropSite\fP, and | |
| \fBDropLocation\fP\&. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_DROP_SITE_USER\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBDROP_SITE_USER\fP if set, | |
| else \fBCTEST_DROP_SITE_USER\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBIsCDash\fP | |
| Legacy option. Not used. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_DROP_SITE_CDASH\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_DROP_SITE_CDASH\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBScpCommand\fP | |
| Legacy option. Not used. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_SCP_COMMAND\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBSCPCOMMAND\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBSite\fP | |
| Describe the dashboard client host site with a short string. | |
| (Hostname, domain, etc.) | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_SITE\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBSITE\fP, | |
| initialized by the \fBsite_name()\fP command | |
| .UNINDENT | |
| .TP | |
| .B \fBSubmitURL\fP | |
| The \fBhttp\fP or \fBhttps\fP URL of the dashboard server to send the submission | |
| to. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_SUBMIT_URL\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBSUBMIT_URL\fP if set, | |
| else \fBCTEST_SUBMIT_URL\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBSubmitInactivityTimeout\fP | |
| The time to wait for the submission after which it is canceled | |
| if not completed. Specify a zero value to disable timeout. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_SUBMIT_INACTIVITY_TIMEOUT\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBCTEST_SUBMIT_INACTIVITY_TIMEOUT\fP | |
| .UNINDENT | |
| .TP | |
| .B \fBTriggerSite\fP | |
| Legacy option. Not used. | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fI\%CTest Script\fP variable: \fBCTEST_TRIGGER_SITE\fP | |
| .IP \(bu 2 | |
| \fBCTest\fP module variable: \fBTRIGGER_SITE\fP if set, | |
| else \fBCTEST_TRIGGER_SITE\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .SH SHOW AS JSON OBJECT MODEL | |
| .sp | |
| When the \fB\-\-show\-only=json\-v1\fP command line option is given, the test | |
| information is output in JSON format. Version 1.0 of the JSON object | |
| model is defined as follows: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBkind\fP | |
| The string "ctestInfo". | |
| .TP | |
| .B \fBversion\fP | |
| A JSON object specifying the version components. Its members are | |
| .INDENT 7.0 | |
| .TP | |
| .B \fBmajor\fP | |
| A non\-negative integer specifying the major version component. | |
| .TP | |
| .B \fBminor\fP | |
| A non\-negative integer specifying the minor version component. | |
| .UNINDENT | |
| .TP | |
| .B \fBbacktraceGraph\fP | |
| JSON object representing backtrace information with the | |
| following members: | |
| .INDENT 7.0 | |
| .TP | |
| .B \fBcommands\fP | |
| List of command names. | |
| .TP | |
| .B \fBfiles\fP | |
| List of file names. | |
| .TP | |
| .B \fBnodes\fP | |
| List of node JSON objects with members: | |
| .INDENT 7.0 | |
| .TP | |
| .B \fBcommand\fP | |
| Index into the \fBcommands\fP member of the \fBbacktraceGraph\fP\&. | |
| .TP | |
| .B \fBfile\fP | |
| Index into the \fBfiles\fP member of the \fBbacktraceGraph\fP\&. | |
| .TP | |
| .B \fBline\fP | |
| Line number in the file where the backtrace was added. | |
| .TP | |
| .B \fBparent\fP | |
| Index into the \fBnodes\fP member of the \fBbacktraceGraph\fP | |
| representing the parent in the graph. | |
| .UNINDENT | |
| .UNINDENT | |
| .TP | |
| .B \fBtests\fP | |
| A JSON array listing information about each test. Each entry | |
| is a JSON object with members: | |
| .INDENT 7.0 | |
| .TP | |
| .B \fBname\fP | |
| Test name. | |
| .TP | |
| .B \fBconfig\fP | |
| Configuration that the test can run on. | |
| Empty string means any config. | |
| .TP | |
| .B \fBcommand\fP | |
| List where the first element is the test command and the | |
| remaining elements are the command arguments. | |
| .TP | |
| .B \fBbacktrace\fP | |
| Index into the \fBnodes\fP member of the \fBbacktraceGraph\fP\&. | |
| .TP | |
| .B \fBproperties\fP | |
| Test properties. | |
| Can contain keys for each of the supported test properties. | |
| .UNINDENT | |
| .UNINDENT | |
| .SH RESOURCE ALLOCATION | |
| .sp | |
| CTest provides a mechanism for tests to specify the resources that they need | |
| in a fine\-grained way, and for users to specify the resources available on | |
| the running machine. This allows CTest to internally keep track of which | |
| resources are in use and which are free, scheduling tests in a way that | |
| prevents them from trying to claim resources that are not available. | |
| .sp | |
| When the resource allocation feature is used, CTest will not oversubscribe | |
| resources. For example, if a resource has 8 slots, CTest will not run tests | |
| that collectively use more than 8 slots at a time. This has the effect of | |
| limiting how many tests can run at any given time, even if a high \fB\-j\fP | |
| argument is used, if those tests all use some slots from the same resource. | |
| In addition, it means that a single test that uses more of a resource than is | |
| available on a machine will not run at all (and will be reported as | |
| \fBNot Run\fP). | |
| .sp | |
| A common use case for this feature is for tests that require the use of a GPU. | |
| Multiple tests can simultaneously allocate memory from a GPU, but if too many | |
| tests try to do this at once, some of them will fail to allocate, resulting in | |
| a failed test, even though the test would have succeeded if it had the memory | |
| it needed. By using the resource allocation feature, each test can specify how | |
| much memory it requires from a GPU, allowing CTest to schedule tests in a way | |
| that running several of these tests at once does not exhaust the GPU\(aqs memory | |
| pool. | |
| .sp | |
| Please note that CTest has no concept of what a GPU is or how much memory it | |
| has, nor does it have any way of communicating with a GPU to retrieve this | |
| information or perform any memory management. CTest simply keeps track of a | |
| list of abstract resource types, each of which has a certain number of slots | |
| available for tests to use. Each test specifies the number of slots that it | |
| requires from a certain resource, and CTest then schedules them in a way that | |
| prevents the total number of slots in use from exceeding the listed capacity. | |
| When a test is executed, and slots from a resource are allocated to that test, | |
| tests may assume that they have exclusive use of those slots for the duration | |
| of the test\(aqs process. | |
| .sp | |
| The CTest resource allocation feature consists of two inputs: | |
| .INDENT 0.0 | |
| .IP \(bu 2 | |
| The \fI\%resource specification file\fP, | |
| described below, which describes the resources available on the system. | |
| .IP \(bu 2 | |
| The \fBRESOURCE_GROUPS\fP property of tests, which describes the | |
| resources required by the test. | |
| .UNINDENT | |
| .sp | |
| When CTest runs a test, the resources allocated to that test are passed in the | |
| form of a set of | |
| \fI\%environment variables\fP as | |
| described below. Using this information to decide which resource to connect to | |
| is left to the test writer. | |
| .sp | |
| The \fBRESOURCE_GROUPS\fP property tells CTest what resources a test expects | |
| to use grouped in a way meaningful to the test. The test itself must read | |
| the \fI\%environment variables\fP to | |
| determine which resources have been allocated to each group. For example, | |
| each group may correspond to a process the test will spawn when executed. | |
| .sp | |
| Note that even if a test specifies a \fBRESOURCE_GROUPS\fP property, it is still | |
| possible for that to test to run without any resource allocation (and without | |
| the corresponding | |
| \fI\%environment variables\fP) | |
| if the user does not pass a resource specification file. Passing this file, | |
| either through the \fB\-\-resource\-spec\-file\fP command\-line argument or the | |
| \fBRESOURCE_SPEC_FILE\fP argument to \fBctest_test()\fP, is what activates the | |
| resource allocation feature. Tests should check the | |
| \fBCTEST_RESOURCE_GROUP_COUNT\fP environment variable to find out whether or not | |
| resource allocation is activated. This variable will always (and only) be | |
| defined if resource allocation is activated. If resource allocation is not | |
| activated, then the \fBCTEST_RESOURCE_GROUP_COUNT\fP variable will not exist, | |
| even if it exists for the parent \fBctest\fP process. If a test absolutely must | |
| have resource allocation, then it can return a failing exit code or use the | |
| \fBSKIP_RETURN_CODE\fP or \fBSKIP_REGULAR_EXPRESSION\fP | |
| properties to indicate a skipped test. | |
| .SS Resource Specification File | |
| .sp | |
| The resource specification file is a JSON file which is passed to CTest, either | |
| on the \fI\%ctest(1)\fP command line as \fB\-\-resource\-spec\-file\fP, or as the | |
| \fBRESOURCE_SPEC_FILE\fP argument of \fBctest_test()\fP\&. If a dashboard script | |
| is used and \fBRESOURCE_SPEC_FILE\fP is not specified, the value of | |
| \fBCTEST_RESOURCE_SPEC_FILE\fP in the dashboard script is used instead. | |
| If \fB\-\-resource\-spec\-file\fP, \fBRESOURCE_SPEC_FILE\fP, and | |
| \fBCTEST_RESOURCE_SPEC_FILE\fP in the dashboard script are not specified, | |
| the value of \fBCTEST_RESOURCE_SPEC_FILE\fP in the CMake build is used | |
| instead. If none of these are specified, no resource spec file is used. | |
| .sp | |
| The resource specification file must be a JSON object. All examples in this | |
| document assume the following resource specification file: | |
| .INDENT 0.0 | |
| .INDENT 3.5 | |
| .sp | |
| .nf | |
| .ft C | |
| { | |
| "version": { | |
| "major": 1, | |
| "minor": 0 | |
| }, | |
| "local": [ | |
| { | |
| "gpus": [ | |
| { | |
| "id": "0", | |
| "slots": 2 | |
| }, | |
| { | |
| "id": "1", | |
| "slots": 4 | |
| }, | |
| { | |
| "id": "2", | |
| "slots": 2 | |
| }, | |
| { | |
| "id": "3" | |
| } | |
| ], | |
| "crypto_chips": [ | |
| { | |
| "id": "card0", | |
| "slots": 4 | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| .ft P | |
| .fi | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| The members are: | |
| .INDENT 0.0 | |
| .TP | |
| .B \fBversion\fP | |
| An object containing a \fBmajor\fP integer field and a \fBminor\fP integer field. | |
| Currently, the only supported version is major \fB1\fP, minor \fB0\fP\&. Any other | |
| value is an error. | |
| .TP | |
| .B \fBlocal\fP | |
| A JSON array of resource sets present on the system. Currently, this array | |
| is restricted to being of size 1. | |
| .sp | |
| Each array element is a JSON object with members whose names are equal to the | |
| desired resource types, such as \fBgpus\fP\&. These names must start with a | |
| lowercase letter or an underscore, and subsequent characters can be a | |
| lowercase letter, a digit, or an underscore. Uppercase letters are not | |
| allowed, because certain platforms have case\-insensitive environment | |
| variables. See the \fI\%Environment Variables\fP section below for | |
| more information. It is recommended that the resource type name be the plural | |
| of a noun, such as \fBgpus\fP or \fBcrypto_chips\fP (and not \fBgpu\fP or | |
| \fBcrypto_chip\fP\&.) | |
| .sp | |
| Please note that the names \fBgpus\fP and \fBcrypto_chips\fP are just examples, | |
| and CTest does not interpret them in any way. You are free to make up any | |
| resource type you want to meet your own requirements. | |
| .sp | |
| The value for each resource type is a JSON array consisting of JSON objects, | |
| each of which describe a specific instance of the specified resource. These | |
| objects have the following members: | |
| .INDENT 7.0 | |
| .TP | |
| .B \fBid\fP | |
| A string consisting of an identifier for the resource. Each character in | |
| the identifier can be a lowercase letter, a digit, or an underscore. | |
| Uppercase letters are not allowed. | |
| .sp | |
| Identifiers must be unique within a resource type. However, they do not | |
| have to be unique across resource types. For example, it is valid to have a | |
| \fBgpus\fP resource named \fB0\fP and a \fBcrypto_chips\fP resource named \fB0\fP, | |
| but not two \fBgpus\fP resources both named \fB0\fP\&. | |
| .sp | |
| Please note that the IDs \fB0\fP, \fB1\fP, \fB2\fP, \fB3\fP, and \fBcard0\fP are just | |
| examples, and CTest does not interpret them in any way. You are free to | |
| make up any IDs you want to meet your own requirements. | |
| .TP | |
| .B \fBslots\fP | |
| An optional unsigned number specifying the number of slots available on the | |
| resource. For example, this could be megabytes of RAM on a GPU, or | |
| cryptography units available on a cryptography chip. If \fBslots\fP is not | |
| specified, a default value of \fB1\fP is assumed. | |
| .UNINDENT | |
| .UNINDENT | |
| .sp | |
| In the example file above, there are four GPUs with ID\(aqs 0 through 3. GPU 0 has | |
| 2 slots, GPU 1 has 4, GPU 2 has 2, and GPU 3 has a default of 1 slot. There is | |
| also one cryptography chip with 4 slots. | |
| .SS \fBRESOURCE_GROUPS\fP Property | |
| .sp | |
| See \fBRESOURCE_GROUPS\fP for a description of this property. | |
| .SS Environment Variables | |
| .sp | |
| Once CTest has decided which resources to allocate to a test, it passes this | |
| information to the test executable as a series of environment variables. For | |
| each example below, we will assume that the test in question has a | |
| \fBRESOURCE_GROUPS\fP property of | |
| \fB2,gpus:2;gpus:4,gpus:1,crypto_chips:2\fP\&. | |
| .sp | |
| The following variables are passed to the test process: | |
| .INDENT 0.0 | |
| .TP | |
| .B CTEST_RESOURCE_GROUP_COUNT | |
| The total number of groups specified by the \fBRESOURCE_GROUPS\fP | |
| property. For example: | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fBCTEST_RESOURCE_GROUP_COUNT=3\fP | |
| .UNINDENT | |
| .sp | |
| This variable will only be defined if \fI\%ctest(1)\fP has been given a | |
| \fB\-\-resource\-spec\-file\fP, or if \fBctest_test()\fP has been given a | |
| \fBRESOURCE_SPEC_FILE\fP\&. If no resource specification file has been given, | |
| this variable will not be defined. | |
| .UNINDENT | |
| .INDENT 0.0 | |
| .TP | |
| .B CTEST_RESOURCE_GROUP_<num> | |
| The list of resource types allocated to each group, with each item | |
| separated by a comma. \fB<num>\fP is a number from zero to | |
| \fBCTEST_RESOURCE_GROUP_COUNT\fP minus one. \fBCTEST_RESOURCE_GROUP_<num>\fP | |
| is defined for each \fB<num>\fP in this range. For example: | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fBCTEST_RESOURCE_GROUP_0=gpus\fP | |
| .IP \(bu 2 | |
| \fBCTEST_RESOURCE_GROUP_1=gpus\fP | |
| .IP \(bu 2 | |
| \fBCTEST_RESOURCE_GROUP_2=crypto_chips,gpus\fP | |
| .UNINDENT | |
| .UNINDENT | |
| .INDENT 0.0 | |
| .TP | |
| .B CTEST_RESOURCE_GROUP_<num>_<resource\-type> | |
| The list of resource IDs and number of slots from each ID allocated to each | |
| group for a given resource type. This variable consists of a series of | |
| pairs, each pair separated by a semicolon, and with the two items in the pair | |
| separated by a comma. The first item in each pair is \fBid:\fP followed by the | |
| ID of a resource of type \fB<resource\-type>\fP, and the second item is | |
| \fBslots:\fP followed by the number of slots from that resource allocated to | |
| the given group. For example: | |
| .INDENT 7.0 | |
| .IP \(bu 2 | |
| \fBCTEST_RESOURCE_GROUP_0_GPUS=id:0,slots:2\fP | |
| .IP \(bu 2 | |
| \fBCTEST_RESOURCE_GROUP_1_GPUS=id:2,slots:2\fP | |
| .IP \(bu 2 | |
| \fBCTEST_RESOURCE_GROUP_2_GPUS=id:1,slots:4;id:3,slots:1\fP | |
| .IP \(bu 2 | |
| \fBCTEST_RESOURCE_GROUP_2_CRYPTO_CHIPS=id:card0,slots:2\fP | |
| .UNINDENT | |
| .sp | |
| In this example, group 0 gets 2 slots from GPU \fB0\fP, group 1 gets 2 slots | |
| from GPU \fB2\fP, and group 2 gets 4 slots from GPU \fB1\fP, 1 slot from GPU | |
| \fB3\fP, and 2 slots from cryptography chip \fBcard0\fP\&. | |
| .sp | |
| \fB<num>\fP is a number from zero to \fBCTEST_RESOURCE_GROUP_COUNT\fP minus one. | |
| \fB<resource\-type>\fP is the name of a resource type, converted to uppercase. | |
| \fBCTEST_RESOURCE_GROUP_<num>_<resource\-type>\fP is defined for the product | |
| of each \fB<num>\fP in the range listed above and each resource type listed in | |
| \fBCTEST_RESOURCE_GROUP_<num>\fP\&. | |
| .sp | |
| Because some platforms have case\-insensitive names for environment variables, | |
| the names of resource types may not clash in a case\-insensitive environment. | |
| Because of this, for the sake of simplicity, all resource types must be | |
| listed in all lowercase in the | |
| \fI\%resource specification file\fP and | |
| in the \fBRESOURCE_GROUPS\fP property, and they are converted to all | |
| uppercase in the \fBCTEST_RESOURCE_GROUP_<num>_<resource\-type>\fP environment | |
| variable. | |
| .UNINDENT | |
| .SH SEE ALSO | |
| .sp | |
| The following resources are available to get help using CMake: | |
| .INDENT 0.0 | |
| .TP | |
| .B Home Page | |
| \fI\%https://cmake.org\fP | |
| .sp | |
| The primary starting point for learning about CMake. | |
| .TP | |
| .B Online Documentation and Community Resources | |
| \fI\%https://cmake.org/documentation\fP | |
| .sp | |
| Links to available documentation and community resources may be | |
| found on this web page. | |
| .TP | |
| .B Discourse Forum | |
| \fI\%https://discourse.cmake.org\fP | |
| .sp | |
| The Discourse Forum hosts discussion and questions about CMake. | |
| .UNINDENT | |
| .sp | |
| : \fI\%https://cdash.org\fP | |
| .SH COPYRIGHT | |
| 2000-2022 Kitware, Inc. and Contributors | |
| .\" Generated by docutils manpage writer. | |
| . |