telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_mmmemphone.cpp
changeset 0 3553901f7fa8
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #include <e32test.h>
       
    17 
       
    18 #include "TE_EtelMMTestStepBase.h"
       
    19 #include "TE_mmmemphone.h"
       
    20 #include "testdef.h"
       
    21 #include "TE_mmcall.h"
       
    22 
       
    23 
       
    24 CTestMemPhone::CTestMemPhone()
       
    25 /** Each test step initialises it's own name
       
    26 */
       
    27 	{
       
    28 	// store the name of this test case
       
    29 	// this is the name that is used by the script file
       
    30 	SetTestStepName(_L("TestMemPhone"));
       
    31 	}
       
    32 
       
    33 enum TVerdict CTestMemPhone::doTestStepL()
       
    34 	{
       
    35 	iTestCount=1;
       
    36 	INFO_PRINTF1(_L(""));
       
    37 	INFO_PRINTF1(_L("Test how RMobilePhone handles OOM"));
       
    38 
       
    39 	RMobilePhone mmPhone;
       
    40 	TInt ret=mmPhone.Open(iTelServer,DMMTSY_PHONE_NAME);
       
    41 	TEST(ret==KErrNone);
       
    42 
       
    43 	CMemTestGetDetectedNetworks* getNetworks=CMemTestGetDetectedNetworks::NewLC(mmPhone, this);
       
    44     getNetworks->Start();
       
    45     CActiveScheduler::Start();
       
    46 	CleanupStack::PopAndDestroy();
       
    47 
       
    48 	CMemTestGetCFStatus* getCFStatus=CMemTestGetCFStatus::NewLC(mmPhone, this);
       
    49     getCFStatus->Start();
       
    50     CActiveScheduler::Start();
       
    51 	CleanupStack::PopAndDestroy();
       
    52 
       
    53 	CMemTestGetCB* getCB=CMemTestGetCB::NewLC(mmPhone, this);
       
    54     getCB->Start();
       
    55     CActiveScheduler::Start();
       
    56 	CleanupStack::PopAndDestroy();
       
    57 
       
    58 	CMemTestGetCW* getCW=CMemTestGetCW::NewLC(mmPhone,this);
       
    59     getCW->Start();
       
    60     CActiveScheduler::Start();
       
    61 	CleanupStack::PopAndDestroy();
       
    62 
       
    63 	CMemTestGetCcbs* getCcbs=CMemTestGetCcbs::NewLC(mmPhone, this);
       
    64     getCcbs->Start();
       
    65     CActiveScheduler::Start();
       
    66 	CleanupStack::PopAndDestroy();
       
    67 	
       
    68 	CMemTestGetPreferredNetworks* getPrNtw=CMemTestGetPreferredNetworks::NewLC(mmPhone, this);
       
    69     getPrNtw->Start();
       
    70     CActiveScheduler::Start();
       
    71 	CleanupStack::PopAndDestroy();
       
    72 
       
    73 	mmPhone.Close();
       
    74 	INFO_PRINTF1(_L(""));
       
    75 
       
    76 	return TestStepResult();
       
    77 	}
       
    78 
       
    79 /**************************************************************/
       
    80 //
       
    81 // Testing how CRetrieveMobilePhoneDetectedNetworks handles OOM
       
    82 //
       
    83 /**************************************************************/
       
    84 
       
    85 CTestMemPhone::CMemTestGetDetectedNetworks* CTestMemPhone::CMemTestGetDetectedNetworks::NewLC(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone)
       
    86 	{
       
    87     CMemTestGetDetectedNetworks* r = new (ELeave) CMemTestGetDetectedNetworks(aPhone, aTestMemPhone);
       
    88 	CleanupStack::PushL(r);
       
    89 	r->ConstructL();
       
    90     return r;	
       
    91 	}
       
    92 
       
    93 void CTestMemPhone::CMemTestGetDetectedNetworks::Start()
       
    94 	{
       
    95 	iFailEvery = 1;
       
    96 	StartMemTest();
       
    97 	}
       
    98 
       
    99 void CTestMemPhone::CMemTestGetDetectedNetworks::StartMemTest()
       
   100 	{
       
   101 	__UHEAP_FAILNEXT(iFailEvery);
       
   102 	CTestGetDetectedNetworks::Start();
       
   103 	}
       
   104 	
       
   105 CTestMemPhone::CMemTestGetDetectedNetworks::CMemTestGetDetectedNetworks(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone) :
       
   106 	CTestGetDetectedNetworks(aPhone, aTestMemPhone), iTestMemPhone(aTestMemPhone)
       
   107 	{
       
   108 
       
   109 	}
       
   110 
       
   111 void CTestMemPhone::CMemTestGetDetectedNetworks::RunL()
       
   112 	{
       
   113 	CTestGetDetectedNetworks::RunL();
       
   114 	__UHEAP_RESET;
       
   115 	iTestMemPhone->INFO_PRINTF3(_L("Test %d - CRetrieveMobilePhoneDetectedNetworks OOM Test required %d allocations to succeed"),iTestMemPhone->iTestCount++,iFailEvery);
       
   116 	}
       
   117 
       
   118 TInt CTestMemPhone::CMemTestGetDetectedNetworks::RunError(TInt aError)
       
   119 	{
       
   120 	if (aError == KErrNoMemory)
       
   121 		{
       
   122 		iFailEvery++;
       
   123 		StartMemTest();
       
   124 		return KErrNone;
       
   125 		}
       
   126 	else
       
   127 		return aError;
       
   128 	}
       
   129 
       
   130 /**************************************************************/
       
   131 //
       
   132 // Testing how CRetrieveMobilePhoneCFList handles OOM
       
   133 //
       
   134 /**************************************************************/
       
   135 
       
   136 CTestMemPhone::CMemTestGetCFStatus* CTestMemPhone::CMemTestGetCFStatus::NewLC(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone)
       
   137 	{
       
   138     CMemTestGetCFStatus* r = new (ELeave) CMemTestGetCFStatus(aPhone, aTestMemPhone);
       
   139 	CleanupStack::PushL(r);
       
   140 	r->ConstructL();
       
   141     return r;	
       
   142 	}
       
   143 
       
   144 void CTestMemPhone::CMemTestGetCFStatus::Start()
       
   145 	{
       
   146 	iFailEvery = 1;
       
   147 	StartMemTest();
       
   148 	}
       
   149 
       
   150 void CTestMemPhone::CMemTestGetCFStatus::StartMemTest()
       
   151 	{
       
   152 	__UHEAP_FAILNEXT(iFailEvery);
       
   153 	CTestGetCFStatus::Start();
       
   154 	}
       
   155 	
       
   156 CTestMemPhone::CMemTestGetCFStatus::CMemTestGetCFStatus(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone) :
       
   157 	CTestGetCFStatus(aPhone, aTestMemPhone), iTestMemPhone(aTestMemPhone)
       
   158 	{
       
   159 
       
   160 	}
       
   161 
       
   162 void CTestMemPhone::CMemTestGetCFStatus::RunL()
       
   163 	{
       
   164 	CTestGetCFStatus::RunL();
       
   165 	__UHEAP_RESET;
       
   166 	iTestMemPhone->INFO_PRINTF3(_L("Test %d - CRetrieveMobilePhoneCFList OOM Test required %d allocations to succeed"),iTestMemPhone->iTestCount++,iFailEvery);
       
   167 	}
       
   168 
       
   169 TInt CTestMemPhone::CMemTestGetCFStatus::RunError(TInt aError)
       
   170 	{
       
   171 	if (aError == KErrNoMemory)
       
   172 		{
       
   173 		iFailEvery++;
       
   174 		StartMemTest();
       
   175 		return KErrNone;
       
   176 		}
       
   177 	else
       
   178 		return aError;
       
   179 	}
       
   180 
       
   181 /**************************************************************/
       
   182 //
       
   183 // Testing how CRetrieveMobilePhoneCBList handles OOM
       
   184 //
       
   185 /**************************************************************/
       
   186 
       
   187 CTestMemPhone::CMemTestGetCB* CTestMemPhone::CMemTestGetCB::NewLC(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone)
       
   188 	{
       
   189     CMemTestGetCB* r = new (ELeave) CMemTestGetCB(aPhone, aTestMemPhone);
       
   190 	CleanupStack::PushL(r);
       
   191 	r->ConstructL();
       
   192     return r;	
       
   193 	}
       
   194 
       
   195 void CTestMemPhone::CMemTestGetCB::Start()
       
   196 	{
       
   197 	iFailEvery = 1;
       
   198 	StartMemTest();
       
   199 	}
       
   200 
       
   201 void CTestMemPhone::CMemTestGetCB::StartMemTest()
       
   202 	{
       
   203 	__UHEAP_FAILNEXT(iFailEvery);
       
   204 	CTestGetCB::Start();
       
   205 	}
       
   206 	
       
   207 CTestMemPhone::CMemTestGetCB::CMemTestGetCB(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone) :
       
   208 	CTestGetCB(aPhone, aTestMemPhone), iTestMemPhone(aTestMemPhone)
       
   209 	{
       
   210 
       
   211 	}
       
   212 
       
   213 void CTestMemPhone::CMemTestGetCB::RunL()
       
   214 	{
       
   215 	CTestGetCB::RunL();
       
   216 	__UHEAP_RESET;
       
   217 	iTestMemPhone->INFO_PRINTF3(_L("Test %d - CRetrieveMobilePhoneCBList OOM Test required %d allocations to succeed"),iTestMemPhone->iTestCount++,iFailEvery);
       
   218 	}
       
   219 
       
   220 TInt CTestMemPhone::CMemTestGetCB::RunError(TInt aError)
       
   221 	{
       
   222 	if (aError == KErrNoMemory)
       
   223 		{
       
   224 		iFailEvery++;
       
   225 		StartMemTest();
       
   226 		return KErrNone;
       
   227 		}
       
   228 	else
       
   229 		return aError;
       
   230 	}
       
   231 
       
   232 /**************************************************************/
       
   233 //
       
   234 // Testing how CRetrieveMobilePhoneCWList handles OOM
       
   235 //
       
   236 /**************************************************************/
       
   237 
       
   238 CTestMemPhone::CMemTestGetCW* CTestMemPhone::CMemTestGetCW::NewLC(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone)
       
   239 	{
       
   240     CMemTestGetCW* r = new (ELeave) CMemTestGetCW(aPhone, aTestMemPhone);
       
   241 	CleanupStack::PushL(r);
       
   242 	r->ConstructL();
       
   243     return r;	
       
   244 	}
       
   245 
       
   246 void CTestMemPhone::CMemTestGetCW::Start()
       
   247 	{
       
   248 	iFailEvery = 1;
       
   249 	StartMemTest();
       
   250 	}
       
   251 
       
   252 void CTestMemPhone::CMemTestGetCW::StartMemTest()
       
   253 	{
       
   254 	__UHEAP_FAILNEXT(iFailEvery);
       
   255 	CTestGetCW::Start();
       
   256 	}
       
   257 	
       
   258 CTestMemPhone::CMemTestGetCW::CMemTestGetCW(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone) :
       
   259 	CTestGetCW(aPhone, aTestMemPhone), iTestMemPhone(aTestMemPhone)
       
   260 	{
       
   261 
       
   262 	}
       
   263 
       
   264 void CTestMemPhone::CMemTestGetCW::RunL()
       
   265 	{
       
   266 	CTestGetCW::RunL();
       
   267 	__UHEAP_RESET;
       
   268 	iTestMemPhone->INFO_PRINTF3(_L("Test %d - CRetrieveMobilePhoneCWList OOM Test required %d allocations to succeed"),iTestMemPhone->iTestCount++,iFailEvery);
       
   269 	}
       
   270 
       
   271 TInt CTestMemPhone::CMemTestGetCW::RunError(TInt aError)
       
   272 	{
       
   273 	if (aError == KErrNoMemory)
       
   274 		{
       
   275 		iFailEvery++;
       
   276 		StartMemTest();
       
   277 		return KErrNone;
       
   278 		}
       
   279 	else
       
   280 		return aError;
       
   281 	}
       
   282 
       
   283 /**************************************************************/
       
   284 //
       
   285 // Testing how CRetrieveMobilePhoneCcbsList handles OOM
       
   286 //
       
   287 /**************************************************************/
       
   288 
       
   289 CTestMemPhone::CMemTestGetCcbs* CTestMemPhone::CMemTestGetCcbs::NewLC(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone)
       
   290 	{
       
   291     CMemTestGetCcbs* r = new (ELeave) CMemTestGetCcbs(aPhone, aTestMemPhone);
       
   292 	CleanupStack::PushL(r);
       
   293 	r->ConstructL();
       
   294     return r;	
       
   295 	}
       
   296 
       
   297 void CTestMemPhone::CMemTestGetCcbs::Start()
       
   298 	{
       
   299 	iFailEvery = 1;
       
   300 	StartMemTest();
       
   301 	}
       
   302 
       
   303 void CTestMemPhone::CMemTestGetCcbs::StartMemTest()
       
   304 	{
       
   305 	__UHEAP_FAILNEXT(iFailEvery);
       
   306 	CTestGetCcbs::Start();
       
   307 	}
       
   308 	
       
   309 CTestMemPhone::CMemTestGetCcbs::CMemTestGetCcbs(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone) :
       
   310 	CTestGetCcbs(aPhone, aTestMemPhone), iTestMemPhone(aTestMemPhone)
       
   311 	{
       
   312 
       
   313 	}
       
   314 
       
   315 void CTestMemPhone::CMemTestGetCcbs::RunL()
       
   316 	{
       
   317 	CTestGetCcbs::RunL();
       
   318 	__UHEAP_RESET;
       
   319 	iTestMemPhone->INFO_PRINTF3(_L("Test %d - CRetrieveMobilePhoneCcbsList OOMTest required %d allocations to succeed"),iTestMemPhone->iTestCount++,iFailEvery);
       
   320 	}
       
   321 
       
   322 TInt CTestMemPhone::CMemTestGetCcbs::RunError(TInt aError)
       
   323 	{
       
   324 	if (aError == KErrNoMemory)
       
   325 		{
       
   326 		iFailEvery++;
       
   327 		StartMemTest();
       
   328 		return KErrNone;
       
   329 		}
       
   330 	else
       
   331 		return aError;
       
   332 	}
       
   333 
       
   334 
       
   335 /**************************************************************/
       
   336 //
       
   337 // Testing how CRetrieveMobilePhonePreferredNetworks handles OOM
       
   338 //
       
   339 /**************************************************************/
       
   340 
       
   341 CTestMemPhone::CMemTestGetPreferredNetworks* CTestMemPhone::CMemTestGetPreferredNetworks::NewLC(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone)
       
   342 	{
       
   343     CMemTestGetPreferredNetworks* r = new (ELeave) CMemTestGetPreferredNetworks(aPhone, aTestMemPhone);
       
   344 	CleanupStack::PushL(r);
       
   345 	r->ConstructL();
       
   346     return r;	
       
   347 	}
       
   348 
       
   349 void CTestMemPhone::CMemTestGetPreferredNetworks::Start()
       
   350 	{
       
   351 	iFailEvery = 1;
       
   352 	StartMemTest();
       
   353 	}
       
   354 
       
   355 void CTestMemPhone::CMemTestGetPreferredNetworks::StartMemTest()
       
   356 	{
       
   357 	__UHEAP_FAILNEXT(iFailEvery);
       
   358 	CTestGetPreferredNetworks::Start();
       
   359 	}
       
   360 	
       
   361 CTestMemPhone::CMemTestGetPreferredNetworks::CMemTestGetPreferredNetworks(RMobilePhone& aPhone, CTestMemPhone* aTestMemPhone) :
       
   362 	CTestGetPreferredNetworks(aPhone, aTestMemPhone), iTestMemPhone(aTestMemPhone)
       
   363 	{
       
   364 
       
   365 	}
       
   366 
       
   367 void CTestMemPhone::CMemTestGetPreferredNetworks::RunL()
       
   368 	{
       
   369 	CTestGetPreferredNetworks::RunL();
       
   370 	__UHEAP_RESET;
       
   371 	iTestMemPhone->INFO_PRINTF3(_L("Test %d - CRetrieveMobilePhonePreferredNetworks OOM Test required %d allocations to succeed"),iTestMemPhone->iTestCount++,iFailEvery);
       
   372 	}
       
   373 
       
   374 TInt CTestMemPhone::CMemTestGetPreferredNetworks::RunError(TInt aError)
       
   375 	{
       
   376 	if (aError == KErrNoMemory)
       
   377 		{
       
   378 		iFailEvery++;
       
   379 		StartMemTest();
       
   380 		return KErrNone;
       
   381 		}
       
   382 	else
       
   383 		return aError;
       
   384 	}