windowing/windowserver/tauto/TOOMDRAW.CPP
changeset 110 7f25ef56562d
parent 98 bf7481649c98
child 111 29ddb8a72f0e
--- a/windowing/windowserver/tauto/TOOMDRAW.CPP	Fri Jun 11 14:58:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-// Copyright (c) 1996-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:
-// Test out of memory redraws
-// 
-//
-
-/**
- @file
- @test
- @internalComponent - Internal Symbian test code
-*/
-
-#include "TOOMDRAW.H"
-
-void DrawTestScreen(CWindowGc *aGc, const TSize &aSize)
-	{
-	aGc->SetPenSize(TSize(10,10));
-	aGc->SetBrushStyle(CGraphicsContext::EVerticalHatchBrush);
-	aGc->DrawRect(TRect(aSize));
-	}
-
-CTestWin::CTestWin()
-	{
-	}
-
-void CTestWin::Draw()
-	{
-#if defined(FULLLOGGING)
-	_LIT(KLog,"Drawing Test Win:%d  %d,%d");
-	TLogMessageText buf;
-	buf.Format(KLog,Size().iWidth>320?1:0,Size().iWidth,Size().iHeight);
-	TheClient->LogMessage(buf);
-#endif
-	DrawTestScreen(iGc,Size());
-	}
-
-CBaseTestWin::CBaseTestWin() : CTBackedUpWin(EGray4)
-	{}
-
-void CBaseTestWin::Resized(const TSize &aNewSize)
-	{
-	TheGc->Activate(*DrawableWin());
-	DrawTestScreen(TheGc,aNewSize);
-	TheGc->Deactivate();
-	}
-
-CToomDraw::CToomDraw(CTestStep* aStep):
-	CTWsGraphicsBase(aStep)
-	{
-	}
-
-CToomDraw::~CToomDraw()
-	{
-	TheClient->iWs.HeapSetFail(RHeap::ENone,0);		//In case the test crashes and it hasn't been reset
-	DeleteWindows();
-	}
-
-void CToomDraw::DeleteWindows()
-	{
-	delete iTestWin;
-	iTestWin=NULL;
-	delete iBaseWin;
-	iBaseWin=NULL;
-	delete iBackWin;
-	iBackWin=NULL;
-	delete iBlankWin;
-	iBlankWin=NULL;
-	}
-
-void CToomDraw::ConstructL()
-	{
-	iScrSize=TheClient->iScreen->SizeInPixels();
-	iBlankWin=new(ELeave) CTBlankWindow;
-	iBlankWin->ConstructL(*TheClient->iGroup);
-	iBlankWin->SetColor(TRgb::Gray4(2));		//Grey
-	iBlankWin->Activate();
-	iBackWin=new(ELeave) CTestWin();
-	iBackWin->SetUpL(TPoint(0,iScrSize.iHeight/4), TSize(iScrSize.iWidth,iScrSize.iHeight/2), TheClient->iGroup, *TheClient->iGc);
-	iBaseWin=new(ELeave) CBaseTestWin();
-	iBaseWin->SetUpL(TPoint(iScrSize.iWidth*2/3,0), TSize(iScrSize.iWidth/3,iScrSize.iHeight), TheClient->iGroup, *TheClient->iGc);
-	}
-
-void CToomDraw::CreateTestWinL()
-	{
-	iTestWin=new(ELeave) CTestWin();
-	iTestWin->ConstructL(*TheClient->iGroup);
-	iTestWin->SetExtL(TPoint(0,0), TSize(iScrSize.iWidth/3,iScrSize.iHeight));
-	iTestWin->AssignGC(*TheClient->iGc);
-	iTestWin->BaseWin()->SetShadowHeight(2);
-	}
-
-void CToomDraw::TriggerOomDrawsL(TInt aCount)
-	{
-	if(iTestWin)
-		{
-		iTestWin->SetExtL(TPoint(),iScrSize);		
-		}
-	delete iTestWin;
-	iTestWin=NULL;
-	CreateTestWinL();
-	TheClient->iWs.HeapSetFail(RHeap::EDeterministic,aCount);
-	iTestWin->Activate();
-	TheClient->iWs.Finish();
-	}
-
-TBool CToomDraw::CheckWindowsL()
-	{
-	TLogMessageText buf;
-	TBool pass = DoCheckRect(iTestWin,iBaseWin);
-	if (pass)
-		{
-		TEST(ETrue);		//Adds one to test count
-	#if defined(FULLLOGGING)
-		_LIT(KLog,"OOM Draw Test Pass, State=%d");
-		buf.Format(KLog,iState);
-	#endif
-		iRetryCount=0;
-		}
-	else
-		{
-		if (iRetryCount==4)
-			{
-			if ((iTest->RedrawStoreTypeL()==EPartialRedraw_PreserveStoredCmds ||
-			iTest->RedrawStoreTypeL()==EPartialRedraw_FullRedrawSupport) && (iState==19 || iState==30) ||
-			((iState>=2 && iState<=6) && (iTest->RedrawStoreTypeL()==EPartialRedraw_None || iTest->RedrawStoreTypeL()==EPartialRedraw_FullRedrawSupport)))
-				{
-			#if defined(FULLLOGGING)
-				_LIT(KLog,"OOM Draw Test Known F a i l, State=%d");
-				buf.Format(KLog,iState);
-			#endif
-				pass=ETrue;
-				}
-			else
-				{
-				if (iFailAt==0)
-					iFailAt=iState;
-				++iFails; //mark this test as failed
-			#if defined(LOGGING)
-				_LIT(KLog,"OOM Draw Test FAIL, State=%d  <------- FAIL");
-				buf.Format(KLog,iState);
-			#endif
-				++iState; //and advance to next test
-				}
-			iRetryCount=0;
-			}
-		else
-			{
-		#if defined(FULLLOGGING)
-			_LIT(KLog,"OOM Draw Test F a i l, State=%d retrying");
-			buf.Format(KLog,iState);
-		#endif
-			if (++iRetryCount%2==0)
-				iBackWin->DrawNow();
-			}
-		}
-	if (buf.Length()>0)
-		TheClient->LogMessage(buf);
-	return pass;
-	}
-
-void CToomDraw::RunTestCaseL(TInt aCurTestCase)
-	{
-	TBool testFinished = false;
-	((CToomDrawStep*)iStep)->SetTestStepID(KUnknownSYMTestCaseIDName);
-	switch(aCurTestCase)
-		{
-/**
-@SYMTestCaseID		GRAPHICS-WSERV-0110
-
-@SYMDEF             DEF081259
-
-@SYMTestCaseDesc    Test trying to draw when out of memory
-
-@SYMTestPriority    High
-
-@SYMTestStatus      Implemented
-
-@SYMTestActions     Set out of memory and try drawing
-
-@SYMTestExpectedResults Out of memory drawing is handle correctly
-*/
-	case 1:
-		((CToomDrawStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0110"));
-		while (!testFinished)
-			{
-		if (iDoCheck)
-			{
-			TheClient->iWs.HeapSetFail(RHeap::ENone,0);
-			TheClient->WaitForRedrawsToFinish();
-			if (CheckWindowsL())
-				{
-				++iState;
-				if (iState==EMaxOOMState)
-					DeleteWindows();
-				}
-			iDoCheck=EFalse;
-			TheClient->iWs.Finish();
-			}
-		else
-			{
-			if (iState==EMaxOOMState)
-				{
-				if (iFails>0)
-					{
-			#if defined(LOGING)
-					_LIT(KLog,"OOM Draw Test Failed, First Fail At %d, Number of Fails %d");
-					TLogMessageText buf;
-					buf.Format(KLog,iFailAt,iFails);
-					TheClient->LogMessage(buf);
-			#endif
-					TEST(iFails==0);
-					}
-				User::After(500000);	// Let the rest of the world catch up after OOM death
-				testFinished = true;
-				}
-			else if (iState < 3 && iTest->IsFullRomL())
-				testFinished = true;
-			else
-				TriggerOomDrawsL(iState);
-			iDoCheck=ETrue;
-			}
-			}
-		break;
-	case 2:
-		((CToomDrawStep*)iStep)->SetTestStepID(KNotATestSYMTestCaseIDName);
-		((CToomDrawStep*)iStep)->CloseTMSGraphicsStep();
-		TestComplete();
-		break;
-		}
-	((CToomDrawStep*)iStep)->RecordTestResultL();
-	}
-
-__WS_CONSTRUCT_STEP__(oomDraw)