--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/egl/egltest/src/eglteststep.cpp Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,159 @@
+// Copyright (c) 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:
+//
+
+/**
+ @file
+ @test
+*/
+#include "eglteststep.h"
+
+#include "egltest_general.h"
+#include "egltest_geterroranddisplay.h"
+#include "egltest_syncobject.h"
+#include "egltest_nativepixmaptype.h"
+#include "egltest_createpixmapsurface.h"
+#include "egltest_image.h"
+#include "egltest_sibling.h"
+#include "egltest_image_negative.h"
+#include "egltest_vgimagetosurfaces.h"
+#include "egltest_image_multithread.h"
+#include "egltest_image_multiprocess.h"
+#include "egltest_benchmark_sgimage.h"
+
+/*
+Entry point from egltest to create test step
+*/
+EXPORT_C CEglTestStep* EglTestStepFactory::GetEglTestStep(const TDesC& aStepName)
+// static
+ {
+ CEglTestStep* testStep = NULL;
+
+ // General tests
+ if (aStepName == KDumpStrings) testStep = new CEglTest_DumpStrings;
+ else if (aStepName == KQueryString_Extensions) testStep = new CEglTest_QueryString_Extensions;
+ else if (aStepName == KEglTerminate_Negative) testStep = new CEglTest_EglTerminate_Negative;
+ else if (aStepName == KGeneral_Negative_ProcAddress) testStep = new CEglTest_General_Negative_ProcAddress;
+
+ // GetError and Display tests
+ else if (aStepName == KGetError) testStep = new CEglTest_GetError;
+ else if (aStepName == KGetErrorMultiThread) testStep = new CEglTest_GetErrorMultiThread;
+ else if (aStepName == KDisplay_Positive_Basic) testStep = new CEglTest_Display_Positive_Basic;
+ else if (aStepName == KDisplay_Negative_InvalidDisplay) testStep = new CEglTest_Display_Negative_InvalidDisplay;
+ else if (aStepName == KDisplay_Negative_NotInitializedDisplay) testStep = new CEglTest_Display_Negative_NotInitializedDisplay;
+ else if (aStepName == KDisplay_Positive_ReinitializeDisplay) testStep = new CEglTest_Display_Positive_ReinitializeDisplay;
+ else if (aStepName == KDisplay_Positive_MultipleInitialization) testStep = new CEglTest_Display_Positive_MultipleInitialization;
+ else if (aStepName == KDisplay_Positive_MultipleTermination) testStep = new CEglTest_Display_Positive_MultipleTermination;
+ else if (aStepName == KDisplay_Positive_Multithread_Basic) testStep = new CEglTest_Display_Positive_Multithread_Basic;
+ else if (aStepName == KDisplay_Positive_Multithread_InitTerminateInOneTread) testStep = new CEglTest_Display_Positive_Multithread_InitTerminateInOneTread;
+ else if (aStepName == KDisplay_Positive_Multithread_InitTerminateFromDifferentThread) testStep = new CEglTest_Display_Positive_Multithread_InitTerminateFromDifferentThread;
+ else if (aStepName == KDisplay_Positive_Multithread_Stress) testStep = new CEglTest_Display_Positive_Multithread_Stress;
+ else if (aStepName == KDisplay_Positive_Multiprocess_Basic) testStep = new CEglTest_Display_Positive_Multiprocess_Basic;
+ else if (aStepName == KDisplay_OOM_ClientHeap) testStep = new CEglTest_Display_OOM_ClientHeap;
+ else if (aStepName == KDisplay_OOM_ClientHeap_Initialize) testStep = new CEglTest_Display_OOM_ClientHeap_Initialize;
+
+ //SyncObject tests excluding WaitFlush which requires OpenVG and OpenGL ES
+ else if (aStepName == KSyncObject_Positive_GetProcAddress) testStep = new CEglTest_SyncObject_Positive_GetProcAddress;
+ else if (aStepName == KSyncObject_Positive_CreateDestroy) testStep = new CEglTest_SyncObject_Positive_CreateDestroy;
+ else if (aStepName == KSyncObject_Positive_WaitSignal) testStep = new CEglTest_SyncObject_Positive_WaitSignal;
+ else if (aStepName == KSyncObject_Positive_WaitSignal2) testStep = new CEglTest_SyncObject_Positive_WaitSignal2;
+ else if (aStepName == KSyncObject_Positive_WaitDelete) testStep = new CEglTest_SyncObject_Positive_WaitDelete;
+ else if (aStepName == KSyncObject_Positive_WaitWithTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_WaitWithTimeoutExpired;
+ else if (aStepName == KSyncObject_Positive_SignalBeforeTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_SignalBeforeTimeoutExpired;
+ else if (aStepName == KSyncObject_Positive_DeleteBeforeTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_DeleteBeforeTimeoutExpired;
+ else if (aStepName == KSyncObject_Positive_Multithread_SignalBeforeTimeout) testStep = new CEglTest_SyncObject_Positive_Multithread_SignalBeforeTimeout;
+ else if (aStepName == KSyncObject_Positive_Multithread_SignalAfterTimeout) testStep = new CEglTest_SyncObject_Positive_Multithread_SignalAfterTimeout;
+ else if (aStepName == KSyncObject_Positive_Multithread_WaitOnTwoSyncObject) testStep = new CEglTest_SyncObject_Positive_Multithread_WaitOnTwoSyncObject;
+ else if (aStepName == KSyncObject_Positive_Wait_TestMode) testStep = new CEglTest_SyncObject_Positive_Wait_TestMode;
+ else if (aStepName == KSyncObject_Positive_Multithread_Deletion) testStep = new CEglTest_SyncObject_Positive_Multithread_Deletion;
+ else if (aStepName == KSyncObject_Positive_Terminate) testStep = new CEglTest_SyncObject_Positive_Terminate;
+ else if (aStepName == KSyncObject_Positive_TerminateBeforeTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_TerminateBeforeTimeoutExpired;
+ else if (aStepName == KSyncObject_Positive_Stress) testStep = new CEglTest_SyncObject_Positive_Stress;
+ else if (aStepName == KSyncObject_Negative_WrongParameters) testStep = new CEglTest_SyncObject_Negative_WrongParameters;
+ else if (aStepName == KSyncObject_Negative_SignalImpl) testStep = new CEglTest_SyncObject_Negative_SignalImpl;
+ else if (aStepName == KSyncObject_Negative_OOM) testStep = new CEglTest_SyncObject_Negative_OOM;
+ // SyncObjecte WaitFlush test is implementation specific as it uses OpenVG and OpenGL ES
+ else if (aStepName == KSyncObject_Positive_WaitFlush) testStep = new CEglTest_SyncObject_Positive_WaitFlush;
+
+ // NativePixmapType tests
+ else if (aStepName == KNativePixmapType_SingleThread_Positive_RSgImage) testStep = new CEglTest_NativePixmapType_SingleThread_Positive_RSgImage;
+ else if (aStepName == KNativePixmapType_MultiThread_Positive_RSgImage_InitTwice) testStep = new CEglTest_NativePixmapType_MultiThread_Positive_RSgImage_InitTwice;
+ else if (aStepName == KNativePixmapType_MultiThread_Positive_RSgImage_InitTwice_NoRendezvous) testStep = new CEglTest_NativePixmapType_MultiThread_Positive_RSgImage_InitTwice_NoRendezvous;
+ else if (aStepName == KNativePixmapType_MultiThread_Positive_RSgImage_InitOneThreadOnly) testStep = new CEglTest_NativePixmapType_MultiThread_Positive_RSgImage_InitOneThreadOnly;
+ else if (aStepName == KNativePixmapType_MultiProcess_Both_RSgImage) testStep = new CEglTest_NativePixmapType_MultiProcess_Both_RSgImage;
+ else if (aStepName == KChooseConfig_EGL_MATCH_NATIVE_PIXMAP_KHR) testStep = new CEglTest_ChooseConfig_EGL_MATCH_NATIVE_PIXMAP_KHR;
+ else if (aStepName == KCFbsBitmap_EGL_MATCH_NATIVE_PIXMAP_KHR) testStep = new CEglTest_CFbsBitmap_EGL_MATCH_NATIVE_PIXMAP_KHR;
+
+ // CreatePixmapSurface tests
+ else if (aStepName == KCreatePixmapSurface_RSgImage_Negative_RSgImage_NotInitialised) testStep = new CEglTest_CreatePixmapSurface_RSgImage_Negative_RSgImage_NotInitialised;
+ else if (aStepName == KCreatePixmapSurface_Negative_Invalid_Pixmap_Type) testStep = new CEglTest_CreatePixmapSurface_Negative_Invalid_Pixmap_Type;
+ else if (aStepName == KCreatePixmapSurface_Alpha_bit_RSgImage) testStep = new CEglTest_CreatePixmapSurface_Alpha_bit_RSgImage;
+ else if (aStepName == KCreatePixmapSurface_RSgImage_Positive_MantadoryFormatUsageSupport) testStep = new CEglTest_CreatePixmapSurface_RSgImage_Positive_MantadoryFormatUsageSupport;
+
+ // image tests
+ else if (aStepName == KEGL_Image_SgDriverHandle) testStep = new CEglTest_EGL_Image_SgDriverHandle;
+ else if (aStepName == KEGL_Image_RSgImage_UseOpenVG_PersistImageData) testStep = new CEglTest_EGL_Image_RSgImage_UseOpenVG_PersistImageData;
+ else if (aStepName == KEGL_Image_Consistent_Linked_List) testStep = new CEglTest_EGL_Image_Consistent_Linked_List;
+
+ // image negative tests
+ else if (aStepName == KEGL_Image_eglCreateImage_Bad_Parameter) testStep = new CEglTest_EGL_Image_eglCreateImage_Bad_Parameter;
+ else if (aStepName == KEGL_Image_UsageBits_Enforcement) testStep = new CEglTest_EGL_Image_UsageBits_Enforcement;
+ else if (aStepName == KEGL_Image_DestroyImageKHR) testStep = new CEglTest_EGL_Image_DestroyImageKHR;
+ else if (aStepName == KEGL_Image_VGImage_From_Invalid_EGLHandle) testStep = new CEglTest_EGL_Image_VGImage_From_Invalid_EGLHandle;
+ else if (aStepName == KEGL_Image_Self_Drawing) testStep = new CEglTest_EGL_Image_Self_Drawing;
+
+ //Siblings tests
+ else if (aStepName == KEGL_Image_Sibling_Basic) testStep = new CEglTest_EGL_Image_Sibling_Basic;
+ else if (aStepName == KEGL_Image_Sibling_VGImage) testStep = new CEglTest_EGL_Image_Sibling_VGImage;
+ else if (aStepName == KEGL_Image_Sibling_Two_VGImages) testStep = new CEglTest_EGL_Image_Sibling_Two_VGImages;
+ else if (aStepName == KEGL_Image_Sibling_VGImage_Child) testStep = new CEglTest_EGL_Image_Sibling_VGImage_Child;
+ else if (aStepName == KEGL_Image_Sibling_VGImage_Child_CheckContents) testStep = new CEglTest_EGL_Image_Sibling_VGImage_Child_CheckContents;
+ else if (aStepName == KEGL_Image_Sibling_VGImage_Child_CheckContents_CloseSgEarlier) testStep = new CEglTest_EGL_Image_Sibling_VGImage_Child_CheckContents_CloseSgEarlier;
+ else if (aStepName == KEGL_Image_CreatePBufferFromClient_With_Sibling_VGImage) testStep = new CEglTest_EGL_Image_CreatePBufferFromClient_With_Sibling_VGImage;
+
+ //VgImage to surfaces tests
+ else if (aStepName == KEGL_Image_VgImage_To_Pixmap) testStep = new CEglTest_EGL_Image_VgImage_To_Pixmap;
+ else if (aStepName == KEGL_Image_VGImage_To_Pixmap_CFbs) testStep = new CEglTest_EGL_Image_VGImage_To_Pixmap_CFbs;
+ else if (aStepName == KEGL_Image_VgImage_To_pBuffer) testStep = new CEglTest_EGL_Image_VgImage_To_pBuffer;
+ else if (aStepName == KEGL_Image_VgImage_To_Window) testStep = new CEglTest_EGL_Image_VgImage_To_Window;
+
+ //MultiThreaded
+ else if (aStepName == KEGL_Image_Multi_Thread_Parallel) testStep = new CEglTest_EGL_Image_Multi_Thread_Parallel;
+ else if (aStepName == KEGL_Image_Multi_Thread_Sibling_Basic) testStep = new CEglTest_EGL_Image_Multi_Thread_Sibling_Basic;
+ else if (aStepName == KEGL_Image_Multi_Thread_Sibling_VGImage) testStep = new CEglTest_EGL_Image_Multi_Thread_Sibling_VGImage;
+ else if (aStepName == KEGL_Image_Multi_Thread_Sibling_VGImage_PassingEGLImage) testStep = new CEglTest_EGL_Image_Multi_Thread_Sibling_VGImage_PassingEGLImage;
+ else if (aStepName == KEGL_Image_Multi_Thread_Exit_Thread) testStep = new CEglTest_EGL_Image_Multi_Thread_Exit_Thread;
+ else if (aStepName == KEGL_Image_Multi_Thread_DrawAfterTerminate) testStep = new CEglTest_EGL_Image_Multi_Thread_DrawAfterTerminate;
+
+ //MultiProcess
+ else if (aStepName == KEGL_Image_Multi_Process_Parallel) testStep = new CEglTest_EGL_Image_Multi_Process_Parallel;
+ else if (aStepName == KEGL_Image_Multi_Process_Sibling_Basic) testStep = new CEglTest_EGL_Image_Multi_Process_Sibling_Basic;
+ else if (aStepName == KEGL_Image_Multi_Process_Sibling_CheckContents) testStep = new CEglTest_EGL_Image_Multi_Process_Sibling_CheckContents;
+ else if (aStepName == KEGL_Image_Multi_Process_VgImage_Source) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_Source;
+ else if (aStepName == KEGL_Image_Multi_Process_VgImage_DrawAfterTerminate) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_DrawAfterTerminate;
+ else if (aStepName == KEGL_Image_Multi_Process_FontServer_Upfront) testStep = new CEglTest_EGL_Image_Multi_Process_FontServer_Upfront;
+ else if (aStepName == KEGL_Image_Multi_Process_FontServer_Deferred) testStep = new CEglTest_EGL_Image_Multi_Process_FontServer_Deferred;
+ else if (aStepName == KEGL_Image_Multi_Process_ThemeServer) testStep = new CEglTest_EGL_Image_Multi_Process_ThemeServer;
+ else if (aStepName == KEGL_Image_Multi_Process_VgImage_ProcessTerminate) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_ProcessTerminate;
+ else if (aStepName == KEGL_Image_Multi_Process_VgImage_ProcessTerminate2) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_ProcessTerminate2;
+ else if (aStepName == KEGL_Image_Multi_Process_VgImage_ProcessTerminateNegative) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_ProcessTerminateNegative;
+ else if (aStepName == KEGL_Image_Multi_Process_VgImage_ReadWrite) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_ReadWrite;
+
+ // Benchmark
+ else if (aStepName == KBenchmark_CreateCloseImage) testStep = new CEglTest_Benchmark_CreateCloseImage;
+ else if (aStepName == KBenchmark_Multi_Process_CreateCloseImage) testStep = new CEglTest_Benchmark_Multi_Process_CreateCloseImage;
+ else if (aStepName == KBenchmark_DrawImage) testStep = new CEglTest_Benchmark_DrawImage;
+
+ return testStep;
+ }