--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsresourceservices/graphicsresource/test/tgraphicsresourceteststepbase.h Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,104 @@
+// Copyright (c) 2007-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:
+//
+
+#ifndef TGRAPHICSRESOURCETESTSTEPBASE_H
+#define TGRAPHICSRESOURCETESTSTEPBASE_H
+
+#include "sgimage.h"
+#include "sgimagecollection.h"
+#include "sgresource.h"
+#include "tgraphicsresourcemultiprocessthread.h"
+#include <e32base.h>
+#include <test/testexecutestepbase.h>
+#include <graphics/sgimage_sw.h>
+#include <graphics/sgimage_chunk.h>
+#include <test/ttmsgraphicsstep.h>
+
+
+_LIT(KSgTestGenericPanicCategory, "SGRES");
+_LIT(KSgTestAdapterPanicCategory, "SGRES-ADAPTER");
+const TInt KMaxPixelFormats = 64;
+
+class CTSgTestStepBase : public CTTMSGraphicsStep
+ {
+public:
+ CTSgTestStepBase();
+ ~CTSgTestStepBase();
+ IMPORT_C void testBooleanTrue(TBool aCondition, const TText8* aFile, TInt aLine);
+protected:
+ // From CTestStep
+ virtual TVerdict doTestStepPreambleL();
+ virtual TVerdict doTestStepPostambleL();
+
+ //common utility functions
+ void CreateImageL(RSgImage& aImage);
+ void CreateImageCollectionL(RSgImageCollection& aCollection);
+ TInt CreateSecondProcessAndDoTestL(const TDesC &aProcessName, TSgresTestInfo& aTestInfo);
+ TInt CreateSecondThreadAndDoTestL(TSgresTestInfo aTestInfo);
+ void CreateSecondThreadAndCheckPanicL(TSgresTestInfo aTestInfo, TInt aPanicCode, TExitCategoryName aExitCategory, const TDesC &aThreadName);
+ void CreateSecondProcessAndCheckPanicL(TSgresTestInfo aTestInfo, TInt aPanicCode, TExitCategoryName aExitCategory, const TDesC &aProcessName);
+ void CallGetPixelFormatsL(TSgCpuAccess aCpuAccess, TUint32 aUsage, TBool aShareable, TInt aScreenId);
+ void TestGetPixelFormatCompatibilityGuaranteesL();
+ void CheckPixelFormatPresent(TUidPixelFormat aPixelFormat);
+ void TestOpenDriverL();
+ void TestCloseDriver();
+ static TBool CompareInfos(TSgImageInfo& info1, TSgImageInfo& info2);
+ static TInt SecondThreadStart(TAny* aInfo);
+ static void CloseDriverWhenLeave(TAny* aInfo);
+ void CheckErrorL(TInt aExpectedErrorCode, TInt aActualErrorCode, const TText8* aFile, TInt aLine);
+
+ //OOM test functions
+ void TestOOM();
+ virtual void DoMemoryTestsL();
+
+protected:
+ RThread iSecondThread;
+ TBool iRunningOomTests;
+private:
+ TInt iPixelFormatCount;
+ TUidPixelFormat iPixelFormatArray[KMaxPixelFormats];
+ };
+
+//common variables and functions
+const TUint16 KImageData[] = {
+ 0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,
+ 0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,
+ 0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,
+ 0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,
+ 0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,
+ 0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,
+ 0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,
+ 0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0,0x7E0
+ };
+
+const TInt KNumImagesInCollection = 10;
+
+#define TESTWITHFILENAMEANDLINENUMBERL(a, f, l) \
+ {\
+ testBooleanTrueL((a), f, l); \
+ }
+
+#if defined(__WINS__)
+_LIT(KSecondProcess, "tgraphicsresourcesecondprocess.exe");
+#elif defined(SYMBIAN_GRAPHICS_USE_GPU_MEMORY)
+_LIT(KSecondProcess, "tgraphicsresourcesecondprocess_mbx.exe");
+#else
+_LIT(KSecondProcess, "tgraphicsresourcesecondprocess_sw.exe");
+#endif
+
+_LIT(KSecondThread, "Test_GraphicsResource_SecondThread");
+_LIT(KSecondThreadSemaphore, "Second Thread Semaphore");
+
+#endif