diff -r 6edeef394eb7 -r 9397a16b6eb8 testexecmdw/tef/tef/utils/inc/testexecutestepbase.h --- a/testexecmdw/tef/tef/utils/inc/testexecutestepbase.h Fri Sep 03 07:55:01 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,206 +0,0 @@ -/* -* Copyright (c) 2005-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 contains CTestStep which is the base class for all test steps. -* -*/ - - - -/** - @file TestExecuteStepBase.h -*/ -#if (!defined __TESTEXECUTE_STEP_BASE_H__) -#define __TESTEXECUTE_STEP_BASE_H__ - -#include -#include -#include -#include -#include -#include -#include - -class CTestStep : public CBase -/** -@publishedPartner -@test -*/ - { -public: - // Destructor - IMPORT_C virtual ~CTestStep(); - - // Get methods to read values from the ini file - IMPORT_C TBool GetBoolFromConfig(const TDesC& aSectName,const TDesC& aKeyName,TBool& aResult); - IMPORT_C TBool GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult); - IMPORT_C TBool GetStringFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult); - - // Set a user-friendly test step name referred for a test step object from the script file - IMPORT_C void SetTestStepName(const TDesC& aStepName); - - IMPORT_C TBool GetHexFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult); - - // Set the actual test step error obtained to execution of test step to compare the expected error with the actual - IMPORT_C void SetTestStepError(const TInt& aErrorCode); - - // Write methods to write values into ini file - IMPORT_C TBool WriteIntToConfig(const TDesC& aSectName, const TDesC& aKeyName, const TInt& aValue); - IMPORT_C TBool WriteStringToConfig(const TDesC& aSectName, const TDesC& aKeyName, const TPtrC& aValue); - IMPORT_C TBool WriteBoolToConfig(const TDesC& aSectName, const TDesC& aKeyName, const TBool& aValue); - IMPORT_C TBool WriteHexToConfig(const TDesC& aSectName, const TDesC& aKeyName, const TInt& aValue); - - //Updates the data to the shared data name passed either in Copy Mode/Append Mode - IMPORT_C void WriteSharedDataL(const TDesC& aShareName, TDesC& aSharedDataVal, TModeCopy aModeCopy = ESetText); - //Reads the data from the specified shared data object - IMPORT_C void ReadSharedDataL(const TDesC& aShareName, TDes& aSharedDataVal); - - // Initialise the test step during cnstruction - void InitialiseL(const TDesC& aStepArgs, const TDesC& aServerName, TBool& aSharedDataMode); - - // Initialises logger instance for the test step - void SetLoggerL(); - - // Closes the logger instance for the test step - void CloseLogger(); - - // Returns the section name specified in the script file for the current test step execution - inline TDes& ConfigSection() {return iSection;}; - - // Set the result of test step execution to one of the TVerdict enum codes - inline void SetTestStepResult(TVerdict aVerdict) {iTestStepResult = aVerdict;}; - - // Returns the test step result at any point during execution of test step - inline TVerdict TestStepResult() const {return iTestStepResult;}; - - // Logger interface used for constructing result strings to be fed for the logger instance - inline CTestExecuteLogger& Logger() {return *iLogger;}; - - // Returns the user-friendly test step name - inline const TDesC& TestStepName() const {return iTestStepName;}; - - // Returns any error code set during the test step execution - inline const TInt& TestStepError() const {return iTestStepError;}; - - // Returns the boolean true of !OOM option is set from the script file, false otherwise - inline TBool& ShouldRunOOMTest() {return iOOMRequestStatus;}; - - // Returns true if test server is loaded using -SharedData mode from the script file - inline TBool& IsSharedDataMode() {return iSharedDataMode;}; - - // Returns the loop index of the current loop if the test runs within a START_REPEAT/EN_REPEAT block - // Returns -1 if test is not within a loop - inline TInt GetLoopIndex() {return iLoopIndex;}; - - // Returns the setup value set using !Setup TEF parameter within the script file - // Returns a value 0 if !Setup TEF parameter is not used - inline TInt GetSetupState() {return iSetupParamValue;}; - - // Returns the drive name from which the current script file is executed - inline TDriveName ScriptDriveName() { return iScriptDriveName;}; - - // Returns reference to the iEnableIniAccessLog bool which can be used by tests to switch off ini access logging on the run - inline TBool& IniAccessLog() { return iEnableIniAccessLog; }; - - // Returns the default system drive letter provided by call to RFs::GetSystemDrive() - inline TDriveName GetSystemDrive() { return iSystemDriveForTest; }; - - // Test Step virtuals - Test Implementation methods - IMPORT_C virtual enum TVerdict doTestStepL() = 0; - IMPORT_C virtual enum TVerdict doTestStepPreambleL(); - IMPORT_C virtual enum TVerdict doTestStepPostambleL(); - - // Setting simulated OOM and testing whether the code under test reached the simulated failure - IMPORT_C virtual void SetHeapFailNext(TInt aFailureIndex); - IMPORT_C virtual void ResetHeapFailNext(); - IMPORT_C virtual TBool CheckForHeapFailNext(); - - // LEGACY methods - IMPORT_C void testBooleanTrue(TBool aCondition, const TText8* aFile, TInt aLine); - IMPORT_C void testBooleanTrue(TBool aCondition, const TText8* aFile, TInt aLine, TBool IgnoreStepResult); - IMPORT_C void testBooleanTrueL(TBool aCondition, const TText8* aFile, TInt aLine); - IMPORT_C void testBooleanTrueL(TBool aCondition, const TText8* aFile, TInt aLine, TBool IgnoreStepResult); - IMPORT_C void testBooleanTrueWithErrorCode(TBool aCondition, TInt aErrorCode, const TText8* aFile, TInt aLine ); - IMPORT_C void testBooleanTrueWithErrorCode(TBool aCondition, TInt aErrorCode, const TText8* aFile, TInt aLine, TBool IgnoreStepResult); - IMPORT_C void testBooleanTrueWithErrorCodeL(TBool aCondition, TInt aErrorCode, - const TText8* aFile, TInt aLine ); - IMPORT_C void testBooleanTrueWithErrorCodeL(TBool aCondition, TInt aErrorCode, - const TText8* aFile, TInt aLine, TBool IgnoreStepResult ); - IMPORT_C void TestCheckPointCompareL(TInt aVal, TInt aExpectedVal, const TDesC& aText, const TText8* aFile, TInt aLine); - - // Retrieve the server name - IMPORT_C const TDesC& GetServerName() const; - - // Retrieve the test case name/id - IMPORT_C TBool TestCaseName(TDes& aTestCaseName); - -protected: - IMPORT_C CTestStep(); -public: - IMPORT_C TBool GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt64& aResult); - IMPORT_C TBool WriteIntToConfig(const TDesC& aSectName, const TDesC& aKeyName, const TInt64& aValue); -private: - void LoadConfigFileL(const TDesC& aFilePath); -private: - CTestExecuteLogger* iLogger; - TVerdict iTestStepResult; - TBuf iSection; - CIniData* iConfigData; - TBuf iTestStepName; // Name of the test step - TBuf iServerName; // Name of the test server - TInt iTestStepError; // Expected Test step Error - HBufC* iIniFileName; // Name of the inifile to be use for logging. - TBool iOOMRequestStatus; // Status of OOM request from user - TBool iEnableIniAccessLog;// Testexecute.ini entry for logging INI access - TBool iSharedDataMode; // Flag representing -SharedData server mode - TInt iSetupParamValue; // TEFParameter !Setup value set in the script - TInt iLoopIndex; // Loop index of the current loop if test runs within a START_REPEAT - TBuf iTestCaseID; // Name/ID of the test case in which the current test step executes - TDriveName iScriptDriveName; // Drive name from where the script file is executed - TDriveName iSystemDrive; // Default System Drive name - TDriveName iSystemDriveForTest;// System Drive name for Test artifacts - - // Use this buffer when allocating additional memory for the class in future - // To avoid breaks with other depdenant comps - TBuf iReserved4Future1; - TBuf iReserved4Future2; - TBuf iReserved4Future3; - TBuf iReserved4Future4; - }; - -// LEGACY -// Autotest macros mapped to CTestStep functions - -// Check a boolean is true -#define TESTL(a) testBooleanTrueL((a), (TText8*)__FILE__, __LINE__) -#define TEST(a) testBooleanTrue((a), (TText8*)__FILE__, __LINE__) - -// Versions that will always log irrespective of testcase pass -#define TEST1L(a, b) testBooleanTrueL((a), (TText8*)__FILE__, __LINE__, (b) ) -#define TEST1(a, b) testBooleanTrue((a), (TText8*)__FILE__, __LINE__, (b) ) - -// Check a boolean is true if not return error code b -#define TESTE(a, b) testBooleanTrueWithErrorCode((a), (b), (TText8*)__FILE__, __LINE__) -#define TESTEL(a, b) testBooleanTrueWithErrorCodeL((a), (b), (TText8*)__FILE__, __LINE__) - -// Versions that will always log irrespective of testcase pass -#define TESTE1(a, b, c) testBooleanTrueWithErrorCode((a), (b), (TText8*)__FILE__, __LINE__, (c) ) -#define TESTE1L(a, b, c) testBooleanTrueWithErrorCodeL((a), (b), (TText8*)__FILE__, __LINE__, (c) ) - -#define TEST_CHECKL(p1, p2, p3) TestCheckPointCompareL((p1), (p2), (p3), (TText8*)__FILE__, __LINE__) -// Leave error code -#define TEST_ERROR_CODE 84 - - -#endif