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 |