cmCTestHG.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*============================================================================
  2. CMake - Cross Platform Makefile Generator
  3. Copyright 2000-2009 Kitware, Inc.
  4. Distributed under the OSI-approved BSD License (the "License");
  5. see accompanying file Copyright.txt for details.
  6. This software is distributed WITHOUT ANY WARRANTY; without even the
  7. implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  8. See the License for more information.
  9. ============================================================================*/
  10. #ifndef cmCTestHG_h
  11. #define cmCTestHG_h
  12. #include <cmConfigure.h>
  13. #include "cmCTestGlobalVC.h"
  14. #include <iosfwd>
  15. #include <string>
  16. class cmCTest;
  17. /** \class cmCTestHG
  18. * \brief Interaction with Mercurial command-line tool
  19. *
  20. */
  21. class cmCTestHG : public cmCTestGlobalVC
  22. {
  23. public:
  24. /** Construct with a CTest instance and update log stream. */
  25. cmCTestHG(cmCTest* ctest, std::ostream& log);
  26. ~cmCTestHG() CM_OVERRIDE;
  27. private:
  28. std::string GetWorkingRevision();
  29. void NoteOldRevision() CM_OVERRIDE;
  30. void NoteNewRevision() CM_OVERRIDE;
  31. bool UpdateImpl() CM_OVERRIDE;
  32. void LoadRevisions() CM_OVERRIDE;
  33. void LoadModifications() CM_OVERRIDE;
  34. // Parsing helper classes.
  35. class IdentifyParser;
  36. class LogParser;
  37. class StatusParser;
  38. friend class IdentifyParser;
  39. friend class LogParser;
  40. friend class StatusParser;
  41. };
  42. #endif