CMake/Source/CTest/cmCTestHG.h
Brad King ef399f9bc6 ctest_update: Refactor internal APIs to support more failure cases
Thread failure of VC tool commands through more APIs so that we can
detect when they fail.  Defer updating of the individual VC tool usage
the future and just return true from them for now.
2017-02-16 13:19:26 -05:00

47 lines
999 B
C++

/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
#ifndef cmCTestHG_h
#define cmCTestHG_h
#include <cmConfigure.h>
#include "cmCTestGlobalVC.h"
#include <iosfwd>
#include <string>
class cmCTest;
/** \class cmCTestHG
* \brief Interaction with Mercurial command-line tool
*
*/
class cmCTestHG : public cmCTestGlobalVC
{
public:
/** Construct with a CTest instance and update log stream. */
cmCTestHG(cmCTest* ctest, std::ostream& log);
~cmCTestHG() CM_OVERRIDE;
private:
std::string GetWorkingRevision();
bool NoteOldRevision() CM_OVERRIDE;
bool NoteNewRevision() CM_OVERRIDE;
bool UpdateImpl() CM_OVERRIDE;
bool LoadRevisions() CM_OVERRIDE;
bool LoadModifications() CM_OVERRIDE;
// Parsing helper classes.
class IdentifyParser;
class LogParser;
class StatusParser;
friend class IdentifyParser;
friend class LogParser;
friend class StatusParser;
};
#endif