diff -r 000000000000 -r 72b543305e3a messagingappbase/obexmtms/TObexMTM/testutils/msgth/inc/harness.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingappbase/obexmtms/TObexMTM/testutils/msgth/inc/harness.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,155 @@ +// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#ifndef __HARNESS_H +#define __HARNESS_H + +#include +#include +#include "MsvTestUtils.h" +#include "testframeutils.h" + +// +// +// MBaseTestState +// + +class MBaseTestState + { +public: + IMPORT_C virtual void StartL(TRequestStatus& aStatus) = 0; + IMPORT_C virtual ~MBaseTestState(); + + IMPORT_C void SetDebugInfo(const TTestDebugInfo& aDebugInfo); + IMPORT_C const TTestDebugInfo& GetDebugInfo() const; + +protected: + TTestDebugInfo iDebugInfo; + }; + +class TTestDebugInfo; + +class CActiveTestState : public CActive, public MBaseTestState +/** + * This is a base class for all active object test states. It provides + * a RunError() function which notifies the test harness appropriately + * when the test state's RunL() function leaves. This avoids a panic. + */ + { +public: + IMPORT_C CActiveTestState(TInt aPriority); + IMPORT_C virtual TInt RunError(TInt aError); + +protected: + TRequestStatus* iReportStatus; + }; + +// +// +// CBaseTestHarness +// + +class CBaseTestHarness : public CActive, public MBaseTestState + { +public: + IMPORT_C virtual ~CBaseTestHarness(); + + IMPORT_C virtual void StartL(TRequestStatus& aStatus); + + IMPORT_C virtual void AddStateL(MBaseTestState* aTestState, TTestDebugInfo aDebugInfo); + + IMPORT_C virtual void LogCommentL(const TDesC& aError); + + IMPORT_C virtual void SetHeapFailureTesting(TBool aTest); + + // From CActive + IMPORT_C void RunL(); + IMPORT_C void DoCancel(); + IMPORT_C TInt RunError(TInt aError); + IMPORT_C RTest& TestConsole(); + +protected: + IMPORT_C virtual void ConstructL(); + IMPORT_C CBaseTestHarness(RTest& aTest); + + TInt iCurrentState; + TRequestStatus* iReportStatus; + + RTest& iTest; + CArrayPtrFlat* iStateList; + + TBool iTestHeapFailure; + +private: +// CTestScript& iScript; + TInt iHeapFailureCount; + }; + + +// +// +// CMainTestHarness +// + +class CMainTestHarness : public CBaseTestHarness + { +public: + IMPORT_C static CMainTestHarness* NewL(RTest& aTest); + IMPORT_C virtual void StartL(TRequestStatus& aStatus); + +protected: + IMPORT_C virtual void ConstructL(); + IMPORT_C CMainTestHarness(RTest& aTest); + }; + + +// +// +// CMsvClientTest +// + +class CMsvClientTest : public CBaseTestHarness + { +public: + IMPORT_C static CMsvClientTest* NewL(CMsvTestUtils& aTestUtils, RTest& aTest); + IMPORT_C static CMsvClientTest* NewL(CMsvTestUtils* aTestUtils, RTest& aTest); + IMPORT_C virtual ~CMsvClientTest(); + IMPORT_C CMsvTestUtils& MsvTestUtils(); + IMPORT_C void DoCancel(); + IMPORT_C void SetCurrentOperation(CMsvOperation* aOperation); + IMPORT_C CMsvOperation& CurrentOperation(); + IMPORT_C virtual void Reset(); + +protected: + IMPORT_C virtual void ConstructL(); + IMPORT_C CMsvClientTest(CMsvTestUtils& aMsvTestUtils, RTest& aTest); + IMPORT_C CMsvClientTest(CMsvTestUtils* aMsvTestUtils, RTest& aTest); + +public: + CMsvEntrySelection* iCurrentSelection; + TMsvId iSelectedFolder; + TMsvId iDestinationFolder; + TMsvId iCurrentServiceId; + +protected: + CMsvTestUtils& iMsvTestUtils; + +private: + CMsvTestUtils* iOwnedMsvTestUtils; + CMsvOperation* iOperation; + }; + + +#endif