diff -r 000000000000 -r 5d03bc08d59c egl/egltest/src/eglteststep.cpp --- /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; + }