--- a/stif/StifTFwIf/src/UIEngine.cpp Tue Jul 06 16:05:13 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1310 +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: CUIEngine: This object executes test cases from
-* STIF Test Framework.
-*
-*/
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <e32svr.h>
-#include <collate.h>
-#include "UIEngineEvent.h"
-#include <stifinternal/UIEngineContainer.h>
-#include "UIEngineError.h"
-#include <stifinternal/UIEngine.h>
-#include "Logging.h"
-
-// EXTERNAL DATA STRUCTURES
-// None
-
-// EXTERNAL FUNCTION PROTOTYPES
-// None
-
-// CONSTANTS
-_LIT( KUIEngine, "CUIEngine" );
-
-// MACROS
-#ifdef LOGGER
-#undef LOGGER
-#endif
-#define LOGGER iLogger
-
-// LOCAL CONSTANTS AND MACROS
-// None
-
-// MODULE DATA STRUCTURES
-// None
-
-// LOCAL FUNCTION PROTOTYPES
-// None
-
-// FORWARD DECLARATIONS
-// None
-
-// ==================== LOCAL FUNCTIONS =======================================
-
-// ================= MEMBER FUNCTIONS =========================================
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: CUIEngine
-
- Description: Default constructor
-
- C++ default constructor can NOT contain any code, that
- might leave.
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CUIEngine::CUIEngine( CUIIf* aUi ):
- iUi( aUi )
- {
-
- __RDEBUG( _L( "CUIEngine::CUIEngine()" ) );
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: ConstructL
-
- Description: Symbian OS second phase constructor
-
- Symbian OS default constructor can leave.
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: Leaves if called Open method returns error
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CUIEngine::ConstructL()
- {
- // Logger's setting definitions
- TLoggerSettings loggerSettings;
- loggerSettings.iCreateLogDirectories = EFalse;
- loggerSettings.iOverwrite = ETrue;
- loggerSettings.iTimeStamp = ETrue;
- loggerSettings.iLineBreak = ETrue;
- loggerSettings.iEventRanking = EFalse;
- loggerSettings.iThreadId = EFalse;
- loggerSettings.iHardwareFormat = CStifLogger::ETxt;
- loggerSettings.iHardwareOutput = CStifLogger::EFile;
- loggerSettings.iEmulatorFormat = CStifLogger::ETxt;
- loggerSettings.iEmulatorOutput = CStifLogger::EFile;
- loggerSettings.iUnicode = EFalse;
- loggerSettings.iAddTestCaseTitle = EFalse;
-
- // Create Logger, Note: Use protected NewL because initialization file not
- // readed yet.
- iLogger = CStifLogger::NewL( KUiLogDir, KUiLogFile, loggerSettings );
-
- // Initialize logger
- iUi->InitializeLogger( iLogger );
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: NewL
-
- Description: Two-phased constructor.
-
- Parameters: None
-
- Return Values: CUIEngine* : Pointer to created UI engine object
-
- Errors/Exceptions: Leaves if memory allocation for CUIEngine fails
- Leaves if ConstructL leaves
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CUIEngine* CUIEngine::NewL( CUIIf* aUi )
- {
-
- CUIEngine* self =
- new ( ELeave ) CUIEngine( aUi );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
-
- }
-
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: ~CUIEngine
-
- Description: Destructor
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CUIEngine::~CUIEngine()
- {
-
- __RDEBUG( _L( "CUIEngine::~CUIEngine()" ) );
-
- // Delete all containers, cannot use ResetAndDestroy,
- // because destructor is private
- TInt count = iContainerArray.Count();
- for( TInt i=0; i< count; i++ )
- {
- delete iContainerArray[i];
- }
- iContainerArray.Reset();
- iContainerArray.Close();
-
- delete iLogger;
- iLogger = NULL;
-
- delete iError;
- iError = 0;
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: VUIEngine
-
- Method: Open
-
- Description: Open test engine.
-
- Parameters: TDesC& aTestFrameworkIni: in: Initialization file to Test Framework
-
- Return Values: Symbian OS error: Error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::Open( const TDesC& aTestFrameworkIni )
- {
-
- if( ( iTestEngine.SubSessionHandle() != 0 ) ||
- ( iTestEngineServ.Handle() != 0 ) )
- {
- __TRACE( KError, ( CStifLogger::EError, _L( "CUIEngine::Open() Already open" ) ) );
- return KErrInUse;
- }
-
- // Check aTestFrameworkIni max length
- if( aTestFrameworkIni.Length() > KMaxFileName )
- {
- __TRACE( KPrint, ( CStifLogger::EError, _L( "CUIEngine::Open() method's parameter length is incorrect" ) ) );
- return KErrArgument;
- }
-
- // Create Test Engine
- TInt ret = iTestEngineServ.Connect();
-
- if ( ret != KErrNone )
- {
- __TRACE( KPrint, ( _L( "CUIEngine::Open. Engine server open failed: ret = %d"), ret ) );
-
- return ret;
- }
-
- ret = iTestEngine.Open( iTestEngineServ, aTestFrameworkIni );
-
- if ( ret != KErrNone )
- {
- __TRACE( KPrint, ( _L( "CUIEngine::Open. Engine. Open failed: ret = %d"), ret ) );
-
- return ret;
- }
-
- TErrorNotification error;
- if( ErrorPrint( error ) != KErrNotSupported )
- {
- // Start printer
- iError = CUIEngineErrorPrinter::NewL( this );
- iError->StartL( iTestEngine );
- }
-
- return ret;
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: Close
-
- Description: Close test engine.
-
- Parameters: None
-
- Return Values: TInt KErrNone: Always returned KErrNone
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::Close()
- {
-
- delete iError;
- iError = 0;
-
- // Delete all containers, cannot use ResetAndDestroy,
- // because destructor is private
- TInt count = iContainerArray.Count();
- for( TInt i=0; i< count; i++ )
- {
- delete iContainerArray[i];
- iContainerArray[i] = NULL;
- }
- iContainerArray.Reset();
-
- iTestEngine.Close();
- iTestEngineServ.Close();
-
- __TRACE( KPrint, ( _L( "CUIEngine::Close." ) ) );
-
- return KErrNone;
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: AddTestModule
-
- Description: Add test module to module list of test engine
-
- Parameters: TDesC& aModuleName: in: Testmodule, which is added to module list
- TDesC& aIniFile: in: Initialization file to the test module
-
- Return Values: Symbian OS error: Error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::AddTestModule( const TDesC& aModuleName,
- const TDesC& aIniFile )
- {
- // Check aModuleName max length
- if( aModuleName.Length() > KMaxName )
- {
- __TRACE( KPrint, ( CStifLogger::EError, _L( "CUIEngine::AddTestModule() method's first parameter length is incorrect" ) ) );
- return KErrArgument;
- }
- // Check aIniFile max length
- if( aIniFile.Length() > KMaxFileName )
- {
- __TRACE( KPrint, ( CStifLogger::EError, _L( "CUIEngine::AddTestModule() method's second parameter length is incorrect" ) ) );
- return KErrArgument;
- }
-
-
- TInt ret = iTestEngine.AddTestModule( aModuleName, aIniFile );
-
- if ( ret != KErrNone && ret != KErrAlreadyExists )
- {
- __TRACE( KPrint, ( _L( "CUIEngine::AddTestModule. Add module failed: ret = %d" ), ret ) );
-
- return ret;
- }
-
- return KErrNone;
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: RemoveTestModule
-
- Description: Remove test module from test engine
-
- Parameters: TDesC& aModuleName: in: Testmodule, which is removed of module list
-
- Return Values: Symbian OS error: Error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::RemoveTestModule( const TDesC& aModuleName )
- {
- // Remove test module of module list of test engine
- TInt ret = iTestEngine.RemoveTestModule( aModuleName );
-
- if ( ret != KErrNone )
- {
- __TRACE( KPrint, ( _L( "CUIEngine::RemoveTestModule. Remove module failed: ret = %d"), ret ) );
-
- return ret;
- }
-
- return ret;
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: AddTestCaseFile
-
- Description: Add test case file to test case file list of test engine
-
- Parameters: TDesC& aModuleName: in: Testmodule, which own test cases of test case list.
- TDesC& aCaseFile: in: Test case list, which is added to test case list
-
- Return Values: Symbian OS error: Error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::AddTestCaseFile( const TDesC& aModuleName,
- const TDesC& aCaseFile )
- {
- // Check aModuleName max length
- if( aModuleName.Length() > KMaxName )
- {
- __TRACE( KPrint, ( CStifLogger::EError, _L( "CUIEngine::AddTestCaseFile() method's first parameter length is incorrect" ) ) );
- return KErrArgument;
- }
- // Check aCaseFile max length
- if( aCaseFile.Length() > KMaxFileName )
- {
- __TRACE( KPrint, ( CStifLogger::EError, _L( "CUIEngine::AddTestCaseFile() method's second parameter length is incorrect" ) ) );
- return KErrArgument;
- }
-
- TInt ret( KErrNone );
-
- // Add given test case file to test module
- if ( aCaseFile.Length() == 0 )
- {
- ret = KErrArgument;
- __TRACE( KPrint, ( _L( "CUIEngine::AddTestCaseFile. Test case file not defined: ret = %d"), ret ) );
- }
- else
- {
- // Add test case file to test case file list of test engine
- ret = iTestEngine.AddConfigFile( aModuleName, aCaseFile );
-
- if ( ret != KErrNone && ret != KErrAlreadyExists )
- {
- __TRACE( KPrint, ( _L( "CUIEngine::AddTestCaseFile. Add test case file failed: ret = %d"), ret ) );
- }
- }
-
- return ret;
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: RemoveTestCaseFile
-
- Description: Remove test case file of test case file list of test engine
-
- Parameters: TDesC& aModuleName: in: Testmodule, which own test cases of test case list
- TDesC& aCaseFile: in: Test case list, which is removed of test case list
-
- Return Values: Symbian OS error: Error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::RemoveTestCaseFile( const TDesC& aModuleName,
- const TDesC& aCaseFile )
- {
-
- TInt ret( KErrNone );
-
- // Remove given test case file from test module
- if ( aCaseFile.Length() == 0 )
- {
- ret = KErrArgument;
- __TRACE( KPrint, ( _L( "CUIEngine::RemoveTestCaseFile. Test case file not defined: ret = %d"), ret ) );
- }
- else
- {
- // Remove test case file
- ret = iTestEngine.RemoveConfigFile( aModuleName, aCaseFile );
-
- if ( ret != KErrNone )
- {
- __TRACE( KPrint, ( _L( "CUIEngine::RemoveTestCaseFile. Remove test case file failed: ret = %d"), ret ) );
- }
- }
-
- return ret;
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: GetTestCases
-
- Description: Get test cases of enumerated list of test engine. Method is copied
- list of test cases to aTestCaseInfo. Copied tests are test cases
- of test module (aTestModule) and defined
- in test case file (aTestCaseFile), which are given as argument
-
- Method copied all enumerated test cases if aTestModule
- and aTestCaseFile are not defined
-
- Parameters: RPointerArray<CTestInfo>& aTestCaseInfo: inout: List of test cases
- TDesC& aModuleName: in: Testmodule, which own test cases of test case list
- TDesC& aTestCaseFile: in: Test case list, which is got of test case list
-
- Return Values: Symbian OS error: Error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::GetTestCasesL( RPointerArray<CTestInfo>& aTestCaseInfo,
- const TDesC& aTestModule,
- const TDesC& aTestCaseFile )
- {
- __TRACE( KPrint, ( _L( "GetTestCasesL()") ) );
-
- TInt ret(KErrNone);
- TInt count(0);
-
- // Enumerate test cases
- TCaseCount caseCount;
-
- TRequestStatus status;
- iTestEngine.EnumerateTestCases( caseCount, status );
- User::WaitForRequest( status );
- ret = status.Int();
-
- // Check that enumerate succeeded
- if ( ret != KErrNone )
- {
- __TRACE( KPrint, ( _L( "CUIEngine::GetTestCases. Test case enumerate failed: ret = %d"), ret ) );
- TErrorNotification error;
- error.iText = _L("Can't get test cases");
- iUi->ErrorPrint ( error );
- return ret;
- }
-
- CFixedFlatArray<TTestInfo>* testCases = NULL;
-
- // Create test cases to buffer
- TRAPD( err, testCases = CFixedFlatArray<TTestInfo>::NewL( caseCount() ) );
- if( err != KErrNone )
- {
- if( err == KErrNoMemory )
- {
- _LIT( KNotEnoughHeapMemory,
- "Not enough heap memory available. Either reduce the test case count or increase UI's heap size in mmp file using EPOCHEAPSIZE.");
- RDebug::Print( KNotEnoughHeapMemory );
- __TRACE( KError, ( KNotEnoughHeapMemory ) );
- }
- else
- {
- _LIT( KGeneralError,
- "CUIEngine::GetTestCasesL: CFixedFlatArray<TTestInfo>::NewL fails with value: %d");
- RDebug::Print( KGeneralError, err );
- __TRACE( KError, ( KGeneralError, err ) );
- }
- User::Leave( err );
- }
-
- CleanupStack::PushL( testCases );
-
- // Get test cases from Engine.
- ret = iTestEngine.GetTestCases( *testCases );
-
- if ( ret != KErrNone )
- {
- __TRACE( KPrint, ( _L( "CUIEngine::GetTestCases. Get test cases failed: ret = %d"), ret ) );
-
- CleanupStack::PopAndDestroy( testCases );
- return ret;
- }
-
- // count of test cases.
- count = caseCount();
-
- __TRACE( KPrint, ( _L( "Test case count: %d"), count ) );
-
- HBufC* moduleNameBuf = aTestModule.AllocLC();
- TPtr moduleName( moduleNameBuf->Des() );
- TCollationMethod method =
- *Mem::CollationMethodByIndex(0); // get the standard method
- method.iFlags |= TCollationMethod::EFoldCase; // ignore case
-
- moduleName.LowerCase();
-
- // Remove optional '.DLL' from test module file name
- TParse parse;
- parse.Set( moduleName, NULL, NULL );
-
- if( !parse.Ext().CompareC( _L(".dll"), 3, &method ) )
- {
- const TInt len = parse.Ext().Length();
- moduleName.Delete ( moduleName.Length()-len, len );
- }
-
- TBool found = EFalse;
- // Update iTestCaseTable.
- for (TInt j=0;j<count;j++, found = EFalse)
- {
- // Check, if module defined.
- if ( aTestModule.Length() > 0 )
- {
- // Check, if test case defined.
- if ( aTestCaseFile.Length() > 0)
- {
- if( moduleName == KTestScripterName )
- {
- if( !( *testCases )[j].iConfig.CompareC( aTestCaseFile, 3, &method ) )
- {
- found = ETrue;
- }
- }
- if( !( *testCases )[j].iModuleName.CompareC( moduleName, 3, &method )
- && !( *testCases )[j].iConfig.CompareC( aTestCaseFile, 3, &method ) )
- {
- found = ETrue;
- }
- }
- else
- {
- if( moduleName == KTestScripterName )
- {
- // Test Module is TestScripter
- if( ( *testCases )[j].iModuleName.Find( KTestScripterName ) != KErrNotFound )
- {
- // iModuleName name is in 'testscripter_testcasefile'
- // format => Find()
- found = ETrue;
- }
- }
- if( !( *testCases )[j].iModuleName.CompareC(
- moduleName, 3, &method ) )
- {
- found = ETrue;
- }
- }
- }
- else
- {
- found = ETrue;
- }
-
- if( found )
- {
- // Create tmpTestInfo.
- CTestInfo *tmpTestInfo = CTestInfo::NewL();
-
- CleanupStack::PushL( tmpTestInfo );
-
- // Copy TTestInfo to CTestInfo.
- tmpTestInfo->SetModuleName( ( *testCases )[j].iModuleName );
- tmpTestInfo->SetTestCaseTitle( ( *testCases )[j].iTestCaseInfo.iTitle );
- tmpTestInfo->SetTestCaseNumber( ( *testCases )[j].iTestCaseInfo.iCaseNumber );
- tmpTestInfo->SetPriority( ( *testCases )[j].iTestCaseInfo.iPriority );
- tmpTestInfo->SetTimeout( ( *testCases )[j].iTestCaseInfo.iTimeout );
- tmpTestInfo->SetTestCaseFile( ( *testCases )[j].iConfig );
- ret = aTestCaseInfo.Append(tmpTestInfo);
- if( ret != KErrNone )
- {
- CleanupStack::PopAndDestroy( tmpTestInfo );
- }
- else
- {
- CleanupStack::Pop( tmpTestInfo );
- }
- }
- }
-
- CleanupStack::PopAndDestroy( moduleNameBuf );
-
- CleanupStack::PopAndDestroy( testCases );
-
- return ret;
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: StartTestCase
-
- Description: Start test case execution.
-
- Parameters: TInt& aTestId: in: ID for test case. Test ID given of address of
- current UIEngineContainer.
-
- const CTestInfo& aTestInfo: in: Test case information
-
- Return Values: Symbian OS error: Error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::StartTestCase( CUIEngineContainer*& aContainer,
- const CTestInfo& aTestInfo )
- {
- TInt ret( KErrNone );
-
- // Copy CTestInfo to TTestInfo.
- TTestInfo testCase;
- testCase.iModuleName = aTestInfo.ModuleName();
- testCase.iTestCaseInfo.iTitle = aTestInfo.TestCaseTitle();
- testCase.iTestCaseInfo.iCaseNumber = aTestInfo.TestCaseNum();
- testCase.iTestCaseInfo.iPriority = aTestInfo.Priority();
- testCase.iTestCaseInfo.iTimeout = aTestInfo.Timeout();
- testCase.iConfig = aTestInfo.TestCaseFile();
-
- CUIEngineContainer* container = NULL;
- TRAP( ret,
- // Create container.
- container =
- CUIEngineContainer::NewL( this, testCase, iTestEngineServ, iTestEngine );
- );
- if( ret != KErrNone )
- {
- return ret;
- }
-
- ret = iContainerArray.Append( container );
- if( ret != KErrNone )
- {
- __TRACE( KError, ( CStifLogger::EError,
- _L( "CUIEngine::StartTestCase() Append failed, cannot start test case" ) ) );
- delete container;
- return ret;
- }
-
- // Call Container to starting test case execution.
- TRAPD( trapError,
- // Call Container to starting test case execution.
- ret = container->StartContainerL();
- );
-
- if(trapError != KErrNone)
- {
- __TRACE( KPrint, ( _L( "CUIEngine::StartTestCase. Test case starting failed: trapError = %d"), ret ) );
- delete container;
- return trapError;
- }
-
- aContainer = container;
-
- return ret;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: AbortStartedTestCase
-
- Description: Abort started test case execution.
-
- Parameters: CUIEngineContainer* aContainer: in: Container running testcase
-
- Return Values: Symbian OS error: Error code
-
- Errors/Exceptions: Panics if test case is not found or is already executed
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CUIEngine::AbortStartedTestCase( CUIEngineContainer* aContainer )
- {
-
- // Locate container from array
- TInt index = iContainerArray.Find( aContainer );
-
- if( ( index < 0) ||
- ( aContainer->State() == CUIEngineContainer::EExecuted ) )
- {
- __TRACE( KError, ( CStifLogger::EError,
- _L( "CUIEngine::AbortStartedTestCase() Testcase executed" ) ) );
- User::Panic( KUIEngine, KErrAccessDenied );
- }
-
- // Remove and delete container
- iContainerArray.Remove( index );
- delete aContainer;
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: TestExecuted
-
- Description:
-
- Parameters: CUIEngineContainer* aUIEngineContainer: Address of current
- CUIEngineContainer is test case ID.
-
- TFullTestResult& aFullTestResult: in: Test result of executed test case
-
- Return Values: TInt KErrNone: Always returned KErrNone
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CUIEngine::TestExecuted( CUIEngineContainer* aContainer,
- TFullTestResult& aFullTestResult )
- {
- // Locate container from array
- TInt index = iContainerArray.Find( aContainer );
-
- if( index < 0 )
- {
- __TRACE( KError, ( CStifLogger::EError,
- _L( "CUIEngine::TestExecuted() Testcase not found" ) ) );
- User::Panic( KUIEngine, KErrNotFound );
- }
-
- iUi->TestExecuted( aContainer, aFullTestResult );
-
- // Remove and delete container.
- // It is safe to do here,
- // because container and runner does not have any code after
- // this function returns.
- iContainerArray.Remove( index );
- delete aContainer;
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: PrintProg
-
- Description:
-
- Parameters: CUIEngineContainer* aContainer: in: Address of current
- CUIEngineContainer is test case ID
-
- TTestProgress& aProgress: in: Progress information from test case
-
- Return Values: SymbianOS error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::PrintProg( CUIEngineContainer* aContainer,
- TTestProgress& aProgress )
- {
-
- return iUi->PrintProg( aContainer, aProgress );
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: ErrorPrint
-
- Description:
-
- Parameters: TErrorNotification& aError: in: Error information from framework
-
- Return Values: SymbianOS error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::ErrorPrint( TErrorNotification& aError )
- {
-
- return iUi->ErrorPrint( aError );
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: RemoteMsg
-
- Description: Forward Ats send.
-
- Parameters: const TDesC& aMessage: in: message
-
- Return Values: SymbianOS error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::RemoteMsg( CUIEngineContainer* aContainer,
- const TDesC& aMessage )
- {
-
- return iUi->RemoteMsg( aContainer, aMessage );
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CUIEngine
-
- Method: GoingToReboot
-
- Description: Forward reboot indication.
-
- Parameters: None
-
- Return Values: SymbianOS error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CUIEngine::GoingToReboot( CUIEngineContainer* aContainer,
- TRequestStatus& aStatus )
- {
-
- return iUi->GoingToReboot( aContainer, aStatus );
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- DESCRIPTION
-
- CTestInfo: This object contains test case information.
-
--------------------------------------------------------------------------------
-*/
-
-// ================= MEMBER FUNCTIONS =========================================
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestInfo
-
- Method: NewL
-
- Description:
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-EXPORT_C CTestInfo* CTestInfo::NewL()
- {
-
- //RDebug::Print(_L("CTestInfo::NewL()"));
- CTestInfo* self =
- new ( ELeave ) CTestInfo();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestInfo
-
- Method: CTestInfo
-
- Description: Default constructor
-
- C++ default constructor can NOT contain any code, that
- might leave.
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CTestInfo::CTestInfo()
- {
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestInfo
-
- Method: ConstructL
-
- Description: Symbian OS second phase constructor
-
- Symbian OS default constructor can leave.
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: Leaves if called Open method returns error
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CTestInfo::ConstructL()
- {
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestInfo
-
- Method: ~CTestInfo
-
- Description: Destructor
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CTestInfo::~CTestInfo()
- {
-
- delete iModuleNameBuf;
- delete iTitleBuf;
- delete iTestCaseFileBuf;
- iModuleNameBuf = 0;
- iTitleBuf = 0;
- iTestCaseFileBuf = 0;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestInfo
-
- Method: SetModuleName
-
- Description: Set module name.
-
- Parameters: None
-
- Return Values: Symbian OS error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CTestInfo::SetModuleName ( const TDesC& aModuleName )
- {
-
- iModuleName.Set(0,0);
- delete iModuleNameBuf;
-
- if( aModuleName.Length() < KTestScripterNameLength )
- {
- iModuleNameBuf = aModuleName.Alloc();
- }
- else
- {
- // Check is TestScripter
- TPtrC check( aModuleName.Mid( 0, KTestScripterNameLength ) );
- TInt ret = check.Compare( KTestScripterName );
- if( ret == KErrNone )
- {
- iModuleNameBuf = ( aModuleName.Mid( 0, KTestScripterNameLength ) ).Alloc();
- }
- else
- {
- iModuleNameBuf = aModuleName.Alloc();
- }
- }
-
- if( iModuleNameBuf == NULL )
- {
- return KErrNoMemory;
- }
-
- iModuleName.Set( iModuleNameBuf->Des() );
-
- return KErrNone;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestInfo
-
- Method: SetTestCaseTitle
-
- Description: Set module name.
-
- Parameters: None
-
- Return Values: Symbian OS error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CTestInfo::SetTestCaseTitle ( const TDesC& aTitle )
- {
-
- iTitle.Set(0,0);
- delete iTitleBuf;
- iTitleBuf = aTitle.Alloc();
- if( iTitleBuf == NULL )
- {
- return KErrNoMemory;
- }
-
- iTitle.Set( iTitleBuf->Des() );
-
- return KErrNone;
-
- };
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestInfo
-
- Method: SetTestCaseFile
-
- Description: Set test case file name.
-
- Parameters: None
-
- Return Values: Symbian OS error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CTestInfo::SetTestCaseFile ( const TDesC& aTestCaseFile )
- {
- iTestCaseFile.Set(0,0);
- delete iTestCaseFileBuf;
- iTestCaseFileBuf = aTestCaseFile.Alloc();
- if( iTestCaseFileBuf == NULL )
- {
- return KErrNoMemory;
- }
-
- iTestCaseFile.Set( iTestCaseFileBuf->Des() );
-
- return KErrNone;
-
- };
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestInfo
-
- Method: CopyL
-
- Description: Copy existing CTestInfo.
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: Leaves on error
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CTestInfo::CopyL( const CTestInfo& aTestInfo )
- {
-
- User::LeaveIfError( SetModuleName( aTestInfo.ModuleName() ));
- User::LeaveIfError( SetTestCaseTitle( aTestInfo.TestCaseTitle() ));
- User::LeaveIfError( SetTestCaseFile( aTestInfo.TestCaseFile() ));
-
- iCaseNumber = aTestInfo.TestCaseNum();
- iPriority = aTestInfo.Priority();
- iTimeout = aTestInfo.Timeout();
- iExpectedResult = aTestInfo.ExpectedResult();
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CTestInfo
-
- Method: SetTestCaseFile
-
- Description: Set test case file name.
-
- Parameters: None
-
- Return Values: Symbian OS error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TBool CTestInfo::operator== ( const CTestInfo& aTestInfo ) const
- {
-
- if( ( aTestInfo.ModuleName() == ModuleName() ) &&
- ( aTestInfo.Priority() == Priority() ) &&
- ( aTestInfo.TestCaseFile() == TestCaseFile() ) &&
- ( aTestInfo.TestCaseNum() == TestCaseNum() ) &&
- ( aTestInfo.Timeout() == Timeout() ) )
- {
- return ETrue;
- }
-
-
- return EFalse;
-
- }
-
-// ================= OTHER EXPORTED FUNCTIONS =================================
-
-// End of File