diff -r 000000000000 -r 08ec8eefde2f traceservices/tracefw/ulogger/unit_test/te-client/testsetprimaryfltstep.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/traceservices/tracefw/ulogger/unit_test/te-client/testsetprimaryfltstep.cpp Fri Jan 22 11:06:30 2010 +0200 @@ -0,0 +1,177 @@ +// 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: +// Example CTestStep derived implementation +// +// + +/** + @file TestStartStep.cpp + @internalTechnology +*/ +#include "testsetprimaryfltstep.h" +#include "te_uloggerclientsuitedefs.h" + +CTestSetPrimaryFltStep::~CTestSetPrimaryFltStep() +/** + * Destructor + */ + { + } + +CTestSetPrimaryFltStep::CTestSetPrimaryFltStep() +/** + * Constructor + */ + { + // **MUST** call SetTestStepName in the constructor as the controlling + // framework uses the test step name immediately following construction to set + // up the step's unique logging ID. + SetTestStepName(KTestSetPrimaryFltStep); + } + +TVerdict CTestSetPrimaryFltStep::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class virtual + */ +{ + CTestUloggerClientApiStepBase::doTestStepPreambleL(); + return TestStepResult(); +} + +TVerdict CTestSetPrimaryFltStep::doTestStepL() +/** + * @return - TVerdict code + * Override of base class pure virtual + * Our implementation only gets called if the base class doTestStepPreambleL() did + * not leave. That being the case, the current test result value will be EPass. + */ +{ + CArrayFixFlat *setfilters = new (ELeave)CArrayFixFlat(10); + CArrayFixFlat *getfilters = new (ELeave)CArrayFixFlat(10); + + if (TestStepResult()==EPass) + { + setfilters->AppendL(KPrimaryFlt); + + /**************First set primary filter*************/ + + iSession->Connect(); + TInt iErrCode = iSession->SetPrimaryFiltersEnabled(*setfilters, ETrue); + + if( iErrCode == KErrNone ) + { + INFO_PRINTF2(_L("Primary filter has been set with single filter, %d, check log"), setfilters->At(0)); + + setfilters->Reset(); + + iSession->GetPrimaryFiltersEnabled(*setfilters); + + if( setfilters->Count() > 0 ) + { + if( setfilters->At(0) == KPrimaryFlt ) + { + INFO_PRINTF1(_L("Get primary filter successful")); + SetTestStepResult(EPass); + } + else + { + INFO_PRINTF1(_L("Get primary filter failed")); + SetTestStepResult(EFail);; + } + } + else + { + INFO_PRINTF1(_L("GetFilter() Failed, can not varify the test output")); + SetTestStepResult(EFail); + } + } + } + + if(TestStepResult() == EPass) + { + setfilters->Reset(); + getfilters->Reset(); + + for(TInt i = 0; i < 256 ; i++ ) + { + setfilters->AppendL((TUint8)(i)); + } + + TRAPD(err, iSession->SetPrimaryFiltersEnabled(*setfilters, ETrue)); + if( KErrNone == err ) + { + INFO_PRINTF1(_L("Primary filter has been set with multiple filters,from 0 to 255")); + SetTestStepResult(EPass); + } + else + { + INFO_PRINTF2(_L("Multiple primary filters have not been set succesfully, error code %d"), err); + SetTestStepResult(EFail); + } + + //Now get the primary filter set above + iSession->GetPrimaryFiltersEnabled(*getfilters); + + if( getfilters->Count() == setfilters->Count() ) + { + INFO_PRINTF1(_L("setfilter and getfilter have the same count")); + for(TInt i = 0; i < getfilters->Count(); i++) + { + for(TInt j = 0; j < setfilters->Count(); j++) + { + if(getfilters->At(i) == setfilters->At(j)) + SetTestStepResult(EPass); + else + SetTestStepResult(EFail); + } + } + } + else + { + INFO_PRINTF1(_L("setfilter and getfilter have different counts")); + INFO_PRINTF2(_L("setfilter has %d"), setfilters->Count()); + INFO_PRINTF2(_L("getfilter has %d"), getfilters->Count()); + SetTestStepResult(EFail); + } + } + + setfilters->Reset(); + getfilters->Reset(); + + if(setfilters) + { + delete setfilters; + setfilters=NULL; + } + + if(getfilters) + { + delete getfilters; + getfilters=NULL; + } + + return TestStepResult(); +} + +TVerdict CTestSetPrimaryFltStep::doTestStepPostambleL() +/** + * @return - TVerdict code + * Override of base class virtual + */ +{ + INFO_PRINTF1(_L("TestSetPrimaryFltStep completed")); + CTestUloggerClientApiStepBase::doTestStepPostambleL(); + return TestStepResult(); +}