resourcemgmt/hwresourcesmgr/test/multiclient/hwrmtests/hwrmtests.cpp
changeset 0 4e1aa6a622a0
child 21 ccb4f6b3db21
--- /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 <e32cons.h>
+
+_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);
+	}