GUITestResult.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #ifndef CPPUNIT_GUITESTRESULT_H
  2. #define CPPUNIT_GUITESTRESULT_H
  3. #include <afxmt.h>
  4. #ifndef TESTRESULT_H
  5. #include "TestResult.h"
  6. #endif
  7. class TestRunnerDlg;
  8. class GUITestResult : public TestResult 
  9. {
  10. public:
  11.                         GUITestResult (TestRunnerDlg *runner);
  12.                         ~GUITestResult ();
  13.     void                addError    (Test *test, CppUnitException *e);
  14.     void                addFailure  (Test *test, CppUnitException *e);
  15.     void                endTest     (Test *test);
  16.     void                stop ();
  17. protected:
  18.     class LightweightSynchronizationObject : public TestResult::SynchronizationObject
  19.     {
  20.         CCriticalSection    m_syncObject;
  21.     public:
  22.         void                lock ()     { m_syncObject.Lock (); }
  23.         void                unlock ()   { m_syncObject.Unlock (); }
  24.     };
  25. private:
  26.     TestRunnerDlg       *m_runner;
  27. };
  28. // Construct with lightweight synchronization
  29. inline GUITestResult::GUITestResult (TestRunnerDlg *runner)
  30. : m_runner (runner) { setSynchronizationObject (new LightweightSynchronizationObject ()); }
  31. // Destructor
  32. inline GUITestResult::~GUITestResult ()
  33. {}
  34. // Override without protection to prevent deadlock
  35. inline void GUITestResult::stop ()
  36. { m_stop = true; }
  37. #endif