cmCTestTestCommand.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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 "Tests the repository.";
  45. }
  46. /**
  47. * More documentation.
  48. */
  49. virtual const char* GetFullDocumentation()
  50. {
  51. return
  52. " ctest_test([BUILD build_dir]\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. "Tests the given build directory and stores results in Test.xml. The "
  57. "second argument is a variable that will hold value. Optionally, "
  58. "you can specify the starting test number START, the ending test number "
  59. "END, the number of tests to skip between each test STRIDE, a regular "
  60. "expression for tests to run INCLUDE, or a regular expression for tests "
  61. "to not run EXCLUDE.";
  62. }
  63. cmTypeMacro(cmCTestTestCommand, cmCTestHandlerCommand);
  64. protected:
  65. virtual cmCTestGenericHandler* InitializeActualHandler();
  66. cmCTestGenericHandler* InitializeHandler();
  67. enum {
  68. ctt_BUILD = ct_LAST,
  69. ctt_RETURN_VALUE,
  70. ctt_START,
  71. ctt_END,
  72. ctt_STRIDE,
  73. ctt_EXCLUDE,
  74. ctt_INCLUDE,
  75. ctt_LAST
  76. };
  77. };
  78. #endif