diff -r 000000000000 -r 08ec8eefde2f traceservices/tracefw/ulogger/unit_test/te-server/uloggerservertest4step.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/traceservices/tracefw/ulogger/unit_test/te-server/uloggerservertest4step.cpp Fri Jan 22 11:06:30 2010 +0200 @@ -0,0 +1,221 @@ +// Copyright (c) 2007-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: +// + +/** + @file UloggerServerTest4Step.cpp + @internalTechnology +*/ + + +#include "uloggerservertest4step.h" +#include "te_uloggerservertestsuitedefs.h" +#include "uloggerwatcher.h" +#include "uloggerdatatypes.h" + +namespace Ulogger +{ + +CUloggerServerTest4Step::~CUloggerServerTest4Step() +/** + * Destructor + */ + { + + } + +CUloggerServerTest4Step::CUloggerServerTest4Step() +/** + * Constructor + */ + { + SetTestStepName(KUloggerServerTest4Step); + } + +TVerdict CUloggerServerTest4Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class virtual + */ + { + INFO_PRINTF1(_L("****This is unit test for CControlFramework class****")); + iScheduler = new (ELeave) CActiveScheduler(); + CActiveScheduler::Install(iScheduler); + + RPointerArray controlPluginSettings; + INFO_PRINTF1(_L("INFO: building plugin allocator with input plugin...")); + TRAPD(err, iPluginAllocator = CPluginAllocator::NewL(KFileTestPluginTest(), KUsbTestPluginTest())); + INFO_PRINTF1(_L("INFO: plugin allocator created")); + if(err == KErrNone) + { + MInputPlugin* inputPlugin = iPluginAllocator->GetInputPlugin(); + if(inputPlugin) + { + iCF = CInputFramework::NewL(inputPlugin, controlPluginSettings, this); + iMan = new CInputData(); + } + else + { + INFO_PRINTF1(_L("INFO: input pluigin not avaiable.")); + iCF = NULL; + iMan = NULL; + } + } + else + { + INFO_PRINTF1(_L("plugin allocator not fully created - skiping step.")); + iCF = NULL; + iMan = NULL; + } + + + SetTestStepResult(EPass); + return TestStepResult(); + } + + +TVerdict CUloggerServerTest4Step::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. + */ + { + iErrors = 0; + if (TestStepResult()==EPass) + { + if(iCF && iMan) + { + iErrors += Test1L(); //CControlFramework::StartReading + StopReading + iErrors += Test2L(); //CControlFramework:: testing functionality of passing and translating commands + + //display results + TBuf<128> res; + res.AppendFormat(_L("%d errors"), iErrors); + INFO_PRINTF1(_L("****Results****")); + INFO_PRINTF1(res); + if(iErrors == 0) + SetTestStepResult(EPass); + else + SetTestStepResult(EFail); + } + else + SetTestStepResult(EPass); + } + + return TestStepResult(); + } + + + +TVerdict CUloggerServerTest4Step::doTestStepPostambleL() +/** + * @return - TVerdict code + * Override of base class virtual + */ + { + if(iCF) + { + iCF->StopReading(); + delete iCF; + iCF = NULL; + } + delete iMan; + + delete iPluginAllocator; + iPluginAllocator = NULL; + + delete iScheduler; + iScheduler = NULL; + + return TestStepResult(); + } + + +ControlData* CUloggerServerTest4Step::ProcessCommandL(TCommand /*aOpCode*/, RArray &aArguments) + { + INFO_PRINTF1(_L("****Incominng parameters:****")); + for(TInt i=0; i b; + b.Copy(aArguments[i]); + INFO_PRINTF1(b); + } + + return iMan->CreatePackage((void*)"-5",2); + } + +void CUloggerServerTest4Step::DoPostProcessing(TCommand /*aCmd*/) + { + + } + +TInt CUloggerServerTest4Step::Test1L() + { + TInt errors = 0; + + INFO_PRINTF1(_L("****Testing CControlFramework::StartReading****")); + TInt errCode = iCF->StartReading(); + TBuf<32> buf; + buf.AppendFormat(_L("code returned from method: %d"), errCode); + INFO_PRINTF1(buf); + + INFO_PRINTF1(_L("****Testing CControlFramework::StopReading****")); + iCF->StopReading(); + + return errors; + } + + +void CUloggerServerTest4Step::TestFunctionalityL(const TDesC8& aCommand) + { + ControlData* cData = NULL; + cData = iMan->CreatePackage( (void*)aCommand.Ptr(), aCommand.Length()); + iCF->iDataPtr.Zero(); + iCF->iDataPtr.Copy((const TUint8*)cData, iMan->GetSize(cData)); + iCF->iStatus = KErrNone; + iCF->RunL(); + delete [] cData; + } + + +TInt CUloggerServerTest4Step::Test2L() + { + TInt errors = 0; + INFO_PRINTF1(_L("****Testing CControlFramework functionality****")); + + INFO_PRINTF1(_L("start command:")); + TestFunctionalityL(_L8("-r")); + + INFO_PRINTF1(_L("stop command:")); + TestFunctionalityL(_L8("-q")); + + INFO_PRINTF1(_L("set f1 command:")); + TestFunctionalityL(_L8("-ef 4 5 6 7")); + + INFO_PRINTF1(_L("set f2 command:")); + TestFunctionalityL(_L8("-es 114 115 1116 111117")); + + INFO_PRINTF1(_L("set ps command:")); + TestFunctionalityL(_L8("-ec uloggerfileplugin output_path e:\\test.ulog")); + + INFO_PRINTF1(_L("set ia command:")); + TestFunctionalityL(_L8("-ei uloggerusbplugin")); + + + return errors; + } + +}