cmCTestMemCheckCommand.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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 cmCTestMemCheckCommand_h
  14. #define cmCTestMemCheckCommand_h
  15. #include "cmCTestTestCommand.h"
  16. class cmCTestGenericHandler;
  17. /** \class cmCTestMemCheck
  18. * \brief Run a ctest script
  19. *
  20. * cmCTestMemCheckCommand defineds the command to test the project.
  21. */
  22. class cmCTestMemCheckCommand : public cmCTestTestCommand
  23. {
  24. public:
  25. cmCTestMemCheckCommand() {}
  26. /**
  27. * This is a virtual constructor for the command.
  28. */
  29. virtual cmCommand* Clone()
  30. {
  31. cmCTestMemCheckCommand* ni = new cmCTestMemCheckCommand;
  32. ni->CTest = this->CTest;
  33. ni->CTestScriptHandler = this->CTestScriptHandler;
  34. return ni;
  35. }
  36. /**
  37. * The name of the command as specified in CMakeList.txt.
  38. */
  39. virtual const char* GetName() { return "ctest_memcheck";}
  40. /**
  41. * Succinct documentation.
  42. */
  43. virtual const char* GetTerseDocumentation()
  44. {
  45. return "Run tests with a dynamic analysis tool.";
  46. }
  47. /**
  48. * More documentation.
  49. */
  50. virtual const char* GetFullDocumentation()
  51. {
  52. return
  53. " ctest_memcheck([BUILD build_dir] [RETURN_VALUE res] [APPEND]\n"
  54. " [START start number] [END end number]\n"
  55. " [STRIDE stride number] [EXCLUDE exclude regex ]\n"
  56. " [INCLUDE include regex] \n"
  57. " [EXCLUDE_LABEL exclude regex] \n"
  58. " [INCLUDE_LABEL label regex] )\n"
  59. "Tests the given build directory and stores results in MemCheck.xml. "
  60. "The second argument is a variable that will hold value. Optionally, "
  61. "you can specify the starting test number START, the ending test number "
  62. "END, the number of tests to skip between each test STRIDE, a regular "
  63. "expression for tests to run INCLUDE, or a regular expression for tests "
  64. "not to run EXCLUDE. EXCLUDE_LABEL and INCLUDE_LABEL are regular "
  65. "expressions for tests to be included or excluded by the test "
  66. "property LABEL."
  67. "\n"
  68. CTEST_COMMAND_APPEND_OPTION_DOCS;
  69. }
  70. cmTypeMacro(cmCTestMemCheckCommand, cmCTestTestCommand);
  71. protected:
  72. cmCTestGenericHandler* InitializeActualHandler();
  73. };
  74. #endif