sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tstate_adaptationplugin_step.cpp
changeset 0 4e1aa6a622a0
child 21 ccb4f6b3db21
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tstate_adaptationplugin_step.cpp	Tue Feb 02 00:53:00 2010 +0200
@@ -0,0 +1,261 @@
+// 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
+ @test
+ @internalComponent - Internal Symbian test code  
+*/
+
+
+
+#include <s32mem.h>
+#include <ssm/ssmadaptation.h>
+#include "tstate_adaptationplugin_step.h"
+
+typedef MStateAdaptation* (*TFuncNewL)();
+
+CTestStateAdaptationPlugin::CTestStateAdaptationPlugin()
+	:CAdaptationTestBase(KTCTestStateAdaptationPlugin)
+	{
+	}
+
+CTestStateAdaptationPlugin::~CTestStateAdaptationPlugin()
+	{
+	
+	}
+
+void CTestStateAdaptationPlugin::TestRequestCoopSysStateChangeL()
+	{
+	INFO_PRINTF1(_L("> CTestStateAdaptationPlugin::TestRequestCoopSysStateChangeL"));
+
+	TRequestStatus requestStatus;
+	iStateAdaptation.RequestCoopSysStateChange(TSsmState(ESsmStartup, KSsmAnySubState),  requestStatus);
+	User::WaitForRequest(requestStatus);
+	INFO_PRINTF2(_L("RequestCoopSysStateChange completed with status : %d"), requestStatus.Int());
+	if(iStateAdaptation.Handle())
+		{
+		TEST(KErrNone == requestStatus.Int());	
+		}
+	else
+		{
+		TEST(KErrDisconnected == requestStatus.Int());	
+		}
+	}
+
+void  CTestStateAdaptationPlugin::TestRequestCoopSysSelfTestL()
+	{
+	INFO_PRINTF1(_L("> CTestStateAdaptationPlugin::TestRequestCoopSysSelfTestL"));
+	
+	TRequestStatus requestStatus;
+	iStateAdaptation.RequestCoopSysSelfTest(requestStatus);
+	User::WaitForRequest(requestStatus);
+	INFO_PRINTF2(_L("RequestCoopSysSelfTest completed with status : %d"), requestStatus.Int());
+	if(iStateAdaptation.Handle())
+		{
+		TEST(KErrNone == requestStatus.Int());	
+		}
+	else
+		{
+		TEST(KErrDisconnected == requestStatus.Int());	
+		}
+	}
+
+void CTestStateAdaptationPlugin::TestRequestCoopSysPerformRestartActionsL()
+	{
+	INFO_PRINTF1(_L("> CTestStateAdaptationPlugin::TestRequestCoopSysPerformRestartActionsL"));
+
+	TRequestStatus status;
+	TInt reason = 0;
+	iStateAdaptation.RequestCoopSysPerformRestartActions(reason, status);
+	User::WaitForRequest(status);
+	if(iStateAdaptation.Handle())
+		{
+		TEST(KErrNone == status.Int());	
+		}
+	else
+		{
+		TEST(KErrDisconnected == status.Int());	
+		}
+	INFO_PRINTF2(_L("TestRequestCoopSysPerformRestartActionsL completed with status : %d"), status.Int());
+	}
+
+void CTestStateAdaptationPlugin::TestRequestCoopSysPerformShutdownActionsL()
+	{
+	INFO_PRINTF1(_L(" > CTestStateAdaptationPlugin::TestRequestCoopSysPerformShutdownActionsL"));
+
+	TRequestStatus status;
+	TInt reason = 0;
+	iStateAdaptation.RequestCoopSysPerformShutdownActions(reason, status);
+	User::WaitForRequest(status);
+	if(iStateAdaptation.Handle())
+		{
+		TEST(KErrNone == status.Int());	
+		}
+	else
+		{
+		TEST(KErrDisconnected == status.Int());	
+		}
+	INFO_PRINTF2(_L("CTestStateAdaptationPlugin::TestRequestCoopSysPerformShutdownActionsL > completed with status : %d"), status.Int());		
+	}
+
+void CTestStateAdaptationPlugin::TestRequestCoopSysPerformRfsActionsL()
+	{
+	INFO_PRINTF1(_L(" > CTestStateAdaptationPlugin::TestRequestCoopSysPerformRfsActionsL"));
+	INFO_PRINTF1(_L(" Call RequestCoopSysStateChange for ESsmShallowRfs, ESsmDeepRfs and ESsmRfsTypeExtensionBase"));
+
+	TRequestStatus trs1,trs2,trs3;
+	iStateAdaptation.RequestCoopSysPerformRfsActions(ESsmShallowRfs, trs1);
+	iStateAdaptation.RequestCoopSysPerformRfsActions(ESsmDeepRfs, trs2);
+	iStateAdaptation.RequestCoopSysPerformRfsActions(ESsmRfsTypeExtensionBase, trs3);
+	
+	User::WaitForRequest(trs1);
+	User::WaitForRequest(trs2);
+	User::WaitForRequest(trs3);
+
+	INFO_PRINTF1(_L("CTestStateAdaptationPlugin::TestRequestCoopSysPerformRfsActionsL >"));
+	}
+
+void CTestStateAdaptationPlugin::TestRequestCancel()
+	{
+	INFO_PRINTF1(_L(" >CTestStateAdaptationPlugin::TestRequestCancel"));
+	INFO_PRINTF1(_L(" Call RequestCancel"));
+
+	iStateAdaptation.RequestCancel();
+
+	INFO_PRINTF1(_L(" CTestStateAdaptationPlugin::TestRequestCancel>"));	
+	}
+
+
+void CTestStateAdaptationPlugin::TestNotifyCoopSysEventL()
+	{
+	INFO_PRINTF1(_L(" >CTestStateAdaptationPlugin::TestNotifyCoopSysEventL"));
+
+	TRequestStatus status;
+	TPckgBuf <TInt> coopSysErr;
+	coopSysErr()=ESsmFatalCoopSysError;
+	INFO_PRINTF1(_L(" Call NotifyCoopSysFatalEventL for ESsmFatalCoopSysError"));
+	iStateAdaptation.NotifyCoopSysEvent(coopSysErr, status);
+	User::WaitForRequest(status);
+
+	TPckgBuf <TInt> shutDownDevice;
+	shutDownDevice()=ESsmShutdownDevice;
+	INFO_PRINTF1(_L(" Call NotifyCoopSysFatalEventL for ESsmShutdownDevice"));	
+	iStateAdaptation.NotifyCoopSysEvent(shutDownDevice, status);
+	User::WaitForRequest(status);
+
+	TPckgBuf <TInt> restartDevice;
+	restartDevice()=ESsmRestartDevice;
+	INFO_PRINTF1(_L(" Call NotifyCoopSysFatalEventL for ESsmRestartDevice"));	
+	iStateAdaptation.NotifyCoopSysEvent(restartDevice, status);
+	User::WaitForRequest(status);
+
+	TPckgBuf <TInt> sysEventType;
+	sysEventType()=ESsmCoopSysEventTypeExtensionBase;
+	INFO_PRINTF1(_L(" Call NotifyCoopSysFatalEventL for ESsmCoopSysEventTypeExtensionBase"));	
+	iStateAdaptation.NotifyCoopSysEvent(sysEventType, status);
+	User::WaitForRequest(status);
+
+	INFO_PRINTF1(_L(" CTestStateAdaptationPlugin::TestNotifyCoopSysEventL>"));	
+	}
+
+void CTestStateAdaptationPlugin::TestNotifyCancel()
+	{
+	INFO_PRINTF1(_L(" >CTestStateAdaptationPlugin::TestNotifyCancel"));
+	iStateAdaptation.NotifyCancel();
+	INFO_PRINTF1(_L(" CTestStateAdaptationPlugin::TestNotifyCancel>"));	
+	}
+
+//from CAdaptationTestBase
+TVerdict CTestStateAdaptationPlugin::doTestStepL()
+	{
+	TInt err = KErrNone;
+	
+	__UHEAP_MARK;
+	TRAP(err, TestRequestCoopSysStateChangeL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	__UHEAP_MARK;
+	TRAP(err, TestRequestCoopSysSelfTestL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	__UHEAP_MARK;
+	TRAP(err, TestRequestCoopSysPerformRestartActionsL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	__UHEAP_MARK;
+	TRAP(err, TestRequestCoopSysPerformShutdownActionsL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	__UHEAP_MARK;
+	TRAP(err, TestRequestCoopSysPerformRfsActionsL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	__UHEAP_MARK;
+	TRAP(err, TestNotifyCoopSysEventL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	TestRequestCancel();
+	TEST(err == KErrNone);
+
+	TestNotifyCancel();
+	TEST(err == KErrNone);
+	
+	User::LeaveIfError(iStateAdaptation.Connect());
+	
+	__UHEAP_MARK;
+	TRAP(err, TestRequestCoopSysStateChangeL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	__UHEAP_MARK;
+	TRAP(err, TestRequestCoopSysSelfTestL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	__UHEAP_MARK;
+	TRAP(err, TestRequestCoopSysPerformRestartActionsL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	__UHEAP_MARK;
+	TRAP(err, TestRequestCoopSysPerformShutdownActionsL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	__UHEAP_MARK;
+	TRAP(err, TestRequestCoopSysPerformRfsActionsL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	__UHEAP_MARK;
+	TRAP(err, TestNotifyCoopSysEventL());
+	TEST(err == KErrNone);
+	__UHEAP_MARKEND;
+
+	TestRequestCancel();
+	TEST(err == KErrNone);
+
+	TestNotifyCancel();
+	TEST(err == KErrNone);
+
+	return TestStepResult();
+	}