diff -r 000000000000 -r b16258d2340f applayerpluginsandutils/bookmarksupport/test/tbookmarkoom.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applayerpluginsandutils/bookmarksupport/test/tbookmarkoom.cpp Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,83 @@ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#include +#include "testutils.h" +#include "tbmoomtester.h" + +_LIT(KTitle, "Bookmark OOM Tests"); + +LOCAL_D RTest gTest( KTitle() ); + +LOCAL_D CTestWrapper* gTestWrapper; + + +LOCAL_C void StartOomTestL () + { + CBmOomTester* oomTester = CBmOomTester::NewL ( *gTestWrapper ); + CleanupStack::PushL ( oomTester ); + TRAPD ( err, oomTester->TestL () ); + User::LeaveIfError ( err ); + CleanupStack::PopAndDestroy ( oomTester ); + } + +LOCAL_C void DoOomTestsL () + { + gTestWrapper->Next(_L("[Bookmark tests] OOM testing")); + TInt ret = KErrNoMemory; + TInt failAt = 0; + while(ret != KErrNone) + { + failAt++; + gTestWrapper->Tester().Printf(_L("OOM test step: %d\n"),failAt); + + __UHEAP_SETFAIL( RHeap::EDeterministic, failAt ); + __UHEAP_MARK; + TRAP( ret, StartOomTestL() ); + __UHEAP_MARKEND; + __UHEAP_RESET; + + gTestWrapper->TESTE(ret == KErrNoMemory || ret == KErrNone, ret); + } + } + +LOCAL_C void DoTestL () + { + gTestWrapper = CTestWrapper::NewLC ( gTest ); + gTestWrapper->Start( _L( "@SYMTestCaseID IWS-APPPROTOCOLS-BOOKMARKS-TBOOKMARKOOM-0001 test" ) ); + + TRAPD ( err, DoOomTestsL () ); + gTestWrapper->TESTE ( err == KErrNone, err ); + + gTestWrapper->End (); + CleanupStack::PopAndDestroy ( gTestWrapper ); + } + +GLDEF_C TInt E32Main() + { + __UHEAP_MARK; + + // Install exception handler + CTrapCleanup* theCleanup = CTrapCleanup::New(); + + TRAPD( ret, DoTestL() ); + gTest( ret == KErrNone ); + + delete theCleanup; + + __UHEAP_MARKEND; + return KErrNone; + } +