featuremgmt/featuremgr/test/tef/tef_efm_normal/src/component_test_steps.cpp
branchRCL_3
changeset 23 26645d81f48d
parent 21 28839de615b4
child 24 cc28652e0254
equal deleted inserted replaced
21:28839de615b4 23:26645d81f48d
   159 
   159 
   160 void CFeatMgrStressTest::DoThreadActionL()
   160 void CFeatMgrStressTest::DoThreadActionL()
   161 	{
   161 	{
   162 	TThreadId id = RThread().Id();
   162 	TThreadId id = RThread().Id();
   163 	TUid uid = {id.Id()};
   163 	TUid uid = {id.Id()};
   164 	uid.iUid += 500;
   164 	uid.iUid += 0x1001000;
       
   165 
   165 	// Create the thread info instance that would hold the results for the tests below
   166 	// Create the thread info instance that would hold the results for the tests below
   166 	TThreadTestInfo info;
   167 	TThreadTestInfo info;
   167 	info.iId = uid.iUid;
   168 	info.iId = uid.iUid;
   168 	    
   169 	    
   169 	// A. Create a session to the server 
   170 	// A. Create a session to the server 
   507 	/*
   508 	/*
   508 	* SWI Installation Test Cases 
   509 	* SWI Installation Test Cases 
   509 	*/
   510 	*/
   510 	
   511 	
   511 	// Locals for the test scenarios
   512 	// Locals for the test scenarios
   512 	RApaLsSession ls;
       
   513 	RProcess process; 
   513 	RProcess process; 
   514 	CApaCommandLine* cmdLine;
       
   515 	TBitFlags32 flags( 0 ); 	
   514 	TBitFlags32 flags( 0 ); 	
   516 	flags.Set( EFeatureSupported);
   515 	flags.Set( EFeatureSupported);
   517 	flags.Set( EFeatureModifiable );
   516 	flags.Set( EFeatureModifiable );
   518 	TFeatureEntry entry1( KNewUid1, flags, KDefaultData1 );
   517 	TFeatureEntry entry1( KNewUid1, flags, KDefaultData1 );
   519 	TFeatureEntry entry3( KNewUid3, flags, KDefaultData1 );
   518 	TFeatureEntry entry3( KNewUid3, flags, KDefaultData1 );
   532 	err = process.Create(KDummySWIPath, _L("1"));	// 1 = install success
   531 	err = process.Create(KDummySWIPath, _L("1"));	// 1 = install success
   533 	TESTDIAGNOSTICERROR(err==KErrNone,
   532 	TESTDIAGNOSTICERROR(err==KErrNone,
   534 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   533 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   535 	if( err==KErrNone )
   534 	if( err==KErrNone )
   536 		{
   535 		{
   537 		User::LeaveIfError(ls.Connect());
       
   538 		CleanupClosePushL(ls);
       
   539 		cmdLine = CApaCommandLine::NewLC();
       
   540 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
   541 		cmdLine->SetProcessEnvironmentL(process);
       
   542 		process.Resume();
   536 		process.Resume();
   543 		CleanupStack::PopAndDestroy(2);
       
   544 		cmdLine = NULL;
       
   545 	
   537 	
   546 		// This delay is used to allow P&S to complete the initial setting of the 
   538 		// This delay is used to allow P&S to complete the initial setting of the 
   547 		// KSAUidSoftwareInstallKeyValue property to ESASwisInstall before we proceed with 
   539 		// KSAUidSoftwareInstallKeyValue property to ESASwisInstall before we proceed with 
   548 		// our test case. Otherwise SWIStart will be called before the property is set 
   540 		// our test case. Otherwise SWIStart will be called before the property is set 
   549 		// properly and will return KErrNotReady. 
   541 		// properly and will return KErrNotReady. 
   562 		TESTDIAGNOSTICERROR(err==KErrNone, 
   554 		TESTDIAGNOSTICERROR(err==KErrNone, 
   563 				_L("RFeatureControl::AddFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
   555 				_L("RFeatureControl::AddFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
   564 		err = control.AddFeature(entry3);
   556 		err = control.AddFeature(entry3);
   565 		TESTDIAGNOSTICERROR(err==KErrNone, 
   557 		TESTDIAGNOSTICERROR(err==KErrNone, 
   566 				_L("RFeatureControl::AddFeature expects KErrNone for KNewUid3; returned value is = %d"),err);
   558 				_L("RFeatureControl::AddFeature expects KErrNone for KNewUid3; returned value is = %d"),err);
   567         
   559 	
   568 		// Enable feature
   560 		// Enable feature
   569         err = control.EnableFeature(KNewUid1);
   561 		err = control.EnableFeature(KNewUid1);
   570         TESTDIAGNOSTICERROR(err==KErrNone, 
   562 		TESTDIAGNOSTICERROR(err==KErrNone, 
   571                 _L("RFeatureControl::EnableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
   563 		        _L("RFeatureControl::EnableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
   572         
   564 		
   573         // Disable feature
   565 		// Disable feature
   574         err = control.DisableFeature(KNewUid1);
   566 		err = control.DisableFeature(KNewUid1);
   575         TESTDIAGNOSTICERROR(err==KErrNone, 
   567 		TESTDIAGNOSTICERROR(err==KErrNone, 
   576                 _L("RFeatureControl::DisableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
   568 		        _L("RFeatureControl::DisableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
   577         
   569 		
   578 		// Set features
   570 		// Set features
   579 		err = control.SetFeature(KNewUid1, ETrue, KChangeData);
   571 		err = control.SetFeature(KNewUid1, ETrue, KChangeData);
   580 		TESTDIAGNOSTICERROR(err==KErrNone, 
   572 		TESTDIAGNOSTICERROR(err==KErrNone, 
   581 				_L("RFeatureControl::SetFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
   573 				_L("RFeatureControl::SetFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
   582 		err = control.SetFeature(KNewUid3, KChangeData);
   574 		err = control.SetFeature(KNewUid3, KChangeData);
   673 	err = process.Create(KDummySWIPath, _L("1"));	
   665 	err = process.Create(KDummySWIPath, _L("1"));	
   674 	TESTDIAGNOSTICERROR(err==KErrNone,
   666 	TESTDIAGNOSTICERROR(err==KErrNone,
   675 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   667 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   676 	if( err==KErrNone )
   668 	if( err==KErrNone )
   677 		{
   669 		{
   678 		User::LeaveIfError(ls.Connect());
       
   679 		CleanupClosePushL(ls);
       
   680 		cmdLine = CApaCommandLine::NewLC();
       
   681 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
   682 		cmdLine->SetProcessEnvironmentL(process);
       
   683 		process.Resume();
   670 		process.Resume();
   684 		CleanupStack::PopAndDestroy(2);
       
   685 		cmdLine = NULL;
       
   686 		
   671 		
   687 		// Allow P&S to complete initialising
   672 		// Allow P&S to complete initialising
   688 		User::After(200000);
   673 		User::After(200000);
   689 		
   674 		
   690 		err = control.Open();       	
   675 		err = control.Open();       	
   730 	err = process.Create(KDummySWIPath, _L("3"));	// 3 = install timed-out
   715 	err = process.Create(KDummySWIPath, _L("3"));	// 3 = install timed-out
   731 	TESTDIAGNOSTICERROR(err==KErrNone,
   716 	TESTDIAGNOSTICERROR(err==KErrNone,
   732 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   717 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   733 	if( err==KErrNone )
   718 	if( err==KErrNone )
   734 		{
   719 		{
   735 		User::LeaveIfError(ls.Connect());
       
   736 		CleanupClosePushL(ls);
       
   737 		cmdLine = CApaCommandLine::NewLC();
       
   738 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
   739 		cmdLine->SetProcessEnvironmentL(process);
       
   740 		process.Resume();
   720 		process.Resume();
   741 		CleanupStack::PopAndDestroy(2);
       
   742 		cmdLine = NULL;
       
   743 		
   721 		
   744 		// Allow P&S to complete initialising
   722 		// Allow P&S to complete initialising
   745 		User::After(200000);
   723 		User::After(200000);
   746 
   724 
   747 		err = control.Open();       	
   725 		err = control.Open();       	
   786 	err = process.Create(KDummySWIPath, _L("2"));	// 2 = install abort
   764 	err = process.Create(KDummySWIPath, _L("2"));	// 2 = install abort
   787 	TESTDIAGNOSTICERROR(err==KErrNone,
   765 	TESTDIAGNOSTICERROR(err==KErrNone,
   788 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   766 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   789 	if( err==KErrNone )
   767 	if( err==KErrNone )
   790 		{
   768 		{
   791 		User::LeaveIfError(ls.Connect());
       
   792 		CleanupClosePushL(ls);
       
   793 		cmdLine = CApaCommandLine::NewLC();
       
   794 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
   795 		cmdLine->SetProcessEnvironmentL(process);
       
   796 		process.Resume();
   769 		process.Resume();
   797 		CleanupStack::PopAndDestroy(2);
       
   798 		cmdLine = NULL;
       
   799 			
   770 			
   800 		// Allow P&S to complete initialising
   771 		// Allow P&S to complete initialising
   801 		User::After(200000);
   772 		User::After(200000);
   802 
   773 
   803 		err = control.Open();       	
   774 		err = control.Open();       	
   852 	err = process.Create(KDummySWIPath, _L("2"));
   823 	err = process.Create(KDummySWIPath, _L("2"));
   853 	TESTDIAGNOSTICERROR(err==KErrNone,
   824 	TESTDIAGNOSTICERROR(err==KErrNone,
   854 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   825 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   855 	if( err==KErrNone )
   826 	if( err==KErrNone )
   856 		{
   827 		{
   857 		User::LeaveIfError(ls.Connect());
       
   858 		CleanupClosePushL(ls);
       
   859 		cmdLine = CApaCommandLine::NewLC();
       
   860 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
   861 		cmdLine->SetProcessEnvironmentL(process);
       
   862 		process.Resume();
   828 		process.Resume();
   863 		CleanupStack::PopAndDestroy(2);
       
   864 		cmdLine = NULL;
       
   865 		
   829 		
   866 		// Allow P&S to complete initialising
   830 		// Allow P&S to complete initialising
   867 		User::After(200000);
   831 		User::After(200000);
   868 
   832 
   869 		err = control.Open();
   833 		err = control.Open();
   918 	err = process.Create(KDummySWIPath, _L("1"));
   882 	err = process.Create(KDummySWIPath, _L("1"));
   919 	TESTDIAGNOSTICERROR(err==KErrNone,
   883 	TESTDIAGNOSTICERROR(err==KErrNone,
   920 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   884 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   921 	if( err==KErrNone )
   885 	if( err==KErrNone )
   922 		{
   886 		{
   923 		User::LeaveIfError(ls.Connect());
       
   924 		CleanupClosePushL(ls);
       
   925 		cmdLine = CApaCommandLine::NewLC();
       
   926 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
   927 		cmdLine->SetProcessEnvironmentL(process);
       
   928 		process.Resume();
   887 		process.Resume();
   929 		CleanupStack::PopAndDestroy(2);
       
   930 		cmdLine = NULL;
       
   931 		
   888 		
   932 		// Allow P&S to complete initialising
   889 		// Allow P&S to complete initialising
   933 		User::After(200000);
   890 		User::After(200000);
   934 
   891 
   935 		err = control.Open();       	
   892 		err = control.Open();       	
   968 	err = process.Create(KDummySWIPath, _L("1"));	
   925 	err = process.Create(KDummySWIPath, _L("1"));	
   969 	TESTDIAGNOSTICERROR(err==KErrNone,
   926 	TESTDIAGNOSTICERROR(err==KErrNone,
   970 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   927 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   971 	if( err==KErrNone )
   928 	if( err==KErrNone )
   972 		{
   929 		{
   973 		User::LeaveIfError(ls.Connect());
       
   974 		CleanupClosePushL(ls);
       
   975 		cmdLine = CApaCommandLine::NewLC();
       
   976 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
   977 		cmdLine->SetProcessEnvironmentL(process);
       
   978 		process.Resume();
   930 		process.Resume();
   979 		CleanupStack::PopAndDestroy(2);
       
   980 		cmdLine = NULL;
       
   981 		
   931 		
   982 		// Allow P&S to complete initialising
   932 		// Allow P&S to complete initialising
   983 		User::After(200000);
   933 		User::After(200000);
   984 
   934 
   985 		err = control.Open();       	
   935 		err = control.Open();       	
  1021 	err = process.Create(KDummySWIPath, _L("4"));	// 4 = uninstall success
   971 	err = process.Create(KDummySWIPath, _L("4"));	// 4 = uninstall success
  1022 	TESTDIAGNOSTICERROR(err==KErrNone,
   972 	TESTDIAGNOSTICERROR(err==KErrNone,
  1023 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
   973 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1024 	if( err==KErrNone )
   974 	if( err==KErrNone )
  1025 		{
   975 		{
  1026 		User::LeaveIfError(ls.Connect());
       
  1027 		CleanupClosePushL(ls);
       
  1028 		cmdLine = CApaCommandLine::NewLC();
       
  1029 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
  1030 		cmdLine->SetProcessEnvironmentL(process);
       
  1031 		process.Resume();
   976 		process.Resume();
  1032 		CleanupStack::PopAndDestroy(2);
       
  1033 		cmdLine = NULL;
       
  1034 		
   977 		
  1035 		// Allow P&S to complete initialising
   978 		// Allow P&S to complete initialising
  1036 		User::After(200000);
   979 		User::After(200000);
  1037 
   980 
  1038 		err = control.Open();       	
   981 		err = control.Open();       	
  1148 	err = process.Create(KDummySWIPath, _L("4"));	
  1091 	err = process.Create(KDummySWIPath, _L("4"));	
  1149 	TESTDIAGNOSTICERROR(err==KErrNone,
  1092 	TESTDIAGNOSTICERROR(err==KErrNone,
  1150 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1093 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1151 	if( err==KErrNone )
  1094 	if( err==KErrNone )
  1152 		{
  1095 		{
  1153 		User::LeaveIfError(ls.Connect());
       
  1154 		CleanupClosePushL(ls);
       
  1155 		cmdLine = CApaCommandLine::NewLC();
       
  1156 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
  1157 		cmdLine->SetProcessEnvironmentL(process);
       
  1158 		process.Resume();
  1096 		process.Resume();
  1159 		CleanupStack::PopAndDestroy(2);
       
  1160 		cmdLine = NULL;
       
  1161 		
  1097 		
  1162 		// Allow P&S to complete initialising
  1098 		// Allow P&S to complete initialising
  1163 		User::After(200000);
  1099 		User::After(200000);
  1164 
  1100 
  1165 		err = control.Open();       	
  1101 		err = control.Open();       	
  1205 	err = process.Create(KDummySWIPath, _L("6"));	// 6 = uninstall timed-out
  1141 	err = process.Create(KDummySWIPath, _L("6"));	// 6 = uninstall timed-out
  1206 	TESTDIAGNOSTICERROR(err==KErrNone,
  1142 	TESTDIAGNOSTICERROR(err==KErrNone,
  1207 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1143 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1208 	if( err==KErrNone )
  1144 	if( err==KErrNone )
  1209 		{
  1145 		{
  1210 		User::LeaveIfError(ls.Connect());
       
  1211 		CleanupClosePushL(ls);
       
  1212 		cmdLine = CApaCommandLine::NewLC();
       
  1213 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
  1214 		cmdLine->SetProcessEnvironmentL(process);
       
  1215 		process.Resume();
  1146 		process.Resume();
  1216 		CleanupStack::PopAndDestroy(2);
       
  1217 		cmdLine = NULL;
       
  1218 		
  1147 		
  1219 		// Allow P&S to complete initialising
  1148 		// Allow P&S to complete initialising
  1220 		User::After(200000);
  1149 		User::After(200000);
  1221 
  1150 
  1222 		err = control.Open();       	
  1151 		err = control.Open();       	
  1246 	err = process.Create(KDummySWIPath, _L("5"));	// 5 = Abort uninstall
  1175 	err = process.Create(KDummySWIPath, _L("5"));	// 5 = Abort uninstall
  1247 	TESTDIAGNOSTICERROR(err==KErrNone,
  1176 	TESTDIAGNOSTICERROR(err==KErrNone,
  1248 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1177 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1249 	if( err==KErrNone )
  1178 	if( err==KErrNone )
  1250 		{
  1179 		{
  1251 		User::LeaveIfError(ls.Connect());
       
  1252 		CleanupClosePushL(ls);
       
  1253 		cmdLine = CApaCommandLine::NewLC();
       
  1254 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
  1255 		cmdLine->SetProcessEnvironmentL(process);
       
  1256 		process.Resume();
  1180 		process.Resume();
  1257 		CleanupStack::PopAndDestroy(2);
       
  1258 		cmdLine = NULL;
       
  1259 			
  1181 			
  1260 		// Allow P&S to complete initialising
  1182 		// Allow P&S to complete initialising
  1261 		User::After(200000);
  1183 		User::After(200000);
  1262 
  1184 
  1263 		err = control.Open();       	
  1185 		err = control.Open();       	
  1312 	err = process.Create(KDummySWIPath, _L("5"));
  1234 	err = process.Create(KDummySWIPath, _L("5"));
  1313 	TESTDIAGNOSTICERROR(err==KErrNone,
  1235 	TESTDIAGNOSTICERROR(err==KErrNone,
  1314 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1236 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1315 	if( err==KErrNone )
  1237 	if( err==KErrNone )
  1316 		{
  1238 		{
  1317 		User::LeaveIfError(ls.Connect());
       
  1318 		CleanupClosePushL(ls);
       
  1319 		cmdLine = CApaCommandLine::NewLC();
       
  1320 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
  1321 		cmdLine->SetProcessEnvironmentL(process);
       
  1322 		process.Resume();
  1239 		process.Resume();
  1323 		CleanupStack::PopAndDestroy(2);
       
  1324 		cmdLine = NULL;
       
  1325 		
  1240 		
  1326 		// Allow P&S to complete initialising
  1241 		// Allow P&S to complete initialising
  1327 		User::After(200000);
  1242 		User::After(200000);
  1328 
  1243 
  1329 		err = control.Open();
  1244 		err = control.Open();
  1383 	err = process.Create(KDummySWIPath, _L("4"));
  1298 	err = process.Create(KDummySWIPath, _L("4"));
  1384 	TESTDIAGNOSTICERROR(err==KErrNone,
  1299 	TESTDIAGNOSTICERROR(err==KErrNone,
  1385 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1300 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1386 	if( err==KErrNone )
  1301 	if( err==KErrNone )
  1387 		{
  1302 		{
  1388 		User::LeaveIfError(ls.Connect());
       
  1389 		CleanupClosePushL(ls);
       
  1390 		cmdLine = CApaCommandLine::NewLC();
       
  1391 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
  1392 		cmdLine->SetProcessEnvironmentL(process);
       
  1393 		process.Resume();
  1303 		process.Resume();
  1394 		CleanupStack::PopAndDestroy(2);
       
  1395 		cmdLine = NULL;
       
  1396 		
  1304 		
  1397 		// Allow P&S to complete initialising
  1305 		// Allow P&S to complete initialising
  1398 		User::After(200000);
  1306 		User::After(200000);
  1399 
  1307 
  1400 		err = control.Open();
  1308 		err = control.Open();
  1425 				_L("TFeatureEntry::FeatureData expects 0 for KNewUid3; returned value is = %d"),data);
  1333 				_L("TFeatureEntry::FeatureData expects 0 for KNewUid3; returned value is = %d"),data);
  1426 	
  1334 	
  1427 		// Starting helping exe
  1335 		// Starting helping exe
  1428 		_LIT(KHelpingExePath, "helping_exe.exe");
  1336 		_LIT(KHelpingExePath, "helping_exe.exe");
  1429 		err = process.Create(KHelpingExePath, _L("1"));
  1337 		err = process.Create(KHelpingExePath, _L("1"));
  1430 		User::LeaveIfError(ls.Connect());
       
  1431 		CleanupClosePushL(ls);
       
  1432 		cmdLine = CApaCommandLine::NewLC();
       
  1433 		cmdLine->SetExecutableNameL(KHelpingExePath);
       
  1434 		cmdLine->SetProcessEnvironmentL(process);
       
  1435 		process.Resume();
  1338 		process.Resume();
  1436 		CleanupStack::PopAndDestroy(2);
       
  1437 		cmdLine = NULL;
       
  1438 		
  1339 		
  1439 		// Wait for helping_exe to finish
  1340 		// Wait for helping_exe to finish
  1440 		User::After(600000);
  1341 		User::After(600000);
  1441 	
  1342 	
  1442 		// KNewUid1: added by the external exe (helping_exe)
  1343 		// KNewUid1: added by the external exe (helping_exe)
  1516 	err = process.Create(KDummySWIPath, _L("1"));
  1417 	err = process.Create(KDummySWIPath, _L("1"));
  1517 	TESTDIAGNOSTICERROR(err==KErrNone,
  1418 	TESTDIAGNOSTICERROR(err==KErrNone,
  1518 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1419 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1519 	if( err==KErrNone )
  1420 	if( err==KErrNone )
  1520 		{
  1421 		{
  1521 		User::LeaveIfError(ls.Connect());
       
  1522 		CleanupClosePushL(ls);
       
  1523 		cmdLine = CApaCommandLine::NewLC();
       
  1524 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
  1525 		cmdLine->SetProcessEnvironmentL(process);
       
  1526 		process.Resume();
  1422 		process.Resume();
  1527 		CleanupStack::PopAndDestroy(2);
       
  1528 		cmdLine = NULL;
       
  1529 		
  1423 		
  1530 		// Allow P&S to complete initialising
  1424 		// Allow P&S to complete initialising
  1531 		User::After(200000);
  1425 		User::After(200000);
  1532 
  1426 
  1533 		err = control.Open();
  1427 		err = control.Open();
  1550 				_L("TFeatureEntry::FeatureData expects 0 for KNewUid1; returned value is = %d"),data);
  1444 				_L("TFeatureEntry::FeatureData expects 0 for KNewUid1; returned value is = %d"),data);
  1551 	
  1445 	
  1552 		// Starting helping exe which is going to call SWIEnd (passing 2 as a parameter to indicate this)
  1446 		// Starting helping exe which is going to call SWIEnd (passing 2 as a parameter to indicate this)
  1553 		_LIT(KHelpingExePath, "helping_exe.exe");
  1447 		_LIT(KHelpingExePath, "helping_exe.exe");
  1554 		err = process.Create(KHelpingExePath, _L("2"));
  1448 		err = process.Create(KHelpingExePath, _L("2"));
  1555 		User::LeaveIfError(ls.Connect());
       
  1556 		CleanupClosePushL(ls);
       
  1557 		cmdLine = CApaCommandLine::NewLC();
       
  1558 		cmdLine->SetExecutableNameL(KHelpingExePath);
       
  1559 		cmdLine->SetProcessEnvironmentL(process);
       
  1560 		process.Resume();
  1449 		process.Resume();
  1561 		CleanupStack::PopAndDestroy(2);
       
  1562 		cmdLine = NULL;
       
  1563 		
  1450 		
  1564 		User::After(500000);
  1451 		User::After(500000);
  1565 			
  1452 			
  1566 		// KNewUid1 : will not be committed to registry by the call to SWIEnd from the helping_exe
  1453 		// KNewUid1 : will not be committed to registry by the call to SWIEnd from the helping_exe
  1567 		err = control.FeatureSupported(query1);
  1454 		err = control.FeatureSupported(query1);
  1610 	err = process.Create(KDummySWIPath, _L("1"));
  1497 	err = process.Create(KDummySWIPath, _L("1"));
  1611 	TESTDIAGNOSTICERROR(err==KErrNone,
  1498 	TESTDIAGNOSTICERROR(err==KErrNone,
  1612 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1499 			   _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
  1613 	if( err==KErrNone )
  1500 	if( err==KErrNone )
  1614 		{
  1501 		{
  1615 		User::LeaveIfError(ls.Connect());
       
  1616 		CleanupClosePushL(ls);
       
  1617 		cmdLine = CApaCommandLine::NewLC();
       
  1618 		cmdLine->SetExecutableNameL(KDummySWIPath);
       
  1619 		cmdLine->SetProcessEnvironmentL(process);
       
  1620 		process.Resume();
  1502 		process.Resume();
  1621 		CleanupStack::PopAndDestroy(2);
       
  1622 		cmdLine = NULL;
       
  1623 		
  1503 		
  1624 		// Allow P&S to complete initialising
  1504 		// Allow P&S to complete initialising
  1625 		User::After(200000);
  1505 		User::After(200000);
  1626 
  1506 
  1627 		err = control.Open();
  1507 		err = control.Open();
  1734 		}
  1614 		}
  1735 	process.Close();
  1615 	process.Close();
  1736 	// Wait before starting the next test
  1616 	// Wait before starting the next test
  1737 	User::After(100000);
  1617 	User::After(100000);
  1738 	
  1618 	
       
  1619 	////////////////////////////////////////////////////////////////////////////////////////////
       
  1620 	// SCENARIO 18: Successful installation and features manipulation (Enable/Disable without modifying data)
       
  1621 	// Add Feature with user data -> P&S install -> SWIStart -> Enable/Disable Feature -> 
       
  1622 	//  -> SWIEnd -> P&S success -> No change to user data
       
  1623 	////////////////////////////////////////////////////////////////////////////////////////////
       
  1624     INFO_PRINTF1(_L("SCENARIO 18: Successful installation and Enable or Disable feature should not modify userdata"));
       
  1625     // Launching dummyswi.exe
       
  1626     err = process.Create(KDummySWIPath, _L("1"));   // 1 = install success
       
  1627     TESTDIAGNOSTICERROR(err==KErrNone,
       
  1628                _L("RProcess::Create expects KErrNone, returned value is = %d"),err);
       
  1629     if( err==KErrNone )
       
  1630         {
       
  1631         process.Resume();
       
  1632     
       
  1633         // Allow P&S to complete initialising
       
  1634         User::After(200000);
       
  1635         
       
  1636         err = control.Open();
       
  1637         TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::Open failed, returned value is = %d"),err);
       
  1638         
       
  1639         err = control.AddFeature(entry1);
       
  1640         TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::AddFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
       
  1641         
       
  1642         err = control.SWIStart();
       
  1643         TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::SWIStart expects KErrNone; returned value is = %d"),err);
       
  1644         
       
  1645         // Enable feature
       
  1646         err = control.EnableFeature(KNewUid1);
       
  1647         TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::EnableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
       
  1648         
       
  1649         // Disable feature
       
  1650         err = control.DisableFeature(KNewUid1);
       
  1651         TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::EnableFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
       
  1652         
       
  1653         err = control.SWIEnd();
       
  1654         TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::SWIEnd expects KErrNone; returned value is = %d"),err);
       
  1655         
       
  1656         // Delay until the P&S property is set to ESASwisStatusSuccess in dummyswi.exe to indicate successful installation
       
  1657         User::After(1500000);
       
  1658         
       
  1659         err = control.FeatureSupported(query1);
       
  1660         TESTDIAGNOSTICERROR(err==KErrNone, _L("TFeatureEntry::FeatureData expects 0 for KNewUid1; returned value is = %d"),err);
       
  1661         TESTDIAGNOSTICERROR(query1.FeatureData()==KDefaultData1, _L("TFeatureEntry::FeatureData expects non-zero for KNewUid1; returned value is = %d"), err);
       
  1662         
       
  1663         // Delete KNewUid1
       
  1664         err = control.DeleteFeature(KNewUid1);
       
  1665         TESTDIAGNOSTICERROR(err==KErrNone, _L("RFeatureControl::DeleteFeature expects KErrNone for KNewUid1; returned value is = %d"),err);
       
  1666         
       
  1667         query1 = TFeatureEntry(KNewUid1);
       
  1668         
       
  1669         control.Close();
       
  1670 
       
  1671         }
       
  1672     process.Close();
       
  1673     // Wait before starting the next test
       
  1674     User::After(100000);
       
  1675 	
  1739 
  1676 
  1740 	return TestStepResult();
  1677 	return TestStepResult();
  1741 	}
  1678 	}
  1742 
  1679