diff -r 28839de615b4 -r 26645d81f48d featuremgmt/featuremgr/test/tef/tef_efm_normal/src/component_test_steps.cpp --- 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(); }