testrunnerthread.cpp

来自「c++单元测试框架」· C++ 代码 · 共 77 行

CPP
77
字号
/////////////////////////////////////////////////////////////////////////////// Name:        TestRunnerThread.h// Purpose:     Implementation for class TestRunnerThread// Author:      Baptiste Lepilleur// Modified by: Anthon Pang// Created:     2003.09.11// RCS-ID:// Copyright:   (C) 2003 by Anthon Pang and Baptiste Lepilleur// Licence:     LGPL// Reference:   cppunit/src/qttestrunner/TestRunnerThread.cpp/////////////////////////////////////////////////////////////////////////////// ============================================================================// declarations// ============================================================================// ----------------------------------------------------------------------------// headers// ----------------------------------------------------------------------------#if defined(__BORLANDC__) || defined(_MSC_VER)#include <windows.h>#endif#include <wx/app.h>#include <wx/utils.h>#ifndef TESTRUNNERTHREAD_H#include "TestRunnerThread.h"#endif#ifndef TESTRUNNERTHREADFINISHEDEVENT_H#include "TestRunnerThreadFinishedEvent.h"#endif// ============================================================================// implementation// ============================================================================// ----------------------------------------------------------------------------// the thread class// ----------------------------------------------------------------------------TestRunnerThread::TestRunnerThread( CPPUNIT_NS::Test *testToRun,                                    CPPUNIT_NS::TestResult *result,                                    wxEvtHandler *eventTarget,                                    TestRunnerThreadFinishedEvent *finishedEvent )  : wxThread(wxTHREAD_JOINABLE),    wxEvtHandler(),    m_testToRun( testToRun ),    m_result( result ),    m_eventTarget( eventTarget ),    m_finishedEvent( finishedEvent ){}TestRunnerThread::~TestRunnerThread(){    m_eventTarget = 0;    m_finishedEvent = 0;}void *TestRunnerThread::Entry(){    m_testToRun->run( m_result );    // Signal TestRunnerModel GUI thread    wxPostEvent( m_eventTarget, *m_finishedEvent );#if defined(__BORLANDC__) || defined(_MSC_VER)    // HACK: grace period for any lingering child threads to go away;    //       Windows complains bitterly (CRASHER) if parent leaves first    wxSleep(1);#endif    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?