sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Example CTestStep derived implementation sl@0: // sl@0: // sl@0: sl@0: /** sl@0: @file UloggerServerTest2Step.cpp sl@0: @internalTechnology sl@0: */ sl@0: #include "uloggerservertest2step.h" sl@0: #include "te_uloggerservertestsuitedefs.h" sl@0: #include "uloggerserver.h" sl@0: #include "uloggersession.h" sl@0: sl@0: using namespace Ulogger; sl@0: sl@0: CUloggerServerTest2Step::~CUloggerServerTest2Step() sl@0: /** sl@0: * Destructor sl@0: */ sl@0: { sl@0: } sl@0: sl@0: CUloggerServerTest2Step::CUloggerServerTest2Step() sl@0: /** sl@0: * Constructor sl@0: */ sl@0: { sl@0: // **MUST** call SetTestStepName in the constructor as the controlling sl@0: // framework uses the test step name immediately following construction to set sl@0: // up the step's unique logging ID. sl@0: SetTestStepName(KUloggerServerTest2Step); sl@0: } sl@0: sl@0: TVerdict CUloggerServerTest2Step::doTestStepPreambleL() sl@0: /** sl@0: * @return - TVerdict code sl@0: * Override of base class virtual sl@0: */ sl@0: { sl@0: iScheduler = new (ELeave) CActiveScheduler(); sl@0: CActiveScheduler::Install(iScheduler); sl@0: sl@0: SetTestStepResult(EPass); sl@0: return TestStepResult(); sl@0: } sl@0: sl@0: sl@0: TVerdict CUloggerServerTest2Step::doTestStepL() sl@0: { sl@0: if (TestStepResult()==EPass) sl@0: { sl@0: TInt errors = 0; sl@0: sl@0: errors += Test1L();//CULoggerSession::NewL sl@0: errors += Test2L();//CULoggerSession::NewLC sl@0: sl@0: sl@0: sl@0: /* sl@0: * Method CULoggerSession::ServiceL cannot be tested here because it require sl@0: * of passing RMessage2 reference with valid RMessagePtr (IPC) sl@0: * If we are going to pass empty RMessage2 system will panic our process with sl@0: * User Panic 70. sl@0: * */ sl@0: sl@0: //display results sl@0: TBuf<128> res; sl@0: res.AppendFormat(_L("%d errors"), errors); sl@0: INFO_PRINTF1(_L("****Results****")); sl@0: INFO_PRINTF1(res); sl@0: if(errors == 0) sl@0: SetTestStepResult(EPass); sl@0: else sl@0: SetTestStepResult(EFail); sl@0: } sl@0: return TestStepResult(); sl@0: } sl@0: sl@0: sl@0: sl@0: TVerdict CUloggerServerTest2Step::doTestStepPostambleL() sl@0: /** sl@0: * @return - TVerdict code sl@0: * Override of base class virtual sl@0: */ sl@0: { sl@0: delete iScheduler; sl@0: iScheduler = NULL; sl@0: return TestStepResult(); sl@0: } sl@0: sl@0: TInt CUloggerServerTest2Step::Test1L() sl@0: {//CULoggerSession::NewL sl@0: TInt errors = 0; sl@0: INFO_PRINTF1(_L("Testing - CULoggerSession::NewL method")); sl@0: CULoggerServer *server = NULL; sl@0: server = CULoggerServer::NewLC(EPriorityBackground); sl@0: if(server != NULL) sl@0: { sl@0: RThread thread; sl@0: CULoggerSession *serverSession = CULoggerSession::NewL(thread, *server); sl@0: if(serverSession != NULL) sl@0: { sl@0: //delete serverSession; //don't need to delete session sl@0: } sl@0: else sl@0: { sl@0: INFO_PRINTF1(_L("error")); sl@0: ++errors; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(); sl@0: } sl@0: else sl@0: { sl@0: INFO_PRINTF1(_L("server creation error")); sl@0: ++errors; sl@0: } sl@0: return errors; sl@0: } sl@0: sl@0: TInt CUloggerServerTest2Step::Test2L() sl@0: {//CULoggerSession::NewLC sl@0: TInt errors = 0; sl@0: INFO_PRINTF1(_L("Testing - CULoggerSession::NewLC method")); sl@0: CULoggerServer *server = NULL; sl@0: server = CULoggerServer::NewLC(EPriorityBackground); sl@0: if(server != NULL) sl@0: { sl@0: RThread thread; sl@0: CULoggerSession *serverSession = CULoggerSession::NewLC(thread, *server); sl@0: if(serverSession != NULL) sl@0: { sl@0: CleanupStack::Pop();//serverSession sl@0: } sl@0: else sl@0: { sl@0: INFO_PRINTF1(_L("error")); sl@0: ++errors; sl@0: } sl@0: sl@0: CleanupStack::PopAndDestroy(); sl@0: } sl@0: else sl@0: { sl@0: INFO_PRINTF1(_L("server creation error")); sl@0: ++errors; sl@0: } sl@0: return errors; sl@0: }