cmCTestTestCommand.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /*=========================================================================
  2. Program: CMake - Cross-Platform Makefile Generator
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
  8. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
  9. This software is distributed WITHOUT ANY WARRANTY; without even
  10. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  11. PURPOSE. See the above copyright notices for more information.
  12. =========================================================================*/
  13. #ifndef cmCTestTestCommand_h
  14. #define cmCTestTestCommand_h
  15. #include "cmCTestHandlerCommand.h"
  16. /** \class cmCTestTest
  17. * \brief Run a ctest script
  18. *
  19. * cmCTestTestCommand defineds the command to test the project.
  20. */
  21. class cmCTestTestCommand : public cmCTestHandlerCommand
  22. {
  23. public:
  24. cmCTestTestCommand();
  25. /**
  26. * This is a virtual constructor for the command.
  27. */
  28. virtual cmCommand* Clone()
  29. {
  30. cmCTestTestCommand* ni = new cmCTestTestCommand;
  31. ni->CTest = this->CTest;
  32. ni->CTestScriptHandler = this->CTestScriptHandler;
  33. return ni;
  34. }
  35. /**
  36. * The name of the command as specified in CMakeList.txt.
  37. */
  38. virtual const char* GetName() { return "ctest_test";}
  39. /**
  40. * Succinct documentation.
  41. */
  42. virtual const char* GetTerseDocumentation()
  43. {
  44. return "Run tests in the project build tree.";
  45. }
  46. /**
  47. * More documentation.
  48. */
  49. virtual const char* GetFullDocumentation()
  50. {
  51. return
  52. " ctest_test([BUILD build_dir] [APPEND]\n"
  53. " [START start number] [END end number]\n"
  54. " [STRIDE stride number] [EXCLUDE exclude regex ]\n"
  55. " [INCLUDE include regex] [RETURN_VALUE res] \n"
  56. " [EXCLUDE_LABEL exclude regex] \n"
  57. " [INCLUDE_LABEL label regex] )\n"
  58. "Tests the given build directory and stores results in Test.xml. The "
  59. "second argument is a variable that will hold value. Optionally, "
  60. "you can specify the starting test number START, the ending test number "
  61. "END, the number of tests to skip between each test STRIDE, a regular "
  62. "expression for tests to run INCLUDE, or a regular expression for tests "
  63. "to not run EXCLUDE. EXCLUDE_LABEL and INCLUDE_LABEL are regular "
  64. "expression for test to be included or excluded by the test "
  65. "property LABEL."
  66. "\n"
  67. CTEST_COMMAND_APPEND_OPTION_DOCS;
  68. }
  69. cmTypeMacro(cmCTestTestCommand, cmCTestHandlerCommand);
  70. protected:
  71. virtual cmCTestGenericHandler* InitializeActualHandler();
  72. cmCTestGenericHandler* InitializeHandler();
  73. enum {
  74. ctt_BUILD = ct_LAST,
  75. ctt_RETURN_VALUE,
  76. ctt_START,
  77. ctt_END,
  78. ctt_STRIDE,
  79. ctt_EXCLUDE,
  80. ctt_INCLUDE,
  81. ctt_EXCLUDE_LABEL,
  82. ctt_INCLUDE_LABEL,
  83. ctt_LAST
  84. };
  85. };
  86. #endif