diff -r 000000000000 -r af10295192d8 networkingtestandutils/networkingintegrationtest/inc/TestStep.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/networkingtestandutils/networkingintegrationtest/inc/TestStep.h Tue Jan 26 15:23:49 2010 +0200 @@ -0,0 +1,234 @@ +/** +* 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: +* This contains CTestCase which is the base class for all the Testcases +* +* +*/ + + + +/** + @file TestStep.h +*/ + +#if (!defined __TESTSTEP_H__) +#define __TESTSTEP_H__ + +#include "cinidata.h" +#include "networking/log.h" + +class CTestSuite; + +/** +Maximum length for test step name +@internalComponent +*/ +#define MAX_LEN_TEST_STEP_NAME 55 + +class CTestStep : public CBase +/** +CtestStep is an abstract base class for all test steps. Each test step +consists of a class derived from CTestStep, which implements doTestStepL. +Common test step functionality, which is required for a particular suite, +can be implemented using an intermediate class. +@internalComponent +*/ +{ +public: + + // Constructor + IMPORT_C CTestStep(const TDesC &aName); + IMPORT_C CTestStep(); + + /** destructor */ + IMPORT_C virtual ~CTestStep(); + + /** + Every test step must implement one of these. + This function contains the main code for a test step + and returns a test result. + */ + virtual enum TVerdict doTestStepL( void ) = 0; + + /** Tests may optionaly implement pre amble. */ + IMPORT_C virtual enum TVerdict doTestStepPreambleL( void ); + + /** Tests may optionaly implement post amble. */ + IMPORT_C virtual enum TVerdict doTestStepPostambleL( void ); + + /** the name of the test step */ + TBuf iTestStepName; + + /** Pointer to test suite which owns this test. */ + CTestSuite * iSuite; + + /** The current test step verdict. */ + TVerdict iTestStepResult; + + /** initialise the config parameter system. */ + IMPORT_C void LoadConfig( TDesC &config ); + + IMPORT_C void UnLoadConfig( void ); + + +protected: + + /** read bool value from the Config file functions */ + IMPORT_C TBool GetBoolFromConfig(const TDesC &aSectName,const TDesC &aKeyName,TBool &aResult); + + /** read int value from the Config file functions */ + IMPORT_C TBool GetIntFromConfig(const TDesC &aSectName,const TDesC &aKeyName,TInt &aResult); + + /** read string value from the Config file functions */ + IMPORT_C TBool GetStringFromConfig(const TDesC &aSectName,const TDesC &aKeyName,TPtrC &aResult); + + /** test function */ + IMPORT_C void testBooleanTrue( TBool aCondition, char* aFile, TInt aLine ); + + /** test function */ + IMPORT_C void testBooleanTrueL( TBool aCondition, char* aFile, TInt aLine ); + + /** test function */ + IMPORT_C void testBooleanTrueWithErrorCode( TBool aCondition, TInt errorCode , char* aFile, TInt aLine ); + + /** test function */ + IMPORT_C void testBooleanTrueWithErrorCodeL( TBool aCondition, TInt errorCode , char* aFile, TInt aLine ); + + /** test function */ + IMPORT_C void teste( TBool aCondition, TInt value2 ); + + /** test function */ + IMPORT_C void TestCheckPointCompareL(TInt aVal,TInt aExpectedVal, + const TDesC& aText, char* aFile,TInt aLine); + + /** printf format log */ + IMPORT_C void Log( TRefByValue format, ... ); + + /** printf format log */ + IMPORT_C void Log( TInt aSeverity, TRefByValue format, ... ); + + /** printf format log */ + IMPORT_C void LogExtra(const TText8* aFile, TInt aLine, TInt aSeverity, + TRefByValue aFmt,...); + + IMPORT_C TPtrC EpocErrorToText(TInt aError); + + /** Config file data. */ + CIniData * iConfigData; + + /** Print buffer used by ErrorToText. */ + TBuf <20> iPrnBuf; + +private: + /** True if ConfigData has been loaded. */ + TBool iConfigDataAvailable; +}; + +class MControlNotify +/** +@internalComponent +*/ +{ +public: + virtual TInt CallStateMachine() = 0; +}; + +class CActiveControl : public CActive +/** +@internalComponent +*/ +{ +public: + static CActiveControl* NewL(MControlNotify* aControl); + CActiveControl(MControlNotify* aControl); + ~CActiveControl(); + void ConstructL(); + virtual void RunL(); + virtual void DoCancel(); + IMPORT_C void ReStart(); + inline TRequestStatus* Status() {return &iStatus;} +private: + MControlNotify* iControl; +}; + +class CTestActiveStep : public CTestStep, public MControlNotify +/** +@internalComponent +*/ +{ +public: + // Constructor + IMPORT_C CTestActiveStep(const TDesC &aName); + IMPORT_C CTestActiveStep(); + + /** destructor */ + IMPORT_C virtual ~CTestActiveStep(); + + IMPORT_C virtual enum TVerdict doTestStepPreambleL( void ); + IMPORT_C virtual enum TVerdict doTestStepPostambleL( void ); + +protected: + CActiveControl* iControl; + TRequestStatus* iStatus; + +private: + CActiveScheduler* iScheduler; + +}; + + +/** +Checks the expression (a) is true, if not, +then displays error information, records a test verdict of fail and leaves. +@internalAll +*/ +#define TESTL(a) testBooleanTrueL((a), __FILE__, __LINE__) + +/** +Checks the expression (a) is true, if not, +then display error information and records a test verdict of fail. +@internalAll +*/ +#define TEST(a) testBooleanTrue((a), __FILE__, __LINE__) + +/** +Checks the expression (a) is true, if not, +then displays error code b, and records a fail verdict. +@internalAll +*/ +#define TESTE(a, b) testBooleanTrueWithErrorCode((a), (b), __FILE__, __LINE__) + +/** +Checks the expression (a) is true, if not, +then displays error code b, and records a fail verdict and leaves. +@internalAll +*/ +#define TESTEL(a, b) testBooleanTrueWithErrorCodeL((a), (b), __FILE__, __LINE__) + +/** +Check the value against an expected value. +If not record error and error code. +@internalComponent +*/ +#define TEST_CHECKL(p1, p2, p3) TestCheckPointCompareL((p1), (p2), (p3), __FILE__, __LINE__) + +/** +leave error code +@internalComponent +*/ +#define TEST_ERROR_CODE 84 + + +#endif /* __TESTSTEP_H__ */