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