sl@0: // Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: @test sl@0: */ sl@0: #include "eglteststep.h" sl@0: sl@0: #include "egltest_general.h" sl@0: #include "egltest_geterroranddisplay.h" sl@0: #include "egltest_syncobject.h" sl@0: #include "egltest_nativepixmaptype.h" sl@0: #include "egltest_createpixmapsurface.h" sl@0: #include "egltest_image.h" sl@0: #include "egltest_sibling.h" sl@0: #include "egltest_image_negative.h" sl@0: #include "egltest_vgimagetosurfaces.h" sl@0: #include "egltest_image_multithread.h" sl@0: #include "egltest_image_multiprocess.h" sl@0: #include "egltest_benchmark_sgimage.h" sl@0: #include "egltest_oom_sgimage.h" sl@0: #include "egltest_stress_sgimage.h" sl@0: #include "egltest_benchmark_swapbuffers.h" sl@0: #include "egltest_surfacescaling.h" sl@0: sl@0: /* sl@0: Entry point from egltest to create test step sl@0: */ sl@0: EXPORT_C CEglTestStep* EglTestStepFactory::GetEglTestStep(const TDesC& aStepName) sl@0: // static sl@0: { sl@0: CEglTestStep* testStep = NULL; sl@0: sl@0: // General tests sl@0: if (aStepName == KDumpStrings) testStep = new CEglTest_DumpStrings; sl@0: else if (aStepName == KQueryString_Extensions) testStep = new CEglTest_QueryString_Extensions; sl@0: else if (aStepName == KEglTerminate_Negative) testStep = new CEglTest_EglTerminate_Negative; sl@0: else if (aStepName == KGeneral_Negative_ProcAddress) testStep = new CEglTest_General_Negative_ProcAddress; sl@0: sl@0: // GetError and Display tests sl@0: else if (aStepName == KGetError) testStep = new CEglTest_GetError; sl@0: else if (aStepName == KGetErrorMultiThread) testStep = new CEglTest_GetErrorMultiThread; sl@0: else if (aStepName == KDisplay_Positive_Basic) testStep = new CEglTest_Display_Positive_Basic; sl@0: else if (aStepName == KDisplay_Negative_InvalidDisplay) testStep = new CEglTest_Display_Negative_InvalidDisplay; sl@0: else if (aStepName == KDisplay_Negative_NotInitializedDisplay) testStep = new CEglTest_Display_Negative_NotInitializedDisplay; sl@0: else if (aStepName == KDisplay_Positive_ReinitializeDisplay) testStep = new CEglTest_Display_Positive_ReinitializeDisplay; sl@0: else if (aStepName == KDisplay_Positive_MultipleInitialization) testStep = new CEglTest_Display_Positive_MultipleInitialization; sl@0: else if (aStepName == KDisplay_Positive_MultipleTermination) testStep = new CEglTest_Display_Positive_MultipleTermination; sl@0: else if (aStepName == KDisplay_Positive_Multithread_Basic) testStep = new CEglTest_Display_Positive_Multithread_Basic; sl@0: else if (aStepName == KDisplay_Positive_Multithread_InitTerminateInOneTread) testStep = new CEglTest_Display_Positive_Multithread_InitTerminateInOneTread; sl@0: else if (aStepName == KDisplay_Positive_Multithread_InitTerminateFromDifferentThread) testStep = new CEglTest_Display_Positive_Multithread_InitTerminateFromDifferentThread; sl@0: else if (aStepName == KDisplay_Positive_Multithread_Stress) testStep = new CEglTest_Display_Positive_Multithread_Stress; sl@0: else if (aStepName == KDisplay_Positive_Multiprocess_Basic) testStep = new CEglTest_Display_Positive_Multiprocess_Basic; sl@0: else if (aStepName == KDisplay_OOM_ClientHeap) testStep = new CEglTest_Display_OOM_ClientHeap; sl@0: else if (aStepName == KDisplay_OOM_ClientHeap_Initialize) testStep = new CEglTest_Display_OOM_ClientHeap_Initialize; sl@0: sl@0: // SyncObject tests excluding WaitFlush which requires OpenVG and OpenGL ES sl@0: else if (aStepName == KSyncObject_Positive_GetProcAddress) testStep = new CEglTest_SyncObject_Positive_GetProcAddress; sl@0: else if (aStepName == KSyncObject_Positive_CreateDestroy) testStep = new CEglTest_SyncObject_Positive_CreateDestroy; sl@0: else if (aStepName == KSyncObject_Positive_WaitSignal) testStep = new CEglTest_SyncObject_Positive_WaitSignal; sl@0: else if (aStepName == KSyncObject_Positive_WaitSignal2) testStep = new CEglTest_SyncObject_Positive_WaitSignal2; sl@0: else if (aStepName == KSyncObject_Positive_WaitDelete) testStep = new CEglTest_SyncObject_Positive_WaitDelete; sl@0: else if (aStepName == KSyncObject_Positive_WaitWithTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_WaitWithTimeoutExpired; sl@0: else if (aStepName == KSyncObject_Positive_SignalBeforeTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_SignalBeforeTimeoutExpired; sl@0: else if (aStepName == KSyncObject_Positive_DeleteBeforeTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_DeleteBeforeTimeoutExpired; sl@0: else if (aStepName == KSyncObject_Positive_Multithread_SignalBeforeTimeout) testStep = new CEglTest_SyncObject_Positive_Multithread_SignalBeforeTimeout; sl@0: else if (aStepName == KSyncObject_Positive_Multithread_SignalAfterTimeout) testStep = new CEglTest_SyncObject_Positive_Multithread_SignalAfterTimeout; sl@0: else if (aStepName == KSyncObject_Positive_Multithread_WaitOnTwoSyncObject) testStep = new CEglTest_SyncObject_Positive_Multithread_WaitOnTwoSyncObject; sl@0: else if (aStepName == KSyncObject_Positive_Wait_TestMode) testStep = new CEglTest_SyncObject_Positive_Wait_TestMode; sl@0: else if (aStepName == KSyncObject_Positive_Multithread_Deletion) testStep = new CEglTest_SyncObject_Positive_Multithread_Deletion; sl@0: else if (aStepName == KSyncObject_Positive_Terminate) testStep = new CEglTest_SyncObject_Positive_Terminate; sl@0: else if (aStepName == KSyncObject_Positive_TerminateBeforeTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_TerminateBeforeTimeoutExpired; sl@0: else if (aStepName == KSyncObject_Positive_Stress) testStep = new CEglTest_SyncObject_Positive_Stress; sl@0: else if (aStepName == KSyncObject_Negative_WrongParameters) testStep = new CEglTest_SyncObject_Negative_WrongParameters; sl@0: else if (aStepName == KSyncObject_Negative_SignalImpl) testStep = new CEglTest_SyncObject_Negative_SignalImpl; sl@0: else if (aStepName == KSyncObject_Negative_OOM) testStep = new CEglTest_SyncObject_Negative_OOM; sl@0: // SyncObjecte WaitFlush test is implementation specific as it uses OpenVG and OpenGL ES sl@0: else if (aStepName == KSyncObject_Positive_WaitFlush) testStep = new CEglTest_SyncObject_Positive_WaitFlush; sl@0: sl@0: // NativePixmapType tests sl@0: else if (aStepName == KNativePixmapType_SingleThread_Positive_RSgImage) testStep = new CEglTest_NativePixmapType_SingleThread_Positive_RSgImage; sl@0: else if (aStepName == KNativePixmapType_MultiThread_Positive_RSgImage_InitTwice) testStep = new CEglTest_NativePixmapType_MultiThread_Positive_RSgImage_InitTwice; sl@0: else if (aStepName == KNativePixmapType_MultiThread_Positive_RSgImage_InitTwice_NoRendezvous) testStep = new CEglTest_NativePixmapType_MultiThread_Positive_RSgImage_InitTwice_NoRendezvous; sl@0: else if (aStepName == KNativePixmapType_MultiThread_Positive_RSgImage_InitOneThreadOnly) testStep = new CEglTest_NativePixmapType_MultiThread_Positive_RSgImage_InitOneThreadOnly; sl@0: else if (aStepName == KNativePixmapType_MultiProcess_Both_RSgImage) testStep = new CEglTest_NativePixmapType_MultiProcess_Both_RSgImage; sl@0: else if (aStepName == KChooseConfig_EGL_MATCH_NATIVE_PIXMAP_KHR) testStep = new CEglTest_ChooseConfig_EGL_MATCH_NATIVE_PIXMAP_KHR; sl@0: else if (aStepName == KCFbsBitmap_EGL_MATCH_NATIVE_PIXMAP_KHR) testStep = new CEglTest_CFbsBitmap_EGL_MATCH_NATIVE_PIXMAP_KHR; sl@0: sl@0: // CreatePixmapSurface tests sl@0: else if (aStepName == KCreatePixmapSurface_RSgImage_Negative_RSgImage_NotInitialised) testStep = new CEglTest_CreatePixmapSurface_RSgImage_Negative_RSgImage_NotInitialised; sl@0: else if (aStepName == KCreatePixmapSurface_Negative_Invalid_Pixmap_Type) testStep = new CEglTest_CreatePixmapSurface_Negative_Invalid_Pixmap_Type; sl@0: else if (aStepName == KCreatePixmapSurface_Alpha_bit_RSgImage) testStep = new CEglTest_CreatePixmapSurface_Alpha_bit_RSgImage; sl@0: else if (aStepName == KCreatePixmapSurface_RSgImage_Positive_MantadoryFormatUsageSupport) testStep = new CEglTest_CreatePixmapSurface_RSgImage_Positive_MantadoryFormatUsageSupport; sl@0: sl@0: // Image tests sl@0: else if (aStepName == KEGL_Image_SgDriverHandle) testStep = new CEglTest_EGL_Image_SgDriverHandle; sl@0: else if (aStepName == KEGL_Image_RSgImage_UseOpenVG_PersistImageData) testStep = new CEglTest_EGL_Image_RSgImage_UseOpenVG_PersistImageData; sl@0: else if (aStepName == KEGL_Image_Consistent_Linked_List) testStep = new CEglTest_EGL_Image_Consistent_Linked_List; sl@0: sl@0: // Image negative tests sl@0: else if (aStepName == KEGL_Image_eglCreateImage_Bad_Parameter) testStep = new CEglTest_EGL_Image_eglCreateImage_Bad_Parameter; sl@0: else if (aStepName == KEGL_Image_UsageBits_Enforcement) testStep = new CEglTest_EGL_Image_UsageBits_Enforcement; sl@0: else if (aStepName == KEGL_Image_DestroyImageKHR) testStep = new CEglTest_EGL_Image_DestroyImageKHR; sl@0: else if (aStepName == KEGL_Image_VGImage_From_Invalid_EGLHandle) testStep = new CEglTest_EGL_Image_VGImage_From_Invalid_EGLHandle; sl@0: else if (aStepName == KEGL_Image_Self_Drawing) testStep = new CEglTest_EGL_Image_Self_Drawing; sl@0: sl@0: // Siblings tests sl@0: else if (aStepName == KEGL_Image_Sibling_Basic) testStep = new CEglTest_EGL_Image_Sibling_Basic; sl@0: else if (aStepName == KEGL_Image_Sibling_VGImage) testStep = new CEglTest_EGL_Image_Sibling_VGImage; sl@0: else if (aStepName == KEGL_Image_Sibling_Two_VGImages) testStep = new CEglTest_EGL_Image_Sibling_Two_VGImages; sl@0: else if (aStepName == KEGL_Image_Sibling_VGImage_Child) testStep = new CEglTest_EGL_Image_Sibling_VGImage_Child; sl@0: else if (aStepName == KEGL_Image_Sibling_VGImage_Child_CheckContents) testStep = new CEglTest_EGL_Image_Sibling_VGImage_Child_CheckContents; sl@0: else if (aStepName == KEGL_Image_Sibling_VGImage_Child_CheckContents_CloseSgEarlier) testStep = new CEglTest_EGL_Image_Sibling_VGImage_Child_CheckContents_CloseSgEarlier; sl@0: else if (aStepName == KEGL_Image_CreatePBufferFromClient_With_Sibling_VGImage) testStep = new CEglTest_EGL_Image_CreatePBufferFromClient_With_Sibling_VGImage; sl@0: sl@0: // VgImage to surfaces tests sl@0: else if (aStepName == KEGL_Image_VgImage_To_Pixmap) testStep = new CEglTest_EGL_Image_VgImage_To_Pixmap; sl@0: else if (aStepName == KEGL_Image_VGImage_To_Pixmap_CFbs) testStep = new CEglTest_EGL_Image_VGImage_To_Pixmap_CFbs; sl@0: else if (aStepName == KEGL_Image_VgImage_To_pBuffer) testStep = new CEglTest_EGL_Image_VgImage_To_pBuffer; sl@0: else if (aStepName == KEGL_Image_VgImage_To_Window) testStep = new CEglTest_EGL_Image_VgImage_To_Window; sl@0: sl@0: //MultiThreaded sl@0: else if (aStepName == KEGL_Image_Multi_Thread_Parallel) testStep = new CEglTest_EGL_Image_Multi_Thread_Parallel; sl@0: else if (aStepName == KEGL_Image_Multi_Thread_Sibling_Basic) testStep = new CEglTest_EGL_Image_Multi_Thread_Sibling_Basic; sl@0: else if (aStepName == KEGL_Image_Multi_Thread_Sibling_VGImage) testStep = new CEglTest_EGL_Image_Multi_Thread_Sibling_VGImage; sl@0: else if (aStepName == KEGL_Image_Multi_Thread_Sibling_VGImage_PassingEGLImage) testStep = new CEglTest_EGL_Image_Multi_Thread_Sibling_VGImage_PassingEGLImage; sl@0: else if (aStepName == KEGL_Image_Multi_Thread_Exit_Thread) testStep = new CEglTest_EGL_Image_Multi_Thread_Exit_Thread; sl@0: else if (aStepName == KEGL_Image_Multi_Thread_DrawAfterTerminate) testStep = new CEglTest_EGL_Image_Multi_Thread_DrawAfterTerminate; sl@0: sl@0: //MultiProcess sl@0: else if (aStepName == KEGL_Image_Multi_Process_Parallel) testStep = new CEglTest_EGL_Image_Multi_Process_Parallel; sl@0: else if (aStepName == KEGL_Image_Multi_Process_Sibling_Basic) testStep = new CEglTest_EGL_Image_Multi_Process_Sibling_Basic; sl@0: else if (aStepName == KEGL_Image_Multi_Process_Sibling_CheckContents) testStep = new CEglTest_EGL_Image_Multi_Process_Sibling_CheckContents; sl@0: else if (aStepName == KEGL_Image_Multi_Process_VgImage_Source) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_Source; sl@0: else if (aStepName == KEGL_Image_Multi_Process_VgImage_DrawAfterTerminate) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_DrawAfterTerminate; sl@0: else if (aStepName == KEGL_Image_Multi_Process_FontServer_Upfront) testStep = new CEglTest_EGL_Image_Multi_Process_FontServer_Upfront; sl@0: else if (aStepName == KEGL_Image_Multi_Process_FontServer_Deferred) testStep = new CEglTest_EGL_Image_Multi_Process_FontServer_Deferred; sl@0: else if (aStepName == KEGL_Image_Multi_Process_ThemeServer) testStep = new CEglTest_EGL_Image_Multi_Process_ThemeServer; sl@0: else if (aStepName == KEGL_Image_Multi_Process_VgImage_ProcessTerminate) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_ProcessTerminate; sl@0: else if (aStepName == KEGL_Image_Multi_Process_VgImage_ProcessTerminateNegative) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_ProcessTerminateNegative; sl@0: else if (aStepName == KEGL_Image_Multi_Process_VgImage_ReadWrite) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_ReadWrite; sl@0: sl@0: // Benchmark - SgImage sl@0: else if (aStepName == KBenchmark_CreateCloseImage) testStep = new CEglTest_Benchmark_CreateCloseImage; sl@0: else if (aStepName == KBenchmark_Multi_Process_CreateCloseImage) testStep = new CEglTest_Benchmark_Multi_Process_CreateCloseImage; sl@0: else if (aStepName == KBenchmark_DrawImage) testStep = new CEglTest_Benchmark_DrawImage; sl@0: sl@0: // Benchmark - SwapBuffers sl@0: else if (aStepName == KBenchmark_SwapBuffers) testStep = new CEglTest_Benchmark_SwapBuffers; sl@0: sl@0: //OOM - SgImage sl@0: else if (aStepName == KOOM_CloseVGImageWithTermination) testStep = new CEglTest_OOM_CloseVGImageWithTermination; sl@0: else if (aStepName == KOOM_CloseVGImage) testStep = new CEglTest_OOM_CloseVGImage; sl@0: else if (aStepName == KOOM_ClosePixmapSurfaceWithTermination) testStep = new CEglTest_OOM_ClosePixmapSurfaceWithTermination; sl@0: else if (aStepName == KOOM_ClosePixmapSurface) testStep = new CEglTest_OOM_ClosePixmapSurface; sl@0: else if (aStepName == KOOM_CloseSgImageDifferentProcess) testStep = new CEglTest_OOM_CloseSgImageDifferentProcess; sl@0: else if (aStepName == KOOM_CloseSgImageSameThread) testStep = new CEglTest_OOM_CloseSgImageSameThread; sl@0: sl@0: //Stress - SgImage sl@0: else if (aStepName == KStress) testStep = new CEglTest_Stress; sl@0: sl@0: // Surface Scaling sl@0: else if (aStepName == KSurfaceScaling_Positive) testStep = new CEglTest_SurfaceScaling_Positive; sl@0: else if (aStepName == KSurfaceScaling_WindowResize) testStep = new CEglTest_SurfaceScaling_WindowResize; sl@0: else if (aStepName == KSurfaceScaling_ExtentPositionChange) testStep = new CEglTest_SurfaceScaling_ExtentPositionChange; sl@0: else if (aStepName == KSurfaceScaling_ExtentSizeChange) testStep = new CEglTest_SurfaceScaling_ExtentSizeChange; sl@0: else if (aStepName == KSurfaceScaling_SwapBuffers) testStep = new CEglTest_SurfaceScaling_SwapBuffers; sl@0: else if (aStepName == KSurfaceScaling_WindowSurface_Check) testStep = new CEglTest_SurfaceScaling_WindowSurface_Check; sl@0: else if (aStepName == KSurfaceScaling_Negative_CreateWindowSurface) testStep = new CEglTest_SurfaceScaling_Negative_CreateWindowSurface; sl@0: else if (aStepName == KSurfaceScaling_Negative_FixedSize_NonWindowSurface) testStep = new CEglTest_SurfaceScaling_Negative_FixedSize_NonWindowSurface; sl@0: else if (aStepName == KSurfaceScalingDefaultBorderColor) testStep = new CEglTest_SurfaceScalingDefaultBorderColor; sl@0: else if (aStepName == KSurfaceScalingModifyingBorderColor) testStep = new CEglTest_SurfaceScalingModifyingBorderColor; sl@0: else if (aStepName == KSurfaceScalingModifyingBorderColorNonFixed) testStep = new CEglTest_SurfaceScalingModifyingBorderColorNonFixed; sl@0: else if (aStepName == KSurfaceScalingModifyingInvalidBorderColor) testStep = new CEglTest_SurfaceScalingModifyingInvalidBorderColor; sl@0: else if (aStepName == KSurfaceScalingModifyingExtent) testStep = new CEglTest_SurfaceScalingModifyingExtent; sl@0: else if (aStepName == KSurfaceScalingModifyingExtentNonFixed) testStep = new CEglTest_SurfaceScalingModifyingExtentNonFixed; sl@0: else if (aStepName == KSurfaceScalingQuerySurface) testStep = new CEglTest_SurfaceScalingQuerySurface; sl@0: else if (aStepName == KSurfaceScalingQuerySurfaceNonFixed) testStep = new CEglTest_SurfaceScalingQuerySurfaceNonFixed; sl@0: else if (aStepName == KSurfaceScalingCapability) testStep = new CEglTest_SurfaceScalingCapability; sl@0: else if (aStepName == KSurfaceScalingSet) testStep = new CEglTest_SurfaceScalingSet; sl@0: else if (aStepName == KSurfaceScalingSetNonFixed) testStep = new CEglTest_SurfaceScalingSetNonFixed; sl@0: else if (aStepName == KSurfaceScalingSetInvalidAttributes) testStep = new CEglTest_SurfaceScalingSetInvalidAttributes; sl@0: else if (aStepName == KSurfaceScalingNotInitialized) testStep = new CEglTest_SurfaceScalingNotInitialized; sl@0: sl@0: return testStep; sl@0: }