mirror of
https://github.com/pocoproject/poco.git
synced 2025-02-06 04:55:40 +01:00
84 lines
1.3 KiB
C++
84 lines
1.3 KiB
C++
//
|
|
// GUITestResult.h
|
|
//
|
|
// $Id: //poco/1.4/CppUnit/WinTestRunner/src/GUITestResult.h#1 $
|
|
//
|
|
|
|
|
|
#ifndef GuiTestResult_INCLUDED
|
|
#define GuiTestResult_INCLUDED
|
|
|
|
|
|
#include "CppUnit/CppUnit.h"
|
|
#include "CppUnit/TestResult.h"
|
|
#include <afxmt.h>
|
|
|
|
|
|
namespace CppUnit {
|
|
|
|
|
|
class TestRunnerDlg;
|
|
|
|
|
|
class GUITestResult: public TestResult
|
|
{
|
|
public:
|
|
GUITestResult(TestRunnerDlg* runner);
|
|
~GUITestResult();
|
|
|
|
void addError(Test* test, CppUnitException* e);
|
|
void addFailure(Test* test, CppUnitException* e);
|
|
|
|
void startTest(Test* test);
|
|
void endTest(Test* test);
|
|
void stop();
|
|
|
|
protected:
|
|
class LightweightSynchronizationObject: public TestResult::SynchronizationObject
|
|
{
|
|
public:
|
|
void lock()
|
|
{
|
|
_syncObject.Lock();
|
|
}
|
|
|
|
void unlock()
|
|
{
|
|
_syncObject.Unlock();
|
|
}
|
|
|
|
private:
|
|
CCriticalSection _syncObject;
|
|
};
|
|
|
|
private:
|
|
TestRunnerDlg *_runner;
|
|
};
|
|
|
|
|
|
|
|
// Construct with lightweight synchronization
|
|
inline GUITestResult::GUITestResult(TestRunnerDlg* runner): _runner(runner)
|
|
{
|
|
setSynchronizationObject(new LightweightSynchronizationObject());
|
|
}
|
|
|
|
|
|
// Destructor
|
|
inline GUITestResult::~GUITestResult()
|
|
{
|
|
}
|
|
|
|
|
|
// Override without protection to prevent deadlock
|
|
inline void GUITestResult::stop()
|
|
{
|
|
_stop = true;
|
|
}
|
|
|
|
|
|
} // namespace CppUnit
|
|
|
|
|
|
#endif // GuiTestResult_INCLUDED
|