windowing/windowserver/tauto/TOOM.CPP
changeset 116 171fae344dd4
parent 103 2717213c588a
--- a/windowing/windowserver/tauto/TOOM.CPP	Tue Jun 22 15:21:29 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1583 +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:
-// Out of memory tests
-// 
-//
-
-/**
- @file
- @test
- @internalComponent - Internal Symbian test code
-*/
-
-
-#include "TOOM.H"
-
- 
-typedef COomFailBase *(*COmmCreate)(CTOom *aTest);
-
-COomFailBase *CreateOomConnect(CTOom *aTest)
-	{return(new(ELeave) COomConnect(aTest));}
-
-COomFailBase *CreateOomWindow(CTOom *aTest)
-	{return(new(ELeave) COomWindow(aTest));}
-
-COomFailBase *CreateOomWindowGroup(CTOom *aTest)
-	{return(new(ELeave) COomWindowGroup(aTest));}
-
-COomFailBase *CreateOomBackedUpWindow(CTOom *aTest)
-	{return(new(ELeave) COomBackedUpWindow(aTest));}
-
-COomFailBase *CreateOomBackupResize(CTOom *aTest)
-	{return(new(ELeave) COomBackupResize(aTest));}
-
-COomFailBase *CreateOomBlankWindow(CTOom *aTest)
-	{return(new(ELeave) COomBlankWindow(aTest));}
-
-COomFailBase *CreateOomGc(CTOom *aTest)
-	{return(new(ELeave) COomGc(aTest));}
-
-COomFailBase *CreateOomScreenDevice(CTOom *aTest)
-	{return(new(ELeave) COomScreenDevice(aTest));}
-
-COomFailBase *CreateOomPointerBuffer(CTOom *aTest)
-	{return(new(ELeave) COomPointerBuffer(aTest));}
-
-COomFailBase *CreateOomPolygon(CTOom *aTest)
-	{return(new(ELeave) COomPolygon(aTest));}
-
-COomFailBase *CreateOomPriorityKey(CTOom *aTest)
-	{return(new(ELeave) COomPriorityKey(aTest));}
-
-COomFailBase *CreateOomCaptureKey(CTOom *aTest)
-	{return(new(ELeave) COomCaptureKey(aTest));}
-
-COomFailBase *CreateOomCaptureKeyUpDown(CTOom *aTest)
-	{return(new(ELeave) COomCaptureKeyUpDown(aTest));}
-
-COomFailBase *CreateOomHotKey(CTOom *aTest)
-	{return(new(ELeave) COomHotKey(aTest));}
-
-COomFailBase *CreateOomGroupName(CTOom *aTest)
-	{return(new(ELeave) COomGroupName(aTest));}
-
-COomFailBase *CreateOomMessageSend(CTOom *aTest)
-	{return(new(ELeave) COomMessageSend(aTest));}
-
-COomFailBase *CreateOomMessageFetch(CTOom *aTest)
-	{return(new(ELeave) COomMessageFetch(aTest));}
-
-COomFailBase *CreateOomSprite(CTOom *aTest)
-	{return(new(ELeave) COomSprite(aTest));}
-
-COomFailBase *CreateOomPointerCursor(CTOom *aTest)
-	{return(new(ELeave) COomPointerCursor(aTest));}
-
-COomFailBase *CreateOomCopyScreen(CTOom *aTest)
-	{return(new(ELeave) COomCopyScreen(aTest));}
-
-COomFailBase *CreateOomRequestEvents(CTOom *aTest)
-	{return(new(ELeave) COomRequestEvents(aTest));}
-
-COomFailBase *CreateOomCustomTextCursor(CTOom *aTest)
-	{return(new(ELeave) COomCustomTextCursor(aTest));}
-
-COomFailBase *CreateOomTranspWindow(CTOom *aTest)
-	{return(new(ELeave) COomTranspWindow(aTest));}
-
-COomFailBase *CreateOomObscuredWindow(CTOom *aTest)
-	{return(new(ELeave) COomObscuredWindow(aTest));}
-
-COmmCreate CreateOomFailTest[]={
-	CreateOomConnect,
-	CreateOomWindow,
-	CreateOomWindowGroup,
-	CreateOomBackedUpWindow,
-	CreateOomBackupResize,
-	CreateOomBlankWindow,
-	CreateOomGc,
-	CreateOomScreenDevice,
-	CreateOomPointerBuffer,
-	CreateOomPolygon,
-	CreateOomPriorityKey,
-	CreateOomCaptureKey,
-	CreateOomCaptureKeyUpDown,
-	CreateOomHotKey,
-	CreateOomGroupName,
-	CreateOomSprite,
-	CreateOomPointerCursor,
-	CreateOomCopyScreen,
-	CreateOomRequestEvents,
-	CreateOomMessageSend,
-	CreateOomMessageFetch,
-	CreateOomCustomTextCursor,
-	CreateOomTranspWindow,
-	CreateOomObscuredWindow,
-	};
-
-//
-// Individual out of memory test classes //
-//
-
-COomFailBase::COomFailBase(CTOom *aTest) : iTest(aTest)
-	{}
-
-void COomFailBase::ConstructL()
-	{
-	iTest->INFO_PRINTF1(TestName());
-	}
-
-void COomFailBase::PreFail()
-	{}
-
-void COomFailBase::ClearUpL()
-	{}
-
-void COomFailBase::Flush()
-	{
-	iWs.Flush();
-	}
-
-COomConnect::COomConnect(CTOom *aTest) : COomFailBase(aTest)
-	{}
-
-TOomTestName COomConnect::TestName()
-	{
-	return(_L("Connect"));
-	}
-
-/** Creates a wserv session, connects and creates CWsScreenDevice object
-*/
-TInt COomConnect::Fail()
-	{
-	TInt err = iWs.Connect();
-	if (err!=KErrNone)
-		return err;
-	
-	TRAP(err, iDummyScreen = new (ELeave) CWsScreenDevice(iWs));
-	if (err!=KErrNone)
-		{
-		iWs.Close();
-		return err;
-		}
-		
-	if ((err=iDummyScreen->Construct(iTest->ScreenNumber()))!=KErrNone)
-		{
-		delete iDummyScreen;
-		iDummyScreen = NULL;
-		iWs.Close();
-		return err;
-		}
-		
-	return err;
-	}
-
-void COomConnect::ClearUpL()
-	{
-	if (iDummyScreen)
-		{
-		delete iDummyScreen;
-		iDummyScreen = NULL;
-		}
-	iWs.Close();
-	}
-
-//
-
-COomSetup::COomSetup(CTOom *aTest) : COomFailBase(aTest)
-	{}
-
-void COomSetup::ConstructL()
-	{
-	COomFailBase::ConstructL();
-	User::LeaveIfError(iWs.Connect());
-	iDummyScreen = new (ELeave) CWsScreenDevice(iWs);
-	User::LeaveIfError(iDummyScreen->Construct(iTest->ScreenNumber()));
-	
-	iWinGroup=RWindowGroup(iWs);
-	iWinGroup.Construct(556);
-	iWinGroup.EnableReceiptOfFocus(EFalse);	// Stop auto group switching on close
-	}
-
-COomSetup::~COomSetup()
-	{
-	iWinGroup.Close();
-	delete iDummyScreen;
-	iDummyScreen = NULL;
-	
-	iTest->TEST(iWs.ResourceCount()==0);
-	if (iWs.ResourceCount()!=0)
-		iTest->INFO_PRINTF3(_L("iWs.ResourceCount() return value - Expected: %d, Actual: %d"), 0, iWs.ResourceCount());			
-
-	iWs.Close();
-	}
-
-//
-
-COomWindowGroup::COomWindowGroup(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-TOomTestName COomWindowGroup::TestName()
-	{
-	return(_L("Window Group"));
-	}
-
-/** Creates a RWindowGroup object
-*/
-TInt COomWindowGroup::Fail()
-	{
-	iFailWinGroup=RWindowGroup(iWs);
-	return(iFailWinGroup.Construct(987));
-	}
-
-void COomWindowGroup::ClearUpL()
-	{
-	iFailWinGroup.Close();
-	}
-
-//
-
-COomWindow::COomWindow(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-TOomTestName COomWindow::TestName()
-	{
-	return(_L("Window"));
-	}
-
-/** Creates a RWindow object
-*/
-TInt COomWindow::Fail()
-	{
-	iFailWin=RWindow(iWs);
-	return(iFailWin.Construct(iWinGroup,11));
-	}
-
-void COomWindow::ClearUpL()
-	{
-	iFailWin.Close();
-	}
-
-//
-
-COomBackedUpWindow::COomBackedUpWindow(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-TOomTestName COomBackedUpWindow::TestName()
-	{
-	return(_L("Backed up window"));
-	}
-
-/** Creates a RBackedUpWindow object
-*/
-TInt COomBackedUpWindow::Fail()
-	{
-	iFailWin=RBackedUpWindow(iWs);
-	return(iFailWin.Construct(iWinGroup,EGray16,22));
-	}
-
-void COomBackedUpWindow::ClearUpL()
-	{
-	iFailWin.Close();
-	}
-
-//
-
-COomBackupResize::COomBackupResize(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomBackupResize::~COomBackupResize()
-	{
-	iFailWin.Close();
-	}
-
-TOomTestName COomBackupResize::TestName()
-	{
-	return(_L("Resize backed up window"));
-	}
-
-void COomBackupResize::ConstructL()
-	{
-	COomSetup::ConstructL();
-	iFailWin=RBackedUpWindow(iWs);
-	User::LeaveIfError(iFailWin.Construct(iWinGroup,EGray16,33));
-	User::LeaveIfError(iFailWin.SetSizeErr(TSize(10,10)));
-	iFailWin.Activate();
-	}
-	
-/** Sets the size of previously created backed-up window
-*/
-TInt COomBackupResize::Fail()
-	{
-	return(iFailWin.SetSizeErr(TSize(100,100)));
-	}
-
-void COomBackupResize::ClearUpL()
-//Virtual fn declared in CoomFailBase. This is the only one that can leave, I think, but one is enough
-	{
-	User::LeaveIfError(iFailWin.SetSizeErr(TSize(10,10)));
-	}
-
-//
-
-COomBlankWindow::COomBlankWindow(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-TOomTestName COomBlankWindow::TestName()
-	{
-	return(_L("Blank window"));
-	}
-
-/** Creates a RBlankWindow object
-*/
-TInt COomBlankWindow::Fail()
-	{
-	iFailWin=RBlankWindow(iWs);
-	return(iFailWin.Construct(iWinGroup,44));
-	}
-
-void COomBlankWindow::ClearUpL()
-	{
-	iFailWin.Close();
-	}
-
-//
-
-COomPointerBuffer::COomPointerBuffer(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomPointerBuffer::~COomPointerBuffer()
-	{
-	iFailWin.Close();
-	}
-
-TOomTestName COomPointerBuffer::TestName()
-	{
-	return(_L("Pointer buffer"));
-	}
-
-void COomPointerBuffer::ConstructL()
-	{
-	COomSetup::ConstructL();
-	iFailWin=RBackedUpWindow(iWs);
-	User::LeaveIfError(iFailWin.Construct(iWinGroup,EGray16,55));
-	User::LeaveIfError(iFailWin.SetSizeErr(TSize(10,10)));
-	iFailWin.Activate();
-	}
-
-/** Allocates a buffer for storing pointer movements for previously created backed-up window
-*/
-TInt COomPointerBuffer::Fail()
-	{
-	return(iFailWin.AllocPointerMoveBuffer(10,0));
-	}
-
-void COomPointerBuffer::ClearUpL()
-	{
-	iFailWin.FreePointerMoveBuffer();
-	}
-
-//
-
-COomPriorityKey::COomPriorityKey(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomPriorityKey::~COomPriorityKey()
-	{
-	}
-
-TOomTestName COomPriorityKey::TestName()
-	{
-	return(_L("Priority key"));
-	}
-
-void COomPriorityKey::ConstructL()
-	{
-	COomSetup::ConstructL();
-	}
-
-/** Adds a priority key for a previously created window group
-*/
-TInt COomPriorityKey::Fail()
-	{
-	return(iWinGroup.AddPriorityKey(1,0,0));
-	}
-
-void COomPriorityKey::ClearUpL()
-	{
-	iWinGroup.RemovePriorityKey(1,0,0);
-	}
-
-//
-
-COomCaptureKey::COomCaptureKey(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomCaptureKey::~COomCaptureKey()
-	{
-	}
-
-TOomTestName COomCaptureKey::TestName()
-	{
-	return(_L("Capture key"));
-	}
-
-void COomCaptureKey::ConstructL()
-	{
-	COomSetup::ConstructL();
-	}
-
-/** Requests a capture keys for a previously created window group
-*/
-TInt COomCaptureKey::Fail()
-	{
-	for (iIndex=0;iIndex<(TInt)(sizeof(iCapKey)/sizeof(iCapKey[0]));iIndex++)
-		{
-		TInt ret=iWinGroup.CaptureKey('a',0,0);
-		if (ret<0)
-			return(ret);
-		iCapKey[iIndex]=ret;
-		}
-	return(KErrNone);
-	}
-
-void COomCaptureKey::ClearUpL()
-	{
-	for (TInt index=0;index<iIndex;index++)
-		iWinGroup.CancelCaptureKey(iCapKey[index]);
-	}
-
-//
-
-COomCaptureKeyUpDown::COomCaptureKeyUpDown(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomCaptureKeyUpDown::~COomCaptureKeyUpDown()
-	{
-	}
-
-TOomTestName COomCaptureKeyUpDown::TestName()
-	{
-	return(_L("Capture up/down keys"));
-	}
-
-void COomCaptureKeyUpDown::ConstructL()
-	{
-	COomSetup::ConstructL();
-	}
-
-/** Requests the capture of key-up and key-down events for a previously created window group
-*/
-TInt COomCaptureKeyUpDown::Fail()
-	{
-	for (iIndex=0;iIndex<(TInt)(sizeof(iCapKey)/sizeof(iCapKey[0]));iIndex++)
-		{
-		TInt ret=iWinGroup.CaptureKeyUpAndDowns('a',0,0);
-		if (ret<0)
-			return(ret);
-		iCapKey[iIndex]=ret;
-		}
-	return(KErrNone);
-	}
-
-void COomCaptureKeyUpDown::ClearUpL()
-	{
-	for (TInt index=0;index<iIndex;index++)
-		iWinGroup.CancelCaptureKeyUpAndDowns(iCapKey[index]);
-	}
-
-//
-
-COomHotKey::COomHotKey(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomHotKey::~COomHotKey()
-	{
-	}
-
-TOomTestName COomHotKey::TestName()
-	{
-	return(_L("hot keys"));
-	}
-
-void COomHotKey::ConstructL()
-	{
-	COomSetup::ConstructL();
-	}
-
-/** Sets hot key for the session.
-*/
-TInt COomHotKey::Fail()
-	{
-	return(iWs.SetHotKey(EHotKeyEnableLogging,'a',0,0));
-	}
-
-void COomHotKey::ClearUpL()
-	{
-	iWs.RestoreDefaultHotKey(EHotKeyEnableLogging);
-	}
-
-//
-
-COomGroupName::COomGroupName(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomGroupName::~COomGroupName()
-	{
-	}
-
-TOomTestName COomGroupName::TestName()
-	{
-	return(_L("Group name"));
-	}
-
-void COomGroupName::ConstructL()
-	{
-	COomSetup::ConstructL();
-	}
-
-/** Sets the window group's name.
-*/
-TInt COomGroupName::Fail()
-	{
-	return(iWinGroup.SetName(_L("A Name")));
-	}
-
-void COomGroupName::ClearUpL()
-	{
-	iWinGroup.SetName(_L(""));
-	}
-
-//
-
-COomMessageSend::COomMessageSend(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomMessageSend::~COomMessageSend()
-	{
-	}
-
-TOomTestName COomMessageSend::TestName()
-	{
-	return(_L("MessageSend"));
-	}
-
-void COomMessageSend::ConstructL()
-	{
-	COomSetup::ConstructL();
-	}
-
-void COomMessageSend::PreFail()
-	{
-	iWinGroup2=RWindowGroup(iWs);
-	iWinGroup2.Construct(557);
-	iWinGroup2.EnableReceiptOfFocus(EFalse);	// Stop auto group switching on close
-	}
-
-/** Sends a message to another window group
-*/
-TInt COomMessageSend::Fail()
-	{
-	TBuf8<0x20> params(_L8("SomeParams"));
-	return(iWs.SendMessageToWindowGroup(iWinGroup2.Identifier(),TUid::Uid(123),params));
-	}
-
-void COomMessageSend::ClearUpL()
-	{
-	iWinGroup2.Close();
-	}
-
-//
-
-COomMessageFetch::COomMessageFetch(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomMessageFetch::~COomMessageFetch()
-	{
-	}
-
-TOomTestName COomMessageFetch::TestName()
-	{
-	return(_L("MessageFetch"));
-	}
-
-void COomMessageFetch::ConstructL()
-	{
-	COomSetup::ConstructL();
-	}
-
-#define CLIENT_HANDLE 555
-#define UID_VALUE 123
-#define MESSAGE_LEN 0x20
-void COomMessageFetch::PreFail()
-	{
-	iWinGroup2=RWindowGroup(iWs);
-	iWinGroup2.Construct(CLIENT_HANDLE);
-	iWinGroup2.EnableReceiptOfFocus(EFalse);	// Stop auto group switching on close
-	TBuf8<MESSAGE_LEN> params(_L8("SomeParams"));
-	TBool retVal = iWs.SendMessageToWindowGroup(iWinGroup2.Identifier(),TUid::Uid(UID_VALUE),params);
-	iTest->TEST(retVal==KErrNone);
-	if (retVal!=KErrNone)
-		iTest->INFO_PRINTF3(_L("iWs.SendMessageToWindowGroup() return value - Expected: %d, Actual: %d"), KErrNone, retVal);			
-	}
-
-/** Fetches a message
-*/
-TInt COomMessageFetch::Fail()
-	{
-	TWsEvent event;
-	TPtr8 ptr(NULL,0);
-	TUid uid;
-	event.SetType(EEventMessageReady);
-	event.SetHandle(CLIENT_HANDLE);
-	event.SetTimeNow();
-	SEventMessageReady& eventMessageReady=*(SEventMessageReady*)event.EventData();
-	eventMessageReady.iWindowGroupIdentifier=iWinGroup2.Identifier();
-	eventMessageReady.iMessageUid=TUid::Uid(UID_VALUE);
-	eventMessageReady.iMessageParametersSize=MESSAGE_LEN;
-	TInt ret=TheClient->iWs.FetchMessage(uid,ptr,event);
-	if (ret==KErrNone)
-		User::Free((TAny *)ptr.Ptr());
-	return(ret);
-	}
-
-void COomMessageFetch::ClearUpL()
-	{
-	iWinGroup2.Close();
-	}
-
-//
-
-COomRequestEvents::COomRequestEvents(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomRequestEvents::~COomRequestEvents()
-	{
-	}
-
-TOomTestName COomRequestEvents::TestName()
-	{
-	return(_L("Request events"));
-	}
-
-void COomRequestEvents::ConstructL()
-	{
-	COomSetup::ConstructL();
-	}
-
-/** Enables window group change events and modifier change events
-*/
-TInt COomRequestEvents::Fail()
-	{
-	TInt err;
-	if ((err=iWinGroup.EnableOnEvents())==KErrNone)
-		if ((err=iWinGroup.EnableGroupChangeEvents())==KErrNone)
-			err=iWinGroup.EnableModifierChangedEvents(EModifierCapsLock,EEventControlAlways);
-	return(err);
-	}
-
-void COomRequestEvents::ClearUpL()
-	{
-	iWinGroup.DisableOnEvents();
-	iWinGroup.DisableGroupChangeEvents();
-	iWinGroup.DisableModifierChangedEvents();
-	}
-
-//
-
-COomCopyScreen::COomCopyScreen(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-TOomTestName COomCopyScreen::TestName()
-	{
-	return(_L("Copy screen"));
-	}
-
-COomCopyScreen::~COomCopyScreen()
-	{
-	delete iScrDev;
-	delete iBitmap;
-	}
-
-void COomCopyScreen::ConstructL()
-	{
-	COomSetup::ConstructL();
-	iScrDev=new(ELeave) CWsScreenDevice(iWs);
-	User::LeaveIfError(iScrDev->Construct(iTest->ScreenNumber()));
-	iBitmap=new(ELeave) CFbsBitmap();
-	User::LeaveIfError(iBitmap->Create(TSize(100,100),EGray4));
-	}
-
-/** Copies screen to bitmap
-*/
-TInt COomCopyScreen::Fail()
-	{
-	TInt ret=iScrDev->CopyScreenToBitmap(iBitmap);
-	if (ret==KErrNone)
-		ret=iScrDev->CopyScreenToBitmap(iBitmap,TRect(10,10,50,50));
-	return(ret);
-	}
-
-void COomCopyScreen::ClearUpL()
-	{
-	}
-
-//
-
-COomSpriteBase::COomSpriteBase(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomSpriteBase::~COomSpriteBase()
-	{
-	iWin.Close();
-	delete iBitmap;
-	delete iMask;
-	delete iBitmap2;
-	delete iMask2;
-	}
-
-void COomSpriteBase::ConstructL()
-	{
-	COomSetup::ConstructL();
-	iWin=RWindow(iWs);
-	User::LeaveIfError(iWin.Construct(iWinGroup,33));
-	User::LeaveIfError(iWin.SetSizeErr(TSize(100,100)));
-	iWin.Activate();
-	iBitmap=new(ELeave) CFbsBitmap();
-	User::LeaveIfError(iBitmap->Create(TSize(10,10),EGray4));
-	iBitmap2=new(ELeave) CFbsBitmap();
-	User::LeaveIfError(iBitmap2->Create(TSize(40,40),EGray4));
-	iMask=new(ELeave) CFbsBitmap();
-	User::LeaveIfError(iMask->Create(TSize(10,10),EGray4));
-	iMask2=new(ELeave) CFbsBitmap();
-	User::LeaveIfError(iMask2->Create(TSize(40,40),EGray4));
-	}
-
-//
-
-COomSprite::COomSprite(CTOom *aTest) : COomSpriteBase(aTest)
-	{}
-
-TOomTestName COomSprite::TestName()
-	{
-	return(_L("Sprites"));
-	}
-
-/** Creates a sprite.
-*/
-TInt COomSprite::Fail()
-	{
-	iSprite=RWsSprite(iWs);
-	TInt err=iSprite.Construct(iWin,TPoint(10,10),0);
-	if (err==KErrNone)
-		{
-		TSpriteMember sprite;
-		sprite.iBitmap=iBitmap;
-		sprite.iMaskBitmap=iMask;
-		sprite.iInvertMask=EFalse;
-		sprite.iDrawMode=CGraphicsContext::EDrawModePEN;
-		sprite.iOffset=TPoint(0,0);
-		sprite.iInterval=TTimeIntervalMicroSeconds32(100000);
-		if ((err=iSprite.AppendMember(sprite))==KErrNone)
-			if ((err=iSprite.Activate())==KErrNone)
-				{
-				sprite.iBitmap=iBitmap2;		// Bigger bitmap to force resize of bitmap
-				sprite.iMaskBitmap=iMask2;
-				if ((err=iSprite.AppendMember(sprite))==KErrNone)
-					err=iSprite.UpdateMember(1,sprite);
-				}
-		}
-	return(err);
-	}
-
-void COomSprite::ClearUpL()
-	{
-	iSprite.Close();
-	}
-
-//
-
-COomPointerCursor::COomPointerCursor(CTOom *aTest) : COomSpriteBase(aTest)
-	{}
-
-TOomTestName COomPointerCursor::TestName()
-	{
-	return(_L("Pointer cursor"));
-	}
-
-/** Creates a pointer cursor.
-*/
-TInt COomPointerCursor::Fail()
-	{
-	iPointerCursor=RWsPointerCursor(iWs);
-	TInt err=iPointerCursor.Construct(0);
-	if (err==KErrNone)
-		{
-		TSpriteMember sprite;
-		sprite.iBitmap=iBitmap;
-		sprite.iMaskBitmap=iMask;
-		sprite.iInvertMask=EFalse;
-		sprite.iDrawMode=CGraphicsContext::EDrawModePEN;
-		sprite.iOffset=TPoint(0,0);
-		sprite.iInterval=TTimeIntervalMicroSeconds32(100000);
-		if ((err=iPointerCursor.AppendMember(sprite))==KErrNone)
-			if ((err=iPointerCursor.Activate())==KErrNone)
-				{
-				sprite.iBitmap=iBitmap2;		// Bigger bitmap to force resize of bitmap
-				sprite.iMaskBitmap=iMask2;
-				if ((err=iPointerCursor.AppendMember(sprite))==KErrNone)
-					err=iPointerCursor.UpdateMember(1,sprite);
-				}
-		}
-	return(err);
-	}
-
-void COomPointerCursor::ClearUpL()
-	{
-	iPointerCursor.Close();
-	}
-
-//
-
-COomGc::COomGc(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomGc::~COomGc()
-	{
-	delete iScrDev;
-	}
-
-TOomTestName COomGc::TestName()
-	{
-	return(_L("Graphic Context"));
-	}
-
-void COomGc::ConstructL()
-	{
-	COomSetup::ConstructL();
-	iScrDev=new(ELeave) CWsScreenDevice(iWs);
-	User::LeaveIfError(iScrDev->Construct(iTest->ScreenNumber()));
-	}
-
-/** Creates a graphical context for a previously created screen device.
-*/
-TInt COomGc::Fail()
-	{
-	TRAPD(err,iFailGc=new(ELeave) CWindowGc(iScrDev));
-	if (err!=KErrNone)
-		return(err);
-	return(iFailGc->Construct());
-	}
-
-void COomGc::ClearUpL()
-	{
-	delete iFailGc;
-	iFailGc=NULL;
-	}
-
-//
-
-COomPolygon::COomPolygon(CTOom *aTest) : COomSetup(aTest), iPnts(5)
-	{}
-
-COomPolygon::~COomPolygon()
-	{
-	delete iGc;
-	delete iScrDev;
-	iWin.Close();
-	}
-
-TOomTestName COomPolygon::TestName()
-	{
-	return(_L("Polygon"));
-	}
-
-void COomPolygon::ConstructL()
-	{
-	COomSetup::ConstructL();
-	iScrDev=new(ELeave) CWsScreenDevice(iWs);
-	User::LeaveIfError(iScrDev->Construct(iTest->ScreenNumber()));
-	User::LeaveIfError(iScrDev->CreateContext(iGc));
-	iWin=RBackedUpWindow(iWs);
-	User::LeaveIfError(iWin.Construct(iWinGroup,EGray16,33));
-	User::LeaveIfError(iWin.SetSizeErr(TSize(40,40)));
-	iWin.Activate();
-	TInt index;
-	for(index=0;index<20;index+=2)
-		iPnts.AppendL(TPoint(20+index,index));
-	for(index=0;index<20;index+=2)
-		iPnts.AppendL(TPoint(40-index,20+index));
-	for(index=0;index<20;index+=2)
-		iPnts.AppendL(TPoint(20-index,40-index));
-	for(index=0;index<20;index+=2)
-		iPnts.AppendL(TPoint(index,20-index));
-	}
-
-/** Draws a polygon.
-*/
-TInt COomPolygon::Fail()
-	{
-	iGc->Activate(iWin);
-	iGc->Clear();
-	iGc->SetBrushStyle(CGraphicsContext::ESolidBrush);
-	iGc->SetBrushColor(TRgb::Gray4(2));
-	iGc->SetPenColor(TRgb::Gray4(0));
-	TInt err=iGc->DrawPolygon(&iPnts,CGraphicsContext::EAlternate);
-	if (err!=KErrNone)
-		return(err);
-	err=iGc->DrawPolygon(&iPnts,CGraphicsContext::EWinding);
-	if (err!=KErrNone)
-		return(err);
-	return(KErrNone);
-	}
-
-void COomPolygon::ClearUpL()
-	{
-	iGc->Deactivate();
-	}
-
-//
-
-COomScreenDevice::COomScreenDevice(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-TOomTestName COomScreenDevice::TestName()
-	{
-	return(_L("Screen device"));
-	}
-
-/** Creates a screen device handle.
-*/
-TInt COomScreenDevice::Fail()
-	{
-	TRAPD(err,iScrDev=new(ELeave) CWsScreenDevice(iWs));
-	if (err!=KErrNone)
-		return(err);
-	return(iScrDev->Construct(iTest->ScreenNumber()));
-	}
-
-void COomScreenDevice::ClearUpL()
-	{
-	delete iScrDev;
-	iScrDev=NULL;
-	}
-
-//
-
-COomCustomTextCursor::COomCustomTextCursor(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomCustomTextCursor::~COomCustomTextCursor()
-	{
-	delete iMemberArray;
-	delete iBitmap;
-	}
-
-TOomTestName COomCustomTextCursor::TestName()
-	{
-	return(_L("Custom Text Cursor"));
-	}
-
-void COomCustomTextCursor::ConstructL()
-	{
-	COomSetup::ConstructL();
-
-	iBitmap = new(ELeave) CFbsBitmap;
-	User::LeaveIfError(iBitmap->Load(TEST_BITMAP_NAME, EMbmWsautotestBmp1));
-
-	TSpriteMember member;
-	member.iMaskBitmap=NULL;
-	member.iInvertMask=EFalse;
-	member.iDrawMode=CGraphicsContext::EDrawModePEN;
-	member.iOffset=TPoint();
-	member.iInterval=TTimeIntervalMicroSeconds32(0);
-	member.iBitmap = iBitmap;
-
-	iMemberArray = new(ELeave) CArrayFixFlat<TSpriteMember>(1);
-	iMemberArray->AppendL(member);
-	}
-
-/** Adds a custom text cursor to the server's list of cursors.
-*/
-TInt COomCustomTextCursor::Fail()
-	{
-	TInt err = TheClient->iWs.SetCustomTextCursor(0x98765432, iMemberArray->Array(), 0, RWsSession::ECustomTextCursorAlignTop);
-	if (err == KErrAlreadyExists)
-		return KErrNone;
-	else
-		return err;
-	}
-
-void COomCustomTextCursor::ClearUpL()
-	{
-	}
-
-COomTranspWindow::COomTranspWindow(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-COomTranspWindow::~COomTranspWindow()
-	{
-	delete iBackgroundWin;
-	delete iFirst;
-	delete iSecond;
-	
-	delete iFbsBitmap;
-	delete iWsBitmap;
-	delete iFbsBitmapDevice; 
-	delete iFbsBitmapGc;
-	delete iWsBitmapDevice; 
-	delete iWsBitmapGc;				
-	}
-
-TOomTestName COomTranspWindow::TestName()
-	{
-	return(_L("Transparent Window"));
-	}
-
-void COomTranspWindow::ConstructL()
-	{
-	COomSetup::ConstructL();
-	
-	iTransparencyEnabled = (TransparencySupportedL() == KErrNone);
-	if(!iTransparencyEnabled)
-		return;
-
-	iFbsBitmap = new (ELeave) CFbsBitmap;
-
-	// Do the creation 
-	const TSize KSizeForBitmap(10,10);
-	iFbsBitmap->Create(KSizeForBitmap,EGray256);
-	
-	// Fill the bitmap with a colour		
-	iFbsBitmapDevice=CFbsBitmapDevice::NewL(iFbsBitmap);
-		
-	iFbsBitmapDevice->CreateContext(iFbsBitmapGc);
-	
-	iFbsBitmapGc->SetPenStyle(CGraphicsContext::ENullPen);
-	iFbsBitmapGc->SetBrushStyle(CGraphicsContext::ESolidBrush);	
-	iFbsBitmapGc->SetBrushColor(128);
-	iFbsBitmapGc->DrawRect(TRect(KSizeForBitmap));
-	
-	// Create a CWsBitmap, and fill it with a colour	
-	iWsBitmap = new (ELeave) CWsBitmap(TheClient->iWs);
-	
-	// Do the creation 
-	iWsBitmap->Create(KSizeForBitmap,EGray256);	
-		
-	// Fill the bitmap with a colour		
-	iWsBitmapDevice=CFbsBitmapDevice::NewL(iWsBitmap);	
-			
-	iWsBitmapDevice->CreateContext(iWsBitmapGc);		
-	iWsBitmapGc->SetPenStyle(CGraphicsContext::ENullPen);
-	iWsBitmapGc->SetBrushStyle(CGraphicsContext::ESolidBrush);	
-	iWsBitmapGc->SetBrushColor(128);
-	iWsBitmapGc->DrawRect(TRect(KSizeForBitmap));				
-	}
-	
-
-/** Does nothing if transparency is not enabled. Creates a blank window with 
-* two transparent child-windows. Tests setting the transparency via a factor, CFbsBitmap
-* or a CWsBitmap, and changing from one to the other.
-* Changes child-windows' sizes and toggles their visibility.
-*/
-TInt COomTranspWindow::Fail()
-	{
-	if(!iTransparencyEnabled)
-		return KErrNone;
-	TSize scrSize(TheClient->iScreen->SizeInPixels());
-	TRAPD(res, iBackgroundWin = new (ELeave) CBlankWindow(TRgb(0,0,238)));
-	if(res != KErrNone)
-		{
-		return res;	
-		}
-
-	TDisplayMode mode=EColor256;
-	TRAP(res, iBackgroundWin->SetUpL(TPoint(50,50),scrSize-TSize(100,100),TheClient->iGroup,*TheClient->iGc,&mode));
-	if(res != KErrNone)
-		{
-		return res;
-		}
-
-	TheClient->Flush();
-	TheClient->WaitForRedrawsToFinish();
-
-	iBackgroundWin->Win()->SetBackgroundColor(TRgb(51,204,51));
-	iBackgroundWin->Invalidate();
-
-	TheClient->Flush();
-	TheClient->WaitForRedrawsToFinish();
-
-	TRect	thePos1(20, 20, 60, 60);
-	TRect	thePos2(100, 40, 160, 80);
-	TRAP(res, iFirst = CTransWindow::NewL(iBackgroundWin, TRgb(255,0,0,128),&mode));
-	if(res != KErrNone)
-		{
-		return res;
-		}
-
-	TRAP(res, iSecond = CTransWindow::NewL(iBackgroundWin, TRgb(255,0,0,128),&mode));
-	if(res != KErrNone)
-		{
-		return res;
-		}
-
-	TRAP(res, iFirst->SetExtL(thePos1.iTl,thePos1.Size()));
-	if(res != KErrNone)
-		{
-		return res;
-		}
-
-	TRAP(res, iSecond->SetExtL(thePos2.iTl,thePos2.Size()));
-	if(res != KErrNone)
-		{
-		return res;
-		}
-
-	res=SetTransparencyTesting();
-	if(res != KErrNone)
-		{
-		return res;
-		}
-
-	TheClient->Flush();
-	//TheClient->WaitForRedrawsToFinish();
-
-	iFirst->Activate();
-	iFirst->AssignGC(*TheClient->iGc);
-
-	iSecond->Activate();
-	iSecond->AssignGC(*TheClient->iGc);
-
-	iFirst->Win()->SetBackgroundColor(TRgb(0, 0, 255));
-	iSecond->Win()->SetBackgroundColor(TRgb(0, 0, 255));
-	iFirst->Invalidate();
-	iSecond->Invalidate();
-	
-	iFirst->AdjustSize(150,10, 0);
-	iSecond->AdjustSize(150,10, 0);
-
-	TheClient->Flush();
-	TheClient->WaitForRedrawsToFinish();
-
-	iFirst->ToggleVisibility();
-	iSecond->ToggleVisibility();
-
-	TheClient->Flush();
-	TheClient->WaitForRedrawsToFinish();
-	
-	iFirst->AdjustSize(200,10, 0);
-	iSecond->AdjustSize(200,10, 0);
-
-	iFirst->ToggleVisibility();
-	iSecond->ToggleVisibility();
-
-	TheClient->Flush();
-	TheClient->WaitForRedrawsToFinish();
-
-	return KErrNone;
-	}
-
-
-// This function tests setting the transparency via a factor, CFbsBitmap
-// or a CWsBitmap, and changing from one to the other.
-TInt COomTranspWindow::SetTransparencyTesting()
-	{
-	TInt res;	
-	TLogMessageText buf;
-		
-	// Need all nine transitions, from the 3 ways to the same 3 ways.
-	// The ways are Factor, CWsBitmap, CFbsBitmap
-	const TRgb KTransparencyFactor(128,128,128);
-	res=iFirst->Win()->SetTransparencyFactor(KTransparencyFactor);
-	if (res!=KErrNone)
-		{
-		buf=_L("test failure!! with SetTransparencyFactor -1");
-		TheClient->LogMessage(buf);
-		return res;
-		}
-			
-	res=iFirst->Win()->SetTransparencyBitmap(*iFbsBitmap);
-	if (res!=KErrNone)
-		{
-		buf=_L("test failure!! with SetTransparencyBitmap - fbs -2");
-		TheClient->LogMessage(buf);
-		return res;
-		}			
-		
-	res=iFirst->Win()->SetTransparencyWsBitmap(*iWsBitmap);
-	if (res!=KErrNone)
-		{
-		buf=_L("test failure!! with SetTransparencyBitmap - Ws -3");
-		TheClient->LogMessage(buf);
-		return res;
-		}
-				
-	res=iFirst->Win()->SetTransparencyFactor(KTransparencyFactor);
-	if (res!=KErrNone)
-		{
-		buf=_L("test failure!! with SetTransparencyBitmap - fbs -4");
-		TheClient->LogMessage(buf);
-		return res;
-		}	
-	res=iFirst->Win()->SetTransparencyWsBitmap(*iWsBitmap);
-	if (res!=KErrNone)
-		{
-		buf=_L("test failure!! with SetTransparencyBitmap - Ws -5");
-		TheClient->LogMessage(buf);
-		return res;
-		}
-	res=iFirst->Win()->SetTransparencyWsBitmap(*iWsBitmap);
-	if (res!=KErrNone)
-		{
-		buf=_L("test failure!! with SetTransparencyBitmap - Ws -6");
-		TheClient->LogMessage(buf);
-		return res;
-		}			
-		
-	res=iFirst->Win()->SetTransparencyBitmap(*iFbsBitmap);
-	if (res!=KErrNone)
-		{
-		buf=_L("test failure!! with SetTransparencyBitmap - fbs -7");
-		TheClient->LogMessage(buf);
-		return res;
-		}	
-		
-	res=iFirst->Win()->SetTransparencyBitmap(*iFbsBitmap);
-	if (res!=KErrNone)
-		{
-		buf=_L("test failure!! with SetTransparencyBitmap - fbs -8");
-		TheClient->LogMessage(buf);
-		return res;
-		}
-		
-	res=iFirst->Win()->SetTransparencyFactor(KTransparencyFactor);
-	if (res!=KErrNone)
-		{
-		buf=_L("test failure!! with SetTransparencyFactor -9");
-		TheClient->LogMessage(buf);
-		return res;
-		}				
-		
-	res=iFirst->Win()->SetTransparencyFactor(KTransparencyFactor);
-	if (res!=KErrNone)
-		{
-		buf=_L("test failure!! with SetTransparencyFactor -10");
-		TheClient->LogMessage(buf);
-		return res;
-		}
-					
-	return res;
-	}	
-
-void COomTranspWindow::ClearUpL()
-	{
-	delete iFirst;
-	iFirst = NULL;
-	delete iSecond;
-	iSecond = NULL;
-	delete iBackgroundWin;
-	iBackgroundWin = NULL;
-	}
-
-//
-
-CWindowWithOneLine* CWindowWithOneLine::NewL(CTWinBase& aParent, const TRect& aExtent)
-	{
-	CWindowWithOneLine* self = new(ELeave) CWindowWithOneLine;
-	CleanupStack::PushL(self);
-	self->ConstructL(aParent);
-	const TSize screenSize(TheClient->iScreen->SizeInPixels());	
-	self->SetExtL(aExtent.iTl, aExtent.Size());
-	self->AssignGC(*TheClient->iGc);
-	self->Activate();
-	self->DrawNow();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-void CWindowWithOneLine::Draw()
-	{
-	iGc->DrawLine(TPoint(0,0), TPoint(Size().iWidth, Size().iHeight));
-	}
-
-//
-
-COomObscuredWindow::COomObscuredWindow(CTOom *aTest) : COomSetup(aTest)
-	{}
-
-TOomTestName COomObscuredWindow::TestName()
-	{
-	return(_L("Obscured window"));
-	}
-
-TInt COomObscuredWindow::Fail()
-	{
-	TRAPD(err, DoFailL());
-	return err;
-	}
-
-	
-void COomObscuredWindow::DoFailL()
-	{
-#ifdef __WINS__
-	RDebug::Print(_L("COomObscuredWindow::DoFailL - enter"));
-#endif
-	const TRect extent(20, 20, 100, 100);
-	CBlankWindow* backgroundWindow = new(ELeave) CBlankWindow(TRgb(12, 23, 34));
-	CleanupStack::PushL(backgroundWindow);
-	TDisplayMode mode = EColor16MAP;
-	backgroundWindow->SetUpL(extent.iTl, extent.Size(), TheClient->iGroup, *TheClient->iGc, &mode);
-	
-	CWindowWithOneLine* window = CWindowWithOneLine::NewL(*backgroundWindow, extent);
-	CleanupStack::PushL(window);
-#ifdef __WINS__
-	RDebug::Print(_L("COomObscuredWindow - WaitForRedrawsToFinish - 1"));
-#endif
-	TheClient->WaitForRedrawsToFinish();
-	
-	CBlankWindow* obscuringWindow = new(ELeave) CBlankWindow(TRgb(255, 0, 0));
-	CleanupStack::PushL(obscuringWindow);
-	obscuringWindow->SetUpL(extent.iTl, extent.Size(), backgroundWindow, *TheClient->iGc, &mode);
-
-	TheClient->Flush();
-#ifdef __WINS__
-    RDebug::Print(_L("COomObscuredWindow - WaitForRedrawsToFinish - 2"));
-#endif
-	TheClient->WaitForRedrawsToFinish();
-
-	window->Invalidate();
-
-	for(TInt i = 0; i < 50; i++)
-		{
-		RWindow anotherWin(iWs);
-		User::LeaveIfError(anotherWin.Construct(iWinGroup, 11));
-		anotherWin.Close();
-		
-		if(i % 4)
-			window->Invalidate();
-
-		TheClient->Flush();
-#ifdef __WINS__
-	    RDebug::Print(_L("COomObscuredWindow - WaitForRedrawsToFinish - 3 - %d"), i);
-#endif
-	    TheClient->WaitForRedrawsToFinish();
-		}
-
-	TheClient->Flush();
-#ifdef __WINS__
-    RDebug::Print(_L("COomObscuredWindow - WaitForRedrawsToFinish - 4"));
-#endif
-	TheClient->WaitForRedrawsToFinish();
-
-	CleanupStack::PopAndDestroy(obscuringWindow);
-	CleanupStack::PopAndDestroy(window);
-	CleanupStack::PopAndDestroy(backgroundWindow);
-#ifdef __WINS__
-    RDebug::Print(_L("COomObscuredWindow::DoFailL - exit"));
-#endif
-	}
-
-void COomObscuredWindow::ClearUpL()
-	{
-	}	
-
-//
-
-CTOom::CTOom(CTestStep* aStep) : CTWsGraphicsBase(aStep)
-	{
-	iState = 0;
-	}
-	
-const TDesC& CTOom::TestName() const
-	{
-	_LIT(KTestName,"CTOom");
-	return(KTestName());
-	}
-	
-void CTOom::DoOomTestL(COomFailBase *aOomTest)
-	{
-	//TLogMessageText buf;
-	TEST(aOomTest!=NULL);
-	if (aOomTest==NULL)
-		INFO_PRINTF1(_L("aOomTest - Expected: Not Null, Actual: NULL"));			
-
-	TRAPD(ret1,aOomTest->ConstructL());
-	TEST(ret1==KErrNone);
-	if (ret1!=KErrNone)
-		INFO_PRINTF3(_L("aOomTest->ConstructL() return value - Expected: %d, Actual: %d"), KErrNone, ret1);			
-
-	aOomTest->Flush();
-	__UHEAP_MARK;
-//	TInt oldCount=TheClient->iWs.HeapCount();
-	for(TInt mode=0;mode<3;mode++)
-		{
-		/*buf.Format(_L("OOMTest[%d] Mode=%d"),iState,mode),
-		TheClient->LogMessage(buf);*/
-		TInt successCount=0;
-		for(TInt count=1;;count++)
-			{
-			TInt ret;
-			aOomTest->PreFail();
-			if (mode==0)
-				TheClient->iWs.HeapSetFail(RHeap::EDeterministic,count);
-			else if (mode==1)
-				TheClient->iWs.HeapSetBurstFail(RHeap::EBurstFailNext, count, KMaxTUint16);
-			else if (mode==3)
-				{
-				__UHEAP_SETFAIL(RHeap::EDeterministic,count);	//Leavescan will complain about EFailNext, although it isn't a leaving function
-				}
-			ret=aOomTest->Fail();
-			if (mode==0)
-				TheClient->iWs.HeapSetFail(RHeap::ENone,0);
-			else if (mode==1)
-				TheClient->iWs.HeapSetBurstFail(RHeap::ENone, 0, 0);
-			else if (mode==2)
-				{
-				__UHEAP_RESET;
-				}
-			aOomTest->ClearUpL();  //In just 1 case this could leave...
-			aOomTest->Flush();
-			if (ret==KErrNone)
-				{
-				if (successCount==10)
-					break;
-				successCount++;
-				}
-			else
-				{
-				/*if (successCount>0)
-					{
-					buf.Format(_L("[%d,%d] Count=%d, MaxSuccess=%d"),iState,mode,count,successCount);
-					TheClient->LogMessage(buf);
-					}*/
-				successCount=0;
-				/*if (ret!=KErrNoMemory)
-					{
-					buf.Format(_L("[%d,%d] Fail, Count=%d, Error=%d"),iState,mode,count,ret);
-					TheClient->LogMessage(buf);
-					}*/
-				TEST(ret==KErrNoMemory);
-				if (ret!=KErrNoMemory)
-					INFO_PRINTF3(_L("aOomTest->Fail() return value - Expected: %d, Actual: %d"), KErrNoMemory, ret);			
-
-				}
-			}
-		/*buf.Format(_L("[%d,%d] LastCount=%d"),iState,mode,count),
-		TheClient->LogMessage(buf);*/
-		}
-//	TEST(oldCount>=TheClient->iWs.HeapCount());
-	__UHEAP_MARKEND;
-	delete aOomTest;
-	/*buf.Format(_L("OOMTest[%d] Finished"),iState);
-	TheClient->LogMessage(buf);*/
-	}
-
-void CTOom::ConstructL()
-	{
-	iShieldWin=RBlankWindow(TheClient->iWs);
-	User::LeaveIfError(iShieldWin.Construct(*(TheClient->iGroup->GroupWin()),1));
-//	iShieldWin.SetOrdinalPosition(0,-1);
-	iShieldWin.Activate();
-	}
-
-CTOom::~CTOom()
-	{
-	iShieldWin.Close();
-	}
-
-/**
-@SYMTestCaseID		GRAPHICS-WSERV-0124
-
-@SYMDEF             DEF081259
-
-@SYMTestCaseDesc    Out of memory tests
-
-@SYMTestPriority    High
-
-@SYMTestStatus      Implemented
-
-@SYMTestActions     Uses deterministic heap failure mode to test WSERV classes against out-of-memory errors.
-					Sets and unsets deterministic mode using both RWsSession.HeapSetFail() methods and
-					__UHEAP_SETFAIL/__UHEAP_RESET macros (doing this both client and WSERV threads are tested). 
-					On each step the test creates a failure object and repeatedly asks it to do some work (calling Fail() method).
-					A failure object is an object which encapsulates some allocation functionality inside it's Fail() method.
-					The test is performed for 23 different failure objects that do the following:
-						1. Creates a wserv session, connects and creates CWsScreenDevice object.
-						2. Creates a RWindowGroup object.
-						3. Creates a RWindow object.
-						4. Creates a RBackedUpWindow object.
-						5. Sets the size of previously created backed-up window.
-						6. Creates a RBlankWindow object.
-						7. Allocates a buffer for storing pointer movements for a previously created backed-up window.
-						8. Adds a priority key for a previously created window group.
-						9. Requests a capture keys for a previously created window group.
-						10. Requests the capture of key-up and key-down events for a previously created window group.
-						11. Sets hot key for the session.
-						12. Sets the window group's name.
-						13. Sends a message to another window group.
-						14. Fetches a message.
-						15. Enables window group change events and modifier change events.
-						16. Copies screen to bitmap.
-						17. Creates a sprite.
-						18. Creates a pointer cursor.
-						19. Creates a graphical context for a previously created screen device.
-						20. Draws a polygon.
-						21. Creates a screen device handle.
-						22. Adds a custom text cursor to the server's list of cursors.
-						23. Does nothing if transparency is not enabled. Creates a blank window with 
-							two transparent child-windows. Tests setting the transparency via a factor, CFbsBitmap
-							or a CWsBitmap, and changing from one to the other.
-							Changes child-windows' sizes and toggles their visibility.
-					
-
-@SYMTestExpectedResults The test checks that the creation failure objects doesn't fail and their's work either causes no errors or causes KErrNoMemory error.
-*/
-void CTOom::RunTestCaseL(TInt /*aCurTestCase*/) 
-	{
-	((CTOomStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0124"));
-	if (iState==0)
-		{
-		// commented by Anton Golovko, 01.03.2006 while converting to TEF
-		// the code below prevented the test to do anything.
-//		if (iTest->IsFullRomL()) 
-//			{
-//			TestComplete();
-//			return;
-//			}
-		iOldCount=TheClient->iWs.HeapCount();
-		}
-	else if (iState==sizeof(CreateOomFailTest)/sizeof(CreateOomFailTest[0]))
-		{
-		iTest->CloseAllPanicWindows();
-		TInt heapCount=TheClient->iWs.HeapCount();
-		if (heapCount>iOldCount)
-			{
-			TEST(iOldCount>=heapCount-184);		//For some uninvestigated reason 184 object get allocated on the server side, partly because of INFO_PRINTF1
-			if (iOldCount<heapCount-184)
-					INFO_PRINTF3(_L("iOldCount>=heapCount-174 - Expected: %d, Actual: %d"), heapCount-184, iOldCount);			
-
-			}
-		((CTOomStep*)iStep)->CloseTMSGraphicsStep();
-		TestComplete();
-		return;
-		}
-	DoOomTestL(CreateOomFailTest[iState++](this));
-	((CTOomStep*)iStep)->RecordTestResultL();
-	}
-	
-	
-	
-	
-__WS_CONSTRUCT_STEP__(Oom)
-