diff -r d6b9e89d80a3 -r 0f7422b6b602 psmservices/psmserver/tsrc/PsmTestModule/src/PSMTestBlocks.cpp --- a/psmservices/psmserver/tsrc/PsmTestModule/src/PSMTestBlocks.cpp Tue Aug 10 14:46:45 2010 +0300 +++ b/psmservices/psmserver/tsrc/PsmTestModule/src/PSMTestBlocks.cpp Mon Aug 23 14:47:20 2010 +0300 @@ -28,7 +28,7 @@ #include #include - +#include "psmclientimpl.h" #include "PSMTest.h" @@ -126,7 +126,16 @@ ENTRY( "OpenClosePerformanceChange", CPSMTest::OpenClosePerformanceChange ), ENTRY( "OpenClosePerformanceEnd", CPSMTest::OpenClosePerformanceEnd ), ENTRY( "ChangePsmPerformance", CPSMTest::ChangePsmPerformance ), - ENTRY( "ChangeSettingsPerformance", CPSMTest::ChangeSettingsPerformance ) + +#ifdef _DEBUG + //OOM tests for psm server + ENTRY( "OOMChangePsmInit", CPSMTest::OOMNotifyPowerSaveModeChangeInitL ), + ENTRY( "OOMCancelPsm", CPSMTest::OOMCancelPowerSaveModeChangeL ), + ENTRY( "OOMBackupAndGetSettings", CPSMTest::OOMPsmBackupAndGetSettingsL ), + ENTRY( "OOMGetSettings", CPSMTest::OOMPsmGetSettingsL ), + ENTRY( "OOMBackupSettings", CPSMTest::OOMPsmBackupSettingsL ), +#endif //_DEBUG + ENTRY( "ChangeSettingsPerformance", CPSMTest::ChangeSettingsPerformance ) }; const TInt count = sizeof( KFunctions ) / @@ -1242,6 +1251,160 @@ // CPSMTestObserver::~CPSMTestObserver() { - } + } */ +#ifdef _DEBUG +// ----------------------------------------------------------------------------- +// CPSMTest::OOMNotifyPowerSaveModeChangeInit +// ----------------------------------------------------------------------------- +// +TInt CPSMTest::OOMNotifyPowerSaveModeChangeInitL(CStifItemParser& /*aItem*/) + { + CPsmClient* psmClient = CPsmClient::NewL( *this ); + CleanupStack::PushL(psmClient); + CPsmClientImpl* psmImpl = static_cast (psmClient); + psmImpl->HeapReset(); + psmImpl->HeapMark(); + for (TInt allocFailRate = 1;; allocFailRate++) + { + psmImpl->SetHeapFailure( allocFailRate ); + psmImpl->ChangePowerSaveMode(1); + // Wait for mode to change + iSchedulerWait.Start(); + + if (iErrorCode == KErrNone) + { + iErrorCode = KErrNone; + break; + } + } + psmImpl->HeapMarkEnd(); + psmImpl->HeapReset(); + CleanupStack::PopAndDestroy(psmClient); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CPSMTest::OOMCancelPowerSaveModeChange +// ----------------------------------------------------------------------------- +// +TInt CPSMTest::OOMCancelPowerSaveModeChangeL( CStifItemParser& /*aItem*/ ) + { + CPsmClient* psmClient = CPsmClient::NewL( *this ); + CleanupStack::PushL(psmClient); + CPsmClientImpl* psmImpl = static_cast (psmClient); + psmImpl->ChangePowerSaveMode(0); + for (TInt allocFailRate = 1;; allocFailRate++) + { + psmImpl->HeapReset(); + psmImpl->SetHeapFailure( allocFailRate ); + psmImpl->HeapMark(); + psmImpl->CancelPowerSaveModeChange(); + // Wait for mode to change + iSchedulerWait.Start(); + psmImpl->HeapMarkEnd(); + if (iErrorCode == KErrNone ) + { + iErrorCode = KErrNone; + psmImpl->HeapReset(); + break; + } + } + CleanupStack::PopAndDestroy(psmClient); + return KErrNone; + } + + +// ----------------------------------------------------------------------------- +// CPSMTest::OOMPsmBackupAndGetSettings +// ----------------------------------------------------------------------------- +// +TInt CPSMTest::OOMPsmBackupAndGetSettingsL( CStifItemParser& /*aItem*/ ) + { + CPsmClient* psmClient = CPsmClient::NewL( *this ); + CleanupStack::PushL(psmClient); + + CPsmClientImpl* psmImpl = static_cast (psmClient); + psmImpl->HeapReset(); + psmImpl->HeapMark(); + for (TInt allocFailRate = 1;; allocFailRate++) + { + + psmImpl->SetHeapFailure( allocFailRate ); + + TInt err = psmImpl->PsmSettings().BackupAndGetSettings( iPsmConfigArray, KCenRepUid2 ); + + if (err == KErrNone) + { + + break; + } + } + psmImpl->HeapMarkEnd(); + psmImpl->HeapReset(); + CleanupStack::PopAndDestroy(psmClient); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CPSMTest::OOMPsmGetSettings +// ----------------------------------------------------------------------------- +// +TInt CPSMTest::OOMPsmGetSettingsL( CStifItemParser& /*aItem*/ ) + { + CPsmClient* psmClient = CPsmClient::NewL( *this ); + CleanupStack::PushL(psmClient); + CPsmClientImpl* psmImpl = static_cast (psmClient); + + for (TInt allocFailRate = 1;; allocFailRate++) + { + psmImpl->HeapReset(); + psmImpl->SetHeapFailure( allocFailRate ); + psmImpl->HeapMark(); + TInt err = psmImpl->PsmSettings().GetSettings( iPsmConfigArray, KCenRepUid2 ); + psmImpl->HeapMarkEnd(); + if (err == KErrNone) + { + psmImpl->HeapReset(); + break; + } + } + CleanupStack::PopAndDestroy(psmClient); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CPSMTest::OOMPsmBackupSettings +// ----------------------------------------------------------------------------- +// +TInt CPSMTest::OOMPsmBackupSettingsL( CStifItemParser& /*aItem*/ ) + { + CPsmClient* psmClient = CPsmClient::NewL( *this ); + CleanupStack::PushL(psmClient); + CPsmClientImpl* psmImpl = static_cast (psmClient); + //IGNORE the error of Powersave mode request. If Powersave mode is not enabled the Backupsettings will fail with KErrWrite. + psmImpl->ChangePowerSaveMode(1); + iSchedulerWait.Start(); + RConfigInfoArray psmConfigArray; + GenerateConfigArray( psmConfigArray, EPsmsrvModePowerSave, 0 ); + psmImpl->HeapReset(); + psmImpl->HeapMark(); + for (TInt allocFailRate = 1;; allocFailRate++) + { + psmImpl->SetHeapFailure( allocFailRate ); + TInt err = psmImpl->PsmSettings().BackupSettings( psmConfigArray, KCenRepUid2 ); + iLog->Log( _L("PSMTest: BackupSettings- iPsmConfigArray.Count(): %d"), psmConfigArray.Count() ); + if (err == KErrNone) + { + break; + } + } + psmImpl->HeapMarkEnd(); + psmImpl->HeapReset(); + psmConfigArray.Close(); + CleanupStack::PopAndDestroy(psmClient); + return KErrNone; + } + +#endif //_DEBUG // End of File