sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_startup.cpp
changeset 45 c6215323ad55
parent 0 4e1aa6a622a0
child 61 8cb079868133
child 70 653a8b91b95e
--- a/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_startup.cpp	Wed Jun 23 19:38:32 2010 +0300
+++ b/sysstatemgmt/systemstateplugins/test/tunitgsapolicy/src/tgsa_step_startup.cpp	Tue Jul 06 15:43:30 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 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"
@@ -27,10 +27,20 @@
 #include <ssm/ssmcommandlist.h>
 #include <ssm/ssmsubstates.hrh>
 #include <ssm/ssmcommand.h>
+#include <ssmsubstateext.hrh>
 
 
 #ifdef SYMBIAN_SSM_GRACEFUL_SHUTDOWN
-TSsmCommandType ArrCriticalStartUp[] = { ESsmCmdCustomCommand,ESsmCmdPublishSystemState,ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess,ESsmCmdStartProcess, ESsmCmdSetPAndSKey, ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdLoadSup };
+TSsmCommandType ArrCriticalStartUp[] = {ESsmCmdPublishSystemState,  //r_cmd_publishstate
+                                        ESsmCmdStartProcess,        //r_cmd_sysagt
+                                        ESsmCmdCustomCommand,       //r_cmd_initpskeys
+                                        ESsmCmdCustomCommand,       //r_cmd_checkuserdrive
+                                        ESsmCmdCustomCommand,       //r_cmd_deltempfiles
+                                        ESsmCmdStartProcess,        //r_cmd_reservedisk
+                                        ESsmCmdStartProcess,        //r_cmd_sysmon
+                                        ESsmCmdStartProcess,        //r_cmd_ssmutilsrv
+                                        ESsmCmdMultipleWait         //r_cmd_multiwaitforever
+                                        };
 #else
 TSsmCommandType ArrCriticalStartUp[] = { ESsmCmdCustomCommand,ESsmCmdPublishSystemState,ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess,ESsmCmdStartProcess, ESsmCmdSetPAndSKey, ESsmCmdStartProcess, ESsmCmdStartProcess, ESsmCmdStartProcess };
 #endif
@@ -39,8 +49,45 @@
 #ifdef TEST_SSM_GRACEFUL_OFFLINE
 TSsmCommandType ArrNonCriticalStartUp[] = { ESsmCmdSetPAndSKey, ESsmCmdSetPAndSKey,ESsmCmdSetPAndSKey,ESsmCmdPublishSystemState ,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdAMAStarter};
 #else
-TSsmCommandType ArrNonCriticalStartUp[] = { ESsmCmdPublishSystemState ,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdStartProcess,ESsmCmdAMAStarter};
+TSsmCommandType ArrNonCriticalStartUp[] = { ESsmCmdCustomCommand,       //r_cmd_sastate
+                                            ESsmCmdPublishSystemState,  //r_cmd_publishstate
+                                            ESsmCmdSetPAndSKey,         //r_cmd_psstate
+                                            ESsmCmdCustomCommand,       //r_cmd_startupmode
+                                            ESsmCmdLoadSup,             //r_cmd_loadpowersup
+                                            ESsmCmdCustomCommand,       //r_cmd_rfsfirstboot
+                                            ESsmCmdCustomCommand,       //r_cmd_rfsdeep
+                                            ESsmCmdCustomCommand,       //r_cmd_rfsnormal
+                                            ESsmCmdCustomCommand,       //r_cmd_initclkeys
+                                            ESsmCmdCustomCommand,       //r_cmd_initramdrive
+                                            ESsmCmdStartProcess,        //r_cmd_wserv
+                                            ESsmCmdStartProcess,        //r_cmd_splash
+                                            ESsmCmdStartProcess,        //r_cmd_tzsrv
+                                            ESsmCmdStartProcess,        //r_cmd_mediator
+                                            ESsmCmdStartProcess,        //r_cmd_hwrmsrv
+                                            ESsmCmdCustomCommand,       //r_cmd_rtc
+                                            ESsmCmdMultipleWait,        //r_cmd_multiwaitforever1
+                                            ESsmCmdStartProcess,        //r_cmd_dbrecovery
+                                            ESsmCmdStartProcess,        //r_cmd_accsrv
+                                            ESsmCmdCustomCommand,       //r_cmd_selectlanguage
+                                            ESsmCmdMultipleWait,        //r_cmd_multiwaitforever2
+                                            ESsmCmdLoadSup,             //r_cmd_loadlocalesup
+                                            ESsmCmdLoadSup,             //r_cmd_loadcollation
+                                            ESsmCmdLoadSup,             //r_cmd_loadregion
+                                            ESsmCmdLoadSup,             //r_cmd_loaduilanguage
+                                            ESsmCmdCustomCommand,       //r_cmd_aknstart
+                                            ESsmCmdWaitForApparcInit,   //r_cmd_apparc_init
+                                            ESsmCmdCustomCommand        //r_cmd_rfspostui
+                                            };
 #endif
+TSsmCommandType ArrCriticalAppsStartUp[] = {ESsmCmdCustomCommand,       //r_cmd_sastate
+                                            ESsmCmdPublishSystemState,  //r_cmd_publishstate
+                                            ESsmCmdSetPAndSKey,         //r_cmd_psstate
+                                            ESsmCmdCustomCommand,       //r_cmd_selftest
+                                            ESsmCmdStartProcess,        //r_cmd_cfserver
+                                            ESsmCmdStartApp,            //r_cmd_sysap
+                                            ESsmCmdStartProcess,        //r_cmd_profmon
+                                            ESsmCmdMultipleWait         //r_cmd_multiwaitforever
+                                            };
 
 CGsaStartupTest::~CGsaStartupTest()
 	{
@@ -123,9 +170,8 @@
 	INFO_PRINTF1(_L("> CGsaStartupTest::doTestPrepareCommandListL"));
 	TestPrepareCommandListL(ESsmStartup ,ESsmStartupSubStateCriticalStatic, KErrNone);
 	TestPrepareCommandListL(ESsmStartup ,KSsmAnySubState, KErrNone);
-	TestPrepareCommandListL(ESsmStartup ,ESsmStartupSubStateCriticalDynamic, KErrNone);
-	TestPrepareCommandListL(ESsmStartup ,ESsmStartupSubStateNetworkingCritical, KErrNone);
 	TestPrepareCommandListL(ESsmStartup ,ESsmStartupSubStateNonCritical, KErrNone);
+	TestPrepareCommandListL(ESsmStartup ,ESsmStateStartingCriticalApps, KErrNone); //ESsmStateStartingCriticalApps = 0x31
 	TestPrepareCommandListL(ESsmStartup ,100, KErrNotFound);
 	}
 
@@ -139,10 +185,8 @@
 	INFO_PRINTF1(_L("> CGsaStartupTest::doTestCommandListL"));
 
 	TestCommandListL(ESsmStartup, ESsmStartupSubStateCriticalStatic, sizeof(ArrCriticalStartUp) / sizeof(ArrCriticalStartUp[0]));
-	TestCommandListL(ESsmStartup, KSsmAnySubState, sizeof(ArrCriticalStartUp) / sizeof(ArrCriticalStartUp[0]));
-	TestCommandListL(ESsmStartup, ESsmStartupSubStateCriticalDynamic, sizeof(ArrDynamicStartUp) / sizeof(ArrDynamicStartUp[0]));
-	TestCommandListL(ESsmStartup, ESsmStartupSubStateNetworkingCritical, sizeof(ArrNetworkingStartUp) / sizeof(ArrNetworkingStartUp[0]));
 	TestCommandListL(ESsmStartup, ESsmStartupSubStateNonCritical, sizeof(ArrNonCriticalStartUp) / sizeof(ArrNonCriticalStartUp[0]));
+	TestCommandListL(ESsmStartup, ESsmStateStartingCriticalApps, sizeof(ArrCriticalAppsStartUp) / sizeof(ArrCriticalAppsStartUp[0]));	
 	}
 
 /**
@@ -156,46 +200,22 @@
 	CGsaStatePolicyStartup* policy = CreateAndInitializeStartUpPolicyLC();
 
 	TSsmState state(ESsmStartup, KSsmAnySubState);
-	TSsmState result(ESsmStartup, ESsmStartupSubStateCriticalDynamic);
-	// KSsmAnySubState (KSsmAnySubState) will return ESsmStartUpSubStateCriticalDynamic only for the first time, 
+	TSsmState result(ESsmStartup, ESsmStartupSubStateNonCritical);
+	// KSsmAnySubState (KSsmAnySubState) will return ESsmStartupSubStateNonCritical only for the first time, 
 	// next call will always return the next sub state for transition.
 	TestGetNextState(policy, state, KErrNone, result);
 
 	TSsmState firstState(ESsmStartup, ESsmStartupSubStateCriticalStatic);
-	TSsmState firstResult(ESsmStartup, ESsmStartupSubStateCriticalDynamic);
+	TSsmState firstResult(ESsmStartup, ESsmStartupSubStateNonCritical);
 	TestGetNextState(policy, firstState, KErrNone, firstResult);
 
-	TSsmState secondState(ESsmStartup, ESsmStartupSubStateCriticalDynamic);
-	TSsmState secondResult(ESsmStartup, ESsmStartupSubStateNetworkingCritical);
+	TSsmState secondState(ESsmStartup, ESsmStartupSubStateNonCritical);
+	TSsmState secondResult(ESsmStartup, ESsmStateStartingCriticalApps);
 	TestGetNextState(policy, secondState, KErrNone, secondResult);
 
-	TSsmState thirdState(ESsmStartup, ESsmStartupSubStateNetworkingCritical);
-	TSsmState thirdResult(ESsmStartup, ESsmStartupSubStateNonCritical);
+	TSsmState thirdState(ESsmStartup, ESsmStateStartingCriticalApps);
+	TSsmState thirdResult(ESsmStartup, ESsmStateSelfTestOK);
 	TestGetNextState(policy, thirdState, KErrNone, thirdResult);
-#ifdef __WINS__
-	TSsmState fourthState(ESsmStartup, ESsmStartupSubStateNonCritical);
-	TSsmState fourthResult(ESsmNormal, KSsmAnySubState);
-	TestGetNextState(policy, fourthState, KErrNone, fourthResult);
-#else
-	TSsmState fourthState(ESsmStartup, ESsmStartupSubStateNonCritical);
-	TSsmState fourthResult(ESsmStartup, 0x48);//Added 0x48 sub-state for new test for ARMV5 
-	TestGetNextState(policy, fourthState, KErrNone, fourthResult);
-	//This new state test Added for the one more sub-state available in ARMV5 compare to WINSCW
-	TSsmState fourthToNextState(ESsmStartup, 0x48);
-	TSsmState fourthToNextStateResult(ESsmNormal, KSsmAnySubState);
-	TestGetNextState(policy, fourthToNextState, KErrNone, fourthToNextStateResult);
-#endif
-
-	TSsmState fifthState(ESsmStartup, KSsmAnySubState);
-	TSsmState fifthResult(ESsmStartup, ESsmStartupSubStateCriticalDynamic);
-	// KSsmAnySubState (0xffff) will return ESsmStartUpSubStateCriticalDynamic only for the first time, 
-	// next call will always return the next sub state for transition.
-	TestGetNextState(policy, fifthState, KErrNone, fifthResult);
-	
-	//Commented this test because CGsaStatePolicyStartup::GETNExtstate panicks if substate is unknown
-	//TSsmState unknownState(ESsmStartup, 100);
-	//TSsmState knownResult(ESsmStartup, 0);
-	//TestGetNextState(policy, unknownState, KErrNone, knownResult);
 
 	CleanupStack::PopAndDestroy(policy);
 	}