stif/TestCombiner/inc/TestCase.h
changeset 38 169364e7e4b4
parent 34 7259cf1302ad
child 45 185201be11b0
--- a/stif/TestCombiner/inc/TestCase.h	Tue Jul 06 16:05:13 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,601 +0,0 @@
-/*
-* Copyright (c) 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: This file contains the header file of the CTCTestCase 
-* and TTCTestModule.
-*
-*/
-
-#ifndef TESTCASE_H
-#define TESTCASE_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <stifinternal/TestServerClient.h>
-#include <StifTestModule.h>
-#include "TestCaseNotify.h"
-
-// CONSTANTS
-// None
-
-// MACROS
-// None
-
-// DATA TYPES
-// None
-
-// FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-class CTestCombiner;
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CTestCase is a parent class for the test case runner in TestCombiner.
-NONSHARABLE_CLASS(CTestCase)
-    :public CActive
-    {
-    public: // Enumerations
-        enum TTestCaseStatus
-            {
-            ETestCaseIdle,
-            ETestCaseRunning,
-            ETestCaseCompleted
-            };
-        
-        enum TCaseType
-            {
-            ECaseLocal,
-            ECaseRemote,
-            };
-
-    private: // Enumerations
-
-    public: // Destructor
-        /**
-        * Destructor.
-        */
-        virtual ~CTestCase();
-
-    public: // New functions
-        /**
-        * Calls SetActive() from CActive.
-        */
-        virtual void StartL();
-        
-        /**
-        * Get state of the test case.
-        */
-        TTestCaseStatus State(){ return iState; }
-                
-        /**
-        * Get reference to TestId.
-        */
-        const TDesC& TestId(){ return *iTestId; }
-
-        /**
-        * Get expected result.
-        */
-        TInt ExpectedResult(){ return iExpectedResult; }
-
-        /**
-        * Get expected result category.
-        */
-        TFullTestResult::TCaseExecutionResult
-            ExpectedResultCategory(){ return iExpectedResultCategory; }
-
-        /**
-        * Get test case type.
-        */
-        TCaseType Type(){ return iType; }
-
-        //--PYTHON-- begin
-        /**
-        * Get TestModule.
-        */
-        CTCTestModule* TestModule(void){ return iTestModule; }
-        //--PYTHON-- end
-
-        /**
-        * Checks state and additional conditions
-        */
-        virtual TBool IsCompletelyFinished(void);
-
-    public: // Functions from base classes
-
-        /**
-        * RunL derived from CActive handles the completed requests.
-        */
-        void RunL();
-
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-    protected: // New functions
-
-        /**
-        * Completes testcase.
-        */
-        virtual void Complete( TInt aError );
-
-    protected: // Constructors
-        /**
-        * C++ default constructor.
-        */
-        CTestCase( CTestCombiner* testCombiner,
-                   TInt aExpectedResult,
-                   TFullTestResult::TCaseExecutionResult aCategory,
-                   TCaseType aType,
-                   CTCTestModule* aModule ); //--PYTHON--
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL( TDesC& aTestId );
-
-    private:
-
-    public:  // Data
-
-        // Test case result
-        TFullTestResult         iResult;
-
-    protected: // Data
-        // Test case type
-        TCaseType               iType;
-
-        // Backpointer
-        CTestCombiner*          iTestCombiner;
-
-        // Internal state
-        TTestCaseStatus         iState;
-
-        // Unique test id
-        HBufC*                  iTestId;
-
-        // Expected result for the test case
-        TInt                    iExpectedResult;
-
-        // Expected result category
-        TFullTestResult::TCaseExecutionResult iExpectedResultCategory;
-
-    private: // Data
-        //--PYTHON-- begin
-        CTCTestModule*			iTestModule;
-        //--PYTHON-- end
-
-    public: // Friend classes
-
-    protected: // Friend classes
-
-    private: // Friend classes
-        friend class CTestRunner;
-
-    };
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CTCTestCase handles the running of a single testcase in TestCombiner.
-
-NONSHARABLE_CLASS(CTCTestCase)
-    :public CTestCase
-    {
-    public: // Enumerations
-
-    private: // Enumerations
-
-    public: // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CTCTestCase* NewL( CTestCombiner* testCombiner,
-                                  TDesC& aModuleName,
-                                  TDesC& aTestId,
-                                  TInt aExpectedResult,
-                                  TFullTestResult::TCaseExecutionResult aCategory,
-                                  const TDesC& aTestCaseArguments,
-                                  CTCTestModule* aModule ); //--PYTHON--
-
-        /**
-        * Destructor.
-        */
-        ~CTCTestCase();
-
-    public: // New functions
-        /**
-        * Calls SetActive() from CActive.
-        */
-        void StartL();
-
-        /**
-        * Get reference to ModuleName.
-        */
-        const TDesC& ModuleName(){ return *iModuleName; }
-
-        /**
-         * Get test case arguments
-         */
-        const TDesC& TestCaseArguments() const;
-        
-        /**
-        * Get reference to RTestExecution.
-        */
-        RTestExecution& TestExecution(){ return iTestExecution; }
-
-        /**
-        * Get reference to event array.
-        */
-        RPointerArray<CTestEventNotify>& EventArray(){ return iEventArray; }
-
-        /**
-        * Get reference to state event array.
-        */
-        RPointerArray<TEventIf>& StateEventArray(){ return iStateEventArray; }
-
-         /**
-        * Final complete of the testcase.
-        */
-        void Complete2();
-
-        /**
-        * Checks state and progress notifier
-        */
-        TBool IsCompletelyFinished(void);
-
-    public: // Functions from base classes
-
-    protected: // New functions
-
-    protected: // Functions from base classes
-        /**
-        * DoCancel derived from CActive handles the Cancel
-        */
-        void DoCancel();
-
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CTCTestCase( CTestCombiner* testCombiner,
-                     TInt aExpectedResult,
-                     TFullTestResult::TCaseExecutionResult aCategory,
-                     CTCTestModule* aModule ); //--PYTHON--
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL( TDesC& aModuleName, TDesC& aTestId, const TDesC& aTestCaseArguments );
-
-        /**
-        * Start complete the testcase(Complete2 make the final complete).
-        */
-        void Complete( TInt aError );
-
-    public:  // Data
-        // Test case result package
-        TFullTestResultPckg iResultPckg;
-
-    protected: // Data
-
-    private: // Data
-
-        // Progress notifier
-        CTestProgressNotifier*  iProgress;
-
-        // Event notifier
-        CTestEventNotifier*     iEvent;
-
-        // Module name
-        HBufC*                  iModuleName;
-
-        // Test case arguments
-        HBufC*                  iTestCaseArguments;
-        
-        // Handle to test case execution
-        RTestExecution          iTestExecution;
-
-        // Event array for events requested by test case
-        RPointerArray<CTestEventNotify> iEventArray;
-
-        // Event array for state events set by test case
-        RPointerArray<TEventIf>         iStateEventArray;
-        
-        // Command notifier
-        CTestCommandNotifier*    iCommand;
-
-    public: // Friend classes
-
-    protected: // Friend classes
-
-    private: // Friend classes
-
-    };
-
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// Testcase starting information
-NONSHARABLE_CLASS(CRemoteTestCase)
-    :public CTestCase
-    {
-
-    public: // Enumerations
-        enum TRemoteState
-            {
-            ECaseIdle,
-            ECaseRunSent,
-            ECaseRunning,
-            ECasePauseSent,
-            ECasePaused,
-            ECaseResumeSent,
-            ECaseCancelSent,
-            ECaseCancelled,
-            ECaseCompleted,
-            };
-
-    private: // Enumerations
-
-    public: // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CRemoteTestCase* NewL( CTestCombiner* testCombiner,
-                                      TDesC& aTestId,
-                                      TInt aExpectedResult,
-                                      TFullTestResult::TCaseExecutionResult
-                                            aCategory );
-
-        /**
-        * Destructor.
-        */
-        ~CRemoteTestCase();
-
-    public: // New functions
-
-    public: // Functions from base classes
-
-    protected: // New functions
-
-    protected: // Functions from base classes
-
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CRemoteTestCase( CTestCombiner* testCombiner,
-                         TInt aExpectedResult,
-                         TFullTestResult::TCaseExecutionResult aCategory );
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL( TDesC& aTestId );
-
-    public:  // Data
-        // Remote slave state
-        TRemoteState    iRemoteState;
-
-        // Slave identifier
-        TUint32         iSlaveId;
-
-        // Free slave after completed
-        TBool           iFreeSlave;
-
-    protected: // Data
-
-    private: // Data
-
-    public: // Friend classes
-
-    protected: // Friend classes
-
-    private: // Friend classes
-
-    };
-
-// CLASS DECLARATION
-
-// DESCRIPTION
-// CRemoteSendReceive handles the running of an asynchronous 'sendreveive'
-// in TestCombiner.
-// Note: If want to improve sendreceive for allowing use like 'run'
-// then this must inherit from CActive
-NONSHARABLE_CLASS(CRemoteSendReceive) :public CBase
-    {
-    public: // Enumerations
-
-    public: // Enumerations
-        enum TRemoteState
-            {
-            ECaseSend,
-            ECaseCompleted,
-            };
-
-    private: // Enumerations
-
-    public: // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CRemoteSendReceive* NewL( CTestCombiner* aTestCombiner );
-
-        /**
-        * Destructor.
-        */
-        ~CRemoteSendReceive();
-
-    public: // Constructors and destructor
-
-    public: // New functions
-
-
-    public: // Functions from base classes
-
-    protected:  // New functions
-
-    protected: // Functions from base classes
-
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CRemoteSendReceive( CTestCombiner* aTestCombiner );
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    public:  // Data
-
-       // Remote slave state
-        TRemoteState    iRemoteState;
-
-        // Slave identifier
-        TUint32         iSlaveId;
-
-    protected: // Data
-
-    private: // Data
-
-        // Backpointer
-        CTestCombiner*      iTestCombiner;
-
-    public: // Friend classes
-
-    protected: // Friend classes
-
-    private: // Friend classes
-
-    };
-
-// CLASS DECLARATION
-
-
-// DESCRIPTION
-// TTCTestModule encapsulates information about loaded test module.
-
-NONSHARABLE_CLASS(CTCTestModule)
-    :public CBase
-    {
-    public: // Enumerations
-
-    private: // Enumerations
-
-    public: // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        */
-        static CTCTestModule* NewL( CTestCombiner* testCombiner,
-                                    TDesC& aModule,
-                                    TDesC& aIni,
-                                    const TDesC& aConfigFile );
-
-        /**
-        * Destructor.
-        */
-        ~CTCTestModule();
-
-    public: // Constructors and destructor
-
-    public: // New functions
-         /**
-         * Get module name.
-         */
-         const TDesC& ModuleName(){ return *iModuleName; }
-
-         /**
-         * Get module inifile name.
-         */
-         const TDesC& IniFile(){ return *iIniFile; }
-
-         /**
-        * Get reference to RTestServer.
-        */
-        RTestServer& TestServer(){ return iTestServer; }
-
-        /**
-        * Get reference to RTestModule.
-        */
-        RTestModule& TestModule(){ return iTestModule; }
-
-        /**
-        * Get test cases from module.
-        */
-        void GetTestCasesForCombiner(const TDesC& aConfigFile);
-
-        /**
-        * Get index of given test case.
-        */
-        TInt GetCaseNumByTitle(TDesC& aTitle, TInt& aCaseNum);
-
-    public: // Functions from base classes
-
-    protected:  // New functions
-
-    protected: // Functions from base classes
-
-    private:
-        /**
-        * C++ default constructor.
-        */
-        CTCTestModule( CTestCombiner* testCombiner );
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL( TDesC& aModule,
-                         TDesC& aIni,
-                         const TDesC& aConfigFile );
-
-    public:  // Data
-
-    protected: // Data
-
-    private: // Data
-        // Backpointer
-        CTestCombiner*      iTestCombiner;
-        
-        // Module name
-        HBufC*              iModuleName;
-        // Module initialization file
-        HBufC*              iIniFile;
-
-        // Handle to test server
-        RTestServer         iTestServer;
-        // Handle to module 
-        RTestModule         iTestModule;
-        
-        // Error notifier
-        CTestErrorNotifier* iErrorPrinter;
-
-        // Array of test cases used to find test case number by title
-        CFixedFlatArray<TTestCaseInfo>* iTestCases;
-
-    public: // Friend classes
-
-    protected: // Friend classes
-
-    private: // Friend classes
-
-    };
-    
-#endif        // TESTCASE_H  
-
-// End of File