diff -r 000000000000 -r 4e1aa6a622a0 resourcemgmt/hwresourcesmgr/test/multiclient/hwrmtests/hwrmtests.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resourcemgmt/hwresourcesmgr/test/multiclient/hwrmtests/hwrmtests.cpp Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,170 @@ +// 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: +// + +#include "hwrmtests.h" +#include + +_LIT(KDirectoryPath, "C:\\logs\\"); +_LIT(KLogFile,"C:\\logs\\hwrmtests.log"); +_LIT8(KCrLf,"\r\n"); +_LIT8(KRTest,"RTEST:"); + +CHwrmTests* CHwrmTests::NewL(CConsoleBase& aConsole) + { + CHwrmTests* self = NewLC(aConsole); + CleanupStack::Pop(self); + return self; + } + +CHwrmTests* CHwrmTests::NewLC(CConsoleBase& aConsole) + { + CHwrmTests* self = new (ELeave) CHwrmTests(aConsole); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +CHwrmTests::CHwrmTests(CConsoleBase& aConsole) +: iConsole(aConsole) + { + } + +void CHwrmTests::ConstructL() + { + User::LeaveIfError(iFs.Connect()); + + //If c:\logs folder is not created, create it. + const TInt err = iFs.MkDirAll(KDirectoryPath); + if(err != KErrNone && err != KErrAlreadyExists) + { + User::Leave(err); + } + + iLogStream.Replace(iFs,KLogFile,EFileWrite | EFileShareReadersOrWriters | EFileStreamText); + + iTestController = CHwrmTestCaseController::NewL(*this); + } + +CHwrmTests::~CHwrmTests() + { + delete iTestController; + iLogStream.Close(); + iFs.Close(); + } + +void CHwrmTests::RunTests() + { +// __UHEAP_MARK; + RunBasicTests_SDK(); +// __UHEAP_MARKEND; + +// __UHEAP_MARK; + RunBasicTests_Extended(); +// __UHEAP_MARKEND; + +// __UHEAP_MARK; + RunBasicTests_Enhanced(); +// __UHEAP_MARKEND; + + +// __UHEAP_MARK; + RunVibraTests(); +// __UHEAP_MARKEND; + +// __UHEAP_MARK; + RunInvalidParamTests(); +// __UHEAP_MARKEND; + +// __UHEAP_MARK; + RunWaitChargingNotifyTests(); +// __UHEAP_MARKEND; + } + +void CHwrmTests::RunBasicTests_SDK() + { + InfoAndLogMessage(_L("*** Starting Basic Tests (using SDK API) ***")); + iTestController->RunBasicTestCases(EHWRMApiTypeSAPI); + InfoAndLogMessage(_L("*** Finished Basic tests (using SDK API) ***")); + } + +void CHwrmTests::RunBasicTests_Extended() + { + InfoAndLogMessage(_L("*** Starting Basic Tests (using Extended API) ***")); + iTestController->RunBasicTestCases(EHWRMApiTypeXAPI); + InfoAndLogMessage(_L("*** Finished Basic Tests (using Extended API) ***")); + } + +void CHwrmTests::RunBasicTests_Enhanced() + { + InfoAndLogMessage(_L("*** Starting Basic Tests (using Enhanced API) ***")); + iTestController->RunBasicTestCases(EHWRMApiTypeEAPI); + InfoAndLogMessage(_L("*** Finished Basic Tests (using Enhanced API) ***")); + } + + +void CHwrmTests::RunVibraTests() + { + InfoAndLogMessage(_L("*** Starting Malicious Vibra Tests ***")); + iTestController->RunTestCases( EMaliciousVibraTest ); + InfoAndLogMessage(_L("*** Finished Malicious Vibra Tests ***")); + } + +void CHwrmTests::RunInvalidParamTests() + { + InfoAndLogMessage(_L("*** Starting Invalid Parameter Tests ***")); + iTestController->RunTestCases(ERepeatInvalidParamsTest); + InfoAndLogMessage(_L("*** Finished Invalid Parameter Tests ***")); + } + +void CHwrmTests::RunWaitChargingNotifyTests() + { + InfoAndLogMessage(_L("*** Starting Wait Charging Notifications Tests ***")); + iTestController->RunTestCases( EWaitForChargingNotify ); + InfoAndLogMessage(_L("*** Finished Wait Charging Notifications Tests ***")); + } + +void CHwrmTests::InfoMessage(const TDesC& aMessage) + { + iConsole.Printf(aMessage); + iConsole.Printf(_L("\r\n")); + } + +void CHwrmTests::LogMessage(const TDesC& aMessage) + { + TRAP_IGNORE(DoLogMessageL(aMessage)); + } + +void CHwrmTests::DoLogMessageL(const TDesC& aMessage) + { +// __UHEAP_MARK; + HBufC8* buf = HBufC8::NewLC(aMessage.Length()); + buf->Des().Copy(aMessage); + iLogStream.WriteL(KRTest); + iLogStream.WriteL(*buf); + iLogStream.WriteL(KCrLf); + iLogStream.CommitL(); + CleanupStack::PopAndDestroy(buf); +// __UHEAP_MARKEND; + } + +void CHwrmTests::DebugMessage(const TDesC& /*aMessage*/) + { + } + +void CHwrmTests::InfoAndLogMessage(const TDesC& aMessage) + { + LogMessage(aMessage); + InfoMessage(aMessage); + }