sysstatemgmt/systemstateplugins/test/tunitadptplugin/src/tstate_adaptationplugin_step.cpp
--- /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();
+ }