| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- .. cmake-manual-description: CTest Command-Line Reference
- ctest(1)
- ********
- Synopsis
- ========
- .. parsed-literal::
- ctest [<options>]
- Description
- ===========
- The "ctest" executable is the CMake test driver program.
- CMake-generated build trees created for projects that use the
- ENABLE_TESTING and ADD_TEST commands have testing support. This
- program will run the tests and report results.
- Options
- =======
- ``-C <cfg>, --build-config <cfg>``
- Choose configuration to test.
- 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 "Debug" and
- "Release".
- ``-V,--verbose``
- Enable verbose output from tests.
- Test output is normally suppressed and only summary information is
- displayed. This option will show all test output.
- ``-VV,--extra-verbose``
- Enable more verbose output from tests.
- Test output is normally suppressed and only summary information is
- displayed. This option will show even more test output.
- ``--debug``
- Displaying more verbose internals of CTest.
- This feature will result in a large number of output that is mostly
- useful for debugging dashboard problems.
- ``--output-on-failure``
- Output anything outputted by the test program if the test should fail. This option can also be enabled by setting the environment variable CTEST_OUTPUT_ON_FAILURE
- ``-F``
- Enable failover.
- This option allows ctest to resume a test set execution that was
- previously interrupted. If no interruption occurred, the -F option
- will have no effect.
- ``-j <jobs>, --parallel <jobs>``
- Run the tests in parallel using thegiven number of jobs.
- This option tells ctest to run the tests in parallel using given
- number of jobs. This option can also be set by setting the
- environment variable CTEST_PARALLEL_LEVEL.
- ``-Q,--quiet``
- Make ctest quiet.
- This option will suppress all the output. The output log file will
- still be generated if the --output-log is specified. Options such
- as --verbose, --extra-verbose, and --debug are ignored if --quiet is
- specified.
- ``-O <file>, --output-log <file>``
- Output to log file
- This option tells ctest to write all its output to a log file.
- ``-N,--show-only``
- Disable actual execution of tests.
- This option tells ctest to list the tests that would be run but not
- actually run them. Useful in conjunction with the -R and -E
- options.
- ``-L <regex>, --label-regex <regex>``
- Run tests with labels matching regular expression.
- This option tells ctest to run only the tests whose labels match the
- given regular expression.
- ``-R <regex>, --tests-regex <regex>``
- Run tests matching regular expression.
- This option tells ctest to run only the tests whose names match the
- given regular expression.
- ``-E <regex>, --exclude-regex <regex>``
- Exclude tests matching regular expression.
- This option tells ctest to NOT run the tests whose names match the
- given regular expression.
- ``-LE <regex>, --label-exclude <regex>``
- Exclude tests with labels matching regular expression.
- This option tells ctest to NOT run the tests whose labels match the
- given regular expression.
- ``-D <dashboard>, --dashboard <dashboard>``
- Execute dashboard test
- This option tells ctest to act as a Dart client and perform a
- dashboard test. All tests are <Mode><Test>, where Mode can be
- Experimental, Nightly, and Continuous, and Test can be Start,
- Update, Configure, Build, Test, Coverage, and Submit.
- ``-D <var>:<type>=<value>``
- Define a variable for script mode
- Pass in variable values on the command line. Use in conjunction
- with -S to pass variable values to a dashboard script. Parsing -D
- arguments as variable values is only attempted if the value
- following -D does not match any of the known dashboard types.
- ``-M <model>, --test-model <model>``
- Sets the model for a dashboard
- This option tells ctest to act as a Dart client where the TestModel
- can be Experimental, Nightly, and Continuous. Combining -M and -T
- is similar to -D
- ``-T <action>, --test-action <action>``
- Sets the dashboard action to perform
- This option tells ctest to act as a Dart client and perform some
- action such as start, build, test etc. Combining -M and -T is
- similar to -D
- ``--track <track>``
- Specify the track to submit dashboard to
- Submit dashboard to specified track instead of default one. By
- default, the dashboard is submitted to Nightly, Experimental, or
- Continuous track, but by specifying this option, the track can be
- arbitrary.
- ``-S <script>, --script <script>``
- Execute a dashboard for a configuration
- 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 ctest -D
- with the appropriate options.
- ``-SP <script>, --script-new-process <script>``
- Execute a dashboard for a configuration
- This option does the same operations as -S 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 -S scripts.
- ``-A <file>, --add-notes <file>``
- Add a notes file with submission
- This option tells ctest to include a notes file when submitting
- dashboard.
- ``-I [Start,End,Stride,test#,test#|Test file], --tests-information``
- Run a specific number of tests by number.
- This option causes ctest to run tests starting at number Start,
- ending at number End, and incrementing by Stride. Any additional
- numbers after Stride are considered individual test numbers. Start,
- End,or stride can be empty. Optionally a file can be given that
- contains the same syntax as the command line.
- ``-U, --union``
- Take the Union of -I and -R
- When both -R and -I are specified by default the intersection of
- tests are run. By specifying -U the union of tests is run instead.
- ``--rerun-failed``
- Run only the tests that failed previously
- 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 (-L, -R,
- -E, -LE, -I, etc). In the event that CTest runs and no tests fail,
- subsequent calls to ctest with the --rerun-failed option will run
- the set of tests that most recently failed (if any).
- ``--max-width <width>``
- Set the max width for a test name to output
- 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.
- ``--interactive-debug-mode [0|1]``
- Set the interactive mode to 0 or 1.
- This option causes ctest to run tests in either an interactive mode
- or a non-interactive mode. On Windows this means that in
- non-interactive mode, all system debug pop up windows are blocked.
- In dashboard mode (Experimental, Nightly, Continuous), the default
- is non-interactive. When just running tests not for a dashboard the
- default is to allow popups and interactive debugging.
- ``--no-label-summary``
- Disable timing summary information for labels.
- 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.
- ``--build-and-test``
- Configure, build and run a test.
- This option tells ctest to configure (i.e. run cmake on), build,
- and or execute a test. The configure and test steps are optional.
- The arguments to this command line are the source and binary
- directories. By default this will run CMake on the Source/Bin
- directories specified unless --build-nocmake is specified.
- The --build-generator option *must* be provided to use
- --build-and-test. If --test-command is specified then that will be
- run after the build is complete. Other options that affect this
- mode are --build-target --build-nocmake, --build-run-dir,
- --build-two-config, --build-exe-dir,
- --build-project,--build-noclean, --build-options
- ``--build-target``
- Specify a specific target to build.
- This option goes with the --build-and-test option, if left out the
- all target is built.
- ``--build-nocmake``
- Run the build without running cmake first.
- Skip the cmake step.
- ``--build-run-dir``
- Specify directory to run programs from.
- Directory where programs will be after it has been compiled.
- ``--build-two-config``
- Run CMake twice
- ``--build-exe-dir``
- Specify the directory for the executable.
- ``--build-generator``
- Specify the generator to use.
- ``--build-generator-toolset``
- Specify the generator-specific toolset.
- ``--build-project``
- Specify the name of the project to build.
- ``--build-makeprogram``
- Override the make program chosen by CTest with a given one.
- ``--build-noclean``
- Skip the make clean step.
- ``--build-config-sample``
- A sample executable to use to determine the configuration
- A sample executable to use to determine the configuration that
- should be used. e.g. Debug/Release/etc
- ``--build-options``
- Add extra options to the build step.
- This option must be the last option with the exception of
- --test-command
- ``--test-command``
- The test to run with the --build-and-test option.
- ``--test-timeout``
- The time limit in seconds, internal use only.
- ``--tomorrow-tag``
- Nightly or experimental starts with next day tag.
- This is useful if the build will not finish in one day.
- ``--ctest-config``
- The configuration file used to initialize CTest state when submitting dashboards.
- This option tells CTest to use different initialization file instead
- of CTestConfiguration.tcl. This way multiple initialization files
- can be used for example to submit to multiple dashboards.
- ``--overwrite``
- Overwrite CTest configuration option.
- By default ctest uses configuration options from configuration file.
- This option will overwrite the configuration option.
- ``--extra-submit <file>[;<file>]``
- Submit extra files to the dashboard.
- This option will submit extra files to the dashboard.
- ``--force-new-ctest-process``
- Run child CTest instances as new processes
- 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.
- ``--schedule-random``
- Use a random order for scheduling tests
- This option will run the tests in a random order. It is commonly
- used to detect implicit dependencies in a test suite.
- ``--submit-index``
- Submit individual dashboard tests with specific index
- This option allows performing the same CTest action (such as test)
- multiple times and submit all stages to the same dashboard (Dart2
- required). Each execution requires different index.
- ``--timeout <seconds>``
- Set a global timeout on all tests.
- This option will set a global timeout on all tests that do not
- already have a timeout set on them.
- ``--stop-time <time>``
- Set a time at which all tests should stop running.
- Set a real time of day at which all tests should timeout. Example:
- 7:00:00 -0400. Any time format understood by the curl date parser
- is accepted. Local time is assumed if no timezone is specified.
- ``--http1.0``
- Submit using HTTP 1.0.
- This option will force CTest to use HTTP 1.0 to submit files to the
- dashboard, instead of HTTP 1.1.
- ``--no-compress-output``
- Do not compress test output when submitting.
- This flag will turn off automatic compression of test output. Use
- this to maintain compatibility with an older version of CDash which
- doesn't support compressed test output.
- ``--print-labels``
- Print all available test labels.
- This option will not run any tests, it will simply print the list of
- all labels associated with the test set.
- .. include:: OPTIONS_HELP.txt
- See Also
- ========
- .. include:: LINKS.txt
|