featuremgmt/featuremgr/test/tef/tef_efm_normal/src/component_test_steps.cpp
branchRCL_3
changeset 23 26645d81f48d
parent 21 28839de615b4
child 24 cc28652e0254
--- a/featuremgmt/featuremgr/test/tef/tef_efm_normal/src/component_test_steps.cpp	Thu Aug 19 11:36:21 2010 +0300
+++ b/featuremgmt/featuremgr/test/tef/tef_efm_normal/src/component_test_steps.cpp	Tue Aug 31 16:57:14 2010 +0300
@@ -161,7 +161,8 @@
 	{
 	TThreadId id = RThread().Id();
 	TUid uid = {id.Id()};
-	uid.iUid += 500;
+	uid.iUid += 0x1001000;
+
 	// Create the thread info instance that would hold the results for the tests below
 	TThreadTestInfo info;
 	info.iId = uid.iUid;
@@ -509,9 +510,7 @@
 	*/
 	
 	// Locals for the test scenarios
-	RApaLsSession ls;
 	RProcess process; 
-	CApaCommandLine* cmdLine;
 	TBitFlags32 flags( 0 ); 	
 	flags.Set( EFeatureSupported);
 	flags.Set( EFeatureModifiable );
@@ -534,14 +533,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 	
 		// This delay is used to allow P&S to complete the initial setting of the 
 		// KSAUidSoftwareInstallKeyValue property to ESASwisInstall before we proceed with 
@@ -564,17 +556,17 @@
 		err = control.AddFeature(entry3);
 		TESTDIAGNOSTICERROR(err==KErrNone, 
 				_L("RFeatureControl::AddFeature expects KErrNone for KNewUid3; returned value is = %d"),err);
-        
+	
 		// Enable feature
-        err = control.EnableFeature(KNewUid1);
-        TESTDIAGNOSTICERROR(err==KErrNone, 
-                _L("RFeatureControl::EnableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
-        
-        // Disable feature
-        err = control.DisableFeature(KNewUid1);
-        TESTDIAGNOSTICERROR(err==KErrNone, 
-                _L("RFeatureControl::DisableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
-        
+		err = control.EnableFeature(KNewUid1);
+		TESTDIAGNOSTICERROR(err==KErrNone, 
+		        _L("RFeatureControl::EnableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
+		
+		// Disable feature
+		err = control.DisableFeature(KNewUid1);
+		TESTDIAGNOSTICERROR(err==KErrNone, 
+		        _L("RFeatureControl::DisableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
+		
 		// Set features
 		err = control.SetFeature(KNewUid1, ETrue, KChangeData);
 		TESTDIAGNOSTICERROR(err==KErrNone, 
@@ -675,14 +667,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -732,14 +717,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -788,14 +766,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 			
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -854,14 +825,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -920,14 +884,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -970,14 +927,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -1023,14 +973,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -1150,14 +1093,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -1207,14 +1143,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -1248,14 +1177,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 			
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -1314,14 +1236,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -1385,14 +1300,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -1427,14 +1335,7 @@
 		// Starting helping exe
 		_LIT(KHelpingExePath, "helping_exe.exe");
 		err = process.Create(KHelpingExePath, _L("1"));
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KHelpingExePath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Wait for helping_exe to finish
 		User::After(600000);
@@ -1518,14 +1419,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -1552,14 +1446,7 @@
 		// Starting helping exe which is going to call SWIEnd (passing 2 as a parameter to indicate this)
 		_LIT(KHelpingExePath, "helping_exe.exe");
 		err = process.Create(KHelpingExePath, _L("2"));
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KHelpingExePath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		User::After(500000);
 			
@@ -1612,14 +1499,7 @@
 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
 	if( err==KErrNone )
 		{
-		User::LeaveIfError(ls.Connect());
-		CleanupClosePushL(ls);
-		cmdLine = CApaCommandLine::NewLC();
-		cmdLine->SetExecutableNameL(KDummySWIPath);
-		cmdLine->SetProcessEnvironmentL(process);
 		process.Resume();
-		CleanupStack::PopAndDestroy(2);
-		cmdLine = NULL;
 		
 		// Allow P&S to complete initialising
 		User::After(200000);
@@ -1736,6 +1616,63 @@
 	// Wait before starting the next test
 	User::After(100000);
 	
+	////////////////////////////////////////////////////////////////////////////////////////////
+	// SCENARIO 18: Successful installation and features manipulation (Enable/Disable without modifying data)
+	// Add Feature with user data -> P&S install -> SWIStart -> Enable/Disable Feature -> 
+	//  -> SWIEnd -> P&S success -> No change to user data
+	////////////////////////////////////////////////////////////////////////////////////////////
+    INFO_PRINTF1(_L("SCENARIO 18: Successful installation and Enable or Disable feature should not modify userdata"));
+    // Launching dummyswi.exe
+    err = process.Create(KDummySWIPath, _L("1"));   // 1 = install success
+    TESTDIAGNOSTICERROR(err==KErrNone,
+               _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
+    if( err==KErrNone )
+        {
+        process.Resume();
+    
+        // Allow P&S to complete initialising
+        User::After(200000);
+        
+        err = control.Open();
+        TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::Open failed, returned value is = %d"),err);
+        
+        err = control.AddFeature(entry1);
+        TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::AddFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
+        
+        err = control.SWIStart();
+        TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::SWIStart expects KErrNone; returned value is = %d"),err);
+        
+        // Enable feature
+        err = control.EnableFeature(KNewUid1);
+        TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::EnableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
+        
+        // Disable feature
+        err = control.DisableFeature(KNewUid1);
+        TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::EnableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
+        
+        err = control.SWIEnd();
+        TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::SWIEnd expects KErrNone; returned value is = %d"),err);
+        
+        // Delay until the P&S property is set to ESASwisStatusSuccess in dummyswi.exe to indicate successful installation
+        User::After(1500000);
+        
+        err = control.FeatureSupported(query1);
+        TESTDIAGNOSTICERROR(err==KErrNone, _L("TFeatureEntry::FeatureData expects 0 for KNewUid1; returned value is = %d"),err);
+        TESTDIAGNOSTICERROR(query1.FeatureData()==KDefaultData1, _L("TFeatureEntry::FeatureData expects non-zero for KNewUid1; returned value is = %d"), err);
+        
+        // Delete KNewUid1
+        err = control.DeleteFeature(KNewUid1);
+        TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::DeleteFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
+        
+        query1 = TFeatureEntry(KNewUid1);
+        
+        control.Close();
+
+        }
+    process.Close();
+    // Wait before starting the next test
+    User::After(100000);
+	
 
 	return TestStepResult();
 	}