1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/graphics/egl/egltest/src/eglteststep.cpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,199 @@
1.4 +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +//
1.18 +
1.19 +/**
1.20 + @file
1.21 + @test
1.22 +*/
1.23 +#include "eglteststep.h"
1.24 +
1.25 +#include "egltest_general.h"
1.26 +#include "egltest_geterroranddisplay.h"
1.27 +#include "egltest_syncobject.h"
1.28 +#include "egltest_nativepixmaptype.h"
1.29 +#include "egltest_createpixmapsurface.h"
1.30 +#include "egltest_image.h"
1.31 +#include "egltest_sibling.h"
1.32 +#include "egltest_image_negative.h"
1.33 +#include "egltest_vgimagetosurfaces.h"
1.34 +#include "egltest_image_multithread.h"
1.35 +#include "egltest_image_multiprocess.h"
1.36 +#include "egltest_benchmark_sgimage.h"
1.37 +#include "egltest_oom_sgimage.h"
1.38 +#include "egltest_stress_sgimage.h"
1.39 +#include "egltest_benchmark_swapbuffers.h"
1.40 +#include "egltest_surfacescaling.h"
1.41 +
1.42 +/*
1.43 +Entry point from egltest to create test step
1.44 +*/
1.45 +EXPORT_C CEglTestStep* EglTestStepFactory::GetEglTestStep(const TDesC& aStepName)
1.46 +// static
1.47 + {
1.48 + CEglTestStep* testStep = NULL;
1.49 +
1.50 + // General tests
1.51 + if (aStepName == KDumpStrings) testStep = new CEglTest_DumpStrings;
1.52 + else if (aStepName == KQueryString_Extensions) testStep = new CEglTest_QueryString_Extensions;
1.53 + else if (aStepName == KEglTerminate_Negative) testStep = new CEglTest_EglTerminate_Negative;
1.54 + else if (aStepName == KGeneral_Negative_ProcAddress) testStep = new CEglTest_General_Negative_ProcAddress;
1.55 +
1.56 + // GetError and Display tests
1.57 + else if (aStepName == KGetError) testStep = new CEglTest_GetError;
1.58 + else if (aStepName == KGetErrorMultiThread) testStep = new CEglTest_GetErrorMultiThread;
1.59 + else if (aStepName == KDisplay_Positive_Basic) testStep = new CEglTest_Display_Positive_Basic;
1.60 + else if (aStepName == KDisplay_Negative_InvalidDisplay) testStep = new CEglTest_Display_Negative_InvalidDisplay;
1.61 + else if (aStepName == KDisplay_Negative_NotInitializedDisplay) testStep = new CEglTest_Display_Negative_NotInitializedDisplay;
1.62 + else if (aStepName == KDisplay_Positive_ReinitializeDisplay) testStep = new CEglTest_Display_Positive_ReinitializeDisplay;
1.63 + else if (aStepName == KDisplay_Positive_MultipleInitialization) testStep = new CEglTest_Display_Positive_MultipleInitialization;
1.64 + else if (aStepName == KDisplay_Positive_MultipleTermination) testStep = new CEglTest_Display_Positive_MultipleTermination;
1.65 + else if (aStepName == KDisplay_Positive_Multithread_Basic) testStep = new CEglTest_Display_Positive_Multithread_Basic;
1.66 + else if (aStepName == KDisplay_Positive_Multithread_InitTerminateInOneTread) testStep = new CEglTest_Display_Positive_Multithread_InitTerminateInOneTread;
1.67 + else if (aStepName == KDisplay_Positive_Multithread_InitTerminateFromDifferentThread) testStep = new CEglTest_Display_Positive_Multithread_InitTerminateFromDifferentThread;
1.68 + else if (aStepName == KDisplay_Positive_Multithread_Stress) testStep = new CEglTest_Display_Positive_Multithread_Stress;
1.69 + else if (aStepName == KDisplay_Positive_Multiprocess_Basic) testStep = new CEglTest_Display_Positive_Multiprocess_Basic;
1.70 + else if (aStepName == KDisplay_OOM_ClientHeap) testStep = new CEglTest_Display_OOM_ClientHeap;
1.71 + else if (aStepName == KDisplay_OOM_ClientHeap_Initialize) testStep = new CEglTest_Display_OOM_ClientHeap_Initialize;
1.72 +
1.73 + // SyncObject tests excluding WaitFlush which requires OpenVG and OpenGL ES
1.74 + else if (aStepName == KSyncObject_Positive_GetProcAddress) testStep = new CEglTest_SyncObject_Positive_GetProcAddress;
1.75 + else if (aStepName == KSyncObject_Positive_CreateDestroy) testStep = new CEglTest_SyncObject_Positive_CreateDestroy;
1.76 + else if (aStepName == KSyncObject_Positive_WaitSignal) testStep = new CEglTest_SyncObject_Positive_WaitSignal;
1.77 + else if (aStepName == KSyncObject_Positive_WaitSignal2) testStep = new CEglTest_SyncObject_Positive_WaitSignal2;
1.78 + else if (aStepName == KSyncObject_Positive_WaitDelete) testStep = new CEglTest_SyncObject_Positive_WaitDelete;
1.79 + else if (aStepName == KSyncObject_Positive_WaitWithTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_WaitWithTimeoutExpired;
1.80 + else if (aStepName == KSyncObject_Positive_SignalBeforeTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_SignalBeforeTimeoutExpired;
1.81 + else if (aStepName == KSyncObject_Positive_DeleteBeforeTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_DeleteBeforeTimeoutExpired;
1.82 + else if (aStepName == KSyncObject_Positive_Multithread_SignalBeforeTimeout) testStep = new CEglTest_SyncObject_Positive_Multithread_SignalBeforeTimeout;
1.83 + else if (aStepName == KSyncObject_Positive_Multithread_SignalAfterTimeout) testStep = new CEglTest_SyncObject_Positive_Multithread_SignalAfterTimeout;
1.84 + else if (aStepName == KSyncObject_Positive_Multithread_WaitOnTwoSyncObject) testStep = new CEglTest_SyncObject_Positive_Multithread_WaitOnTwoSyncObject;
1.85 + else if (aStepName == KSyncObject_Positive_Wait_TestMode) testStep = new CEglTest_SyncObject_Positive_Wait_TestMode;
1.86 + else if (aStepName == KSyncObject_Positive_Multithread_Deletion) testStep = new CEglTest_SyncObject_Positive_Multithread_Deletion;
1.87 + else if (aStepName == KSyncObject_Positive_Terminate) testStep = new CEglTest_SyncObject_Positive_Terminate;
1.88 + else if (aStepName == KSyncObject_Positive_TerminateBeforeTimeoutExpired) testStep = new CEglTest_SyncObject_Positive_TerminateBeforeTimeoutExpired;
1.89 + else if (aStepName == KSyncObject_Positive_Stress) testStep = new CEglTest_SyncObject_Positive_Stress;
1.90 + else if (aStepName == KSyncObject_Negative_WrongParameters) testStep = new CEglTest_SyncObject_Negative_WrongParameters;
1.91 + else if (aStepName == KSyncObject_Negative_SignalImpl) testStep = new CEglTest_SyncObject_Negative_SignalImpl;
1.92 + else if (aStepName == KSyncObject_Negative_OOM) testStep = new CEglTest_SyncObject_Negative_OOM;
1.93 + // SyncObjecte WaitFlush test is implementation specific as it uses OpenVG and OpenGL ES
1.94 + else if (aStepName == KSyncObject_Positive_WaitFlush) testStep = new CEglTest_SyncObject_Positive_WaitFlush;
1.95 +
1.96 + // NativePixmapType tests
1.97 + else if (aStepName == KNativePixmapType_SingleThread_Positive_RSgImage) testStep = new CEglTest_NativePixmapType_SingleThread_Positive_RSgImage;
1.98 + else if (aStepName == KNativePixmapType_MultiThread_Positive_RSgImage_InitTwice) testStep = new CEglTest_NativePixmapType_MultiThread_Positive_RSgImage_InitTwice;
1.99 + else if (aStepName == KNativePixmapType_MultiThread_Positive_RSgImage_InitTwice_NoRendezvous) testStep = new CEglTest_NativePixmapType_MultiThread_Positive_RSgImage_InitTwice_NoRendezvous;
1.100 + else if (aStepName == KNativePixmapType_MultiThread_Positive_RSgImage_InitOneThreadOnly) testStep = new CEglTest_NativePixmapType_MultiThread_Positive_RSgImage_InitOneThreadOnly;
1.101 + else if (aStepName == KNativePixmapType_MultiProcess_Both_RSgImage) testStep = new CEglTest_NativePixmapType_MultiProcess_Both_RSgImage;
1.102 + else if (aStepName == KChooseConfig_EGL_MATCH_NATIVE_PIXMAP_KHR) testStep = new CEglTest_ChooseConfig_EGL_MATCH_NATIVE_PIXMAP_KHR;
1.103 + else if (aStepName == KCFbsBitmap_EGL_MATCH_NATIVE_PIXMAP_KHR) testStep = new CEglTest_CFbsBitmap_EGL_MATCH_NATIVE_PIXMAP_KHR;
1.104 +
1.105 + // CreatePixmapSurface tests
1.106 + else if (aStepName == KCreatePixmapSurface_RSgImage_Negative_RSgImage_NotInitialised) testStep = new CEglTest_CreatePixmapSurface_RSgImage_Negative_RSgImage_NotInitialised;
1.107 + else if (aStepName == KCreatePixmapSurface_Negative_Invalid_Pixmap_Type) testStep = new CEglTest_CreatePixmapSurface_Negative_Invalid_Pixmap_Type;
1.108 + else if (aStepName == KCreatePixmapSurface_Alpha_bit_RSgImage) testStep = new CEglTest_CreatePixmapSurface_Alpha_bit_RSgImage;
1.109 + else if (aStepName == KCreatePixmapSurface_RSgImage_Positive_MantadoryFormatUsageSupport) testStep = new CEglTest_CreatePixmapSurface_RSgImage_Positive_MantadoryFormatUsageSupport;
1.110 +
1.111 + // Image tests
1.112 + else if (aStepName == KEGL_Image_SgDriverHandle) testStep = new CEglTest_EGL_Image_SgDriverHandle;
1.113 + else if (aStepName == KEGL_Image_RSgImage_UseOpenVG_PersistImageData) testStep = new CEglTest_EGL_Image_RSgImage_UseOpenVG_PersistImageData;
1.114 + else if (aStepName == KEGL_Image_Consistent_Linked_List) testStep = new CEglTest_EGL_Image_Consistent_Linked_List;
1.115 +
1.116 + // Image negative tests
1.117 + else if (aStepName == KEGL_Image_eglCreateImage_Bad_Parameter) testStep = new CEglTest_EGL_Image_eglCreateImage_Bad_Parameter;
1.118 + else if (aStepName == KEGL_Image_UsageBits_Enforcement) testStep = new CEglTest_EGL_Image_UsageBits_Enforcement;
1.119 + else if (aStepName == KEGL_Image_DestroyImageKHR) testStep = new CEglTest_EGL_Image_DestroyImageKHR;
1.120 + else if (aStepName == KEGL_Image_VGImage_From_Invalid_EGLHandle) testStep = new CEglTest_EGL_Image_VGImage_From_Invalid_EGLHandle;
1.121 + else if (aStepName == KEGL_Image_Self_Drawing) testStep = new CEglTest_EGL_Image_Self_Drawing;
1.122 +
1.123 + // Siblings tests
1.124 + else if (aStepName == KEGL_Image_Sibling_Basic) testStep = new CEglTest_EGL_Image_Sibling_Basic;
1.125 + else if (aStepName == KEGL_Image_Sibling_VGImage) testStep = new CEglTest_EGL_Image_Sibling_VGImage;
1.126 + else if (aStepName == KEGL_Image_Sibling_Two_VGImages) testStep = new CEglTest_EGL_Image_Sibling_Two_VGImages;
1.127 + else if (aStepName == KEGL_Image_Sibling_VGImage_Child) testStep = new CEglTest_EGL_Image_Sibling_VGImage_Child;
1.128 + else if (aStepName == KEGL_Image_Sibling_VGImage_Child_CheckContents) testStep = new CEglTest_EGL_Image_Sibling_VGImage_Child_CheckContents;
1.129 + else if (aStepName == KEGL_Image_Sibling_VGImage_Child_CheckContents_CloseSgEarlier) testStep = new CEglTest_EGL_Image_Sibling_VGImage_Child_CheckContents_CloseSgEarlier;
1.130 + else if (aStepName == KEGL_Image_CreatePBufferFromClient_With_Sibling_VGImage) testStep = new CEglTest_EGL_Image_CreatePBufferFromClient_With_Sibling_VGImage;
1.131 +
1.132 + // VgImage to surfaces tests
1.133 + else if (aStepName == KEGL_Image_VgImage_To_Pixmap) testStep = new CEglTest_EGL_Image_VgImage_To_Pixmap;
1.134 + else if (aStepName == KEGL_Image_VGImage_To_Pixmap_CFbs) testStep = new CEglTest_EGL_Image_VGImage_To_Pixmap_CFbs;
1.135 + else if (aStepName == KEGL_Image_VgImage_To_pBuffer) testStep = new CEglTest_EGL_Image_VgImage_To_pBuffer;
1.136 + else if (aStepName == KEGL_Image_VgImage_To_Window) testStep = new CEglTest_EGL_Image_VgImage_To_Window;
1.137 +
1.138 + //MultiThreaded
1.139 + else if (aStepName == KEGL_Image_Multi_Thread_Parallel) testStep = new CEglTest_EGL_Image_Multi_Thread_Parallel;
1.140 + else if (aStepName == KEGL_Image_Multi_Thread_Sibling_Basic) testStep = new CEglTest_EGL_Image_Multi_Thread_Sibling_Basic;
1.141 + else if (aStepName == KEGL_Image_Multi_Thread_Sibling_VGImage) testStep = new CEglTest_EGL_Image_Multi_Thread_Sibling_VGImage;
1.142 + else if (aStepName == KEGL_Image_Multi_Thread_Sibling_VGImage_PassingEGLImage) testStep = new CEglTest_EGL_Image_Multi_Thread_Sibling_VGImage_PassingEGLImage;
1.143 + else if (aStepName == KEGL_Image_Multi_Thread_Exit_Thread) testStep = new CEglTest_EGL_Image_Multi_Thread_Exit_Thread;
1.144 + else if (aStepName == KEGL_Image_Multi_Thread_DrawAfterTerminate) testStep = new CEglTest_EGL_Image_Multi_Thread_DrawAfterTerminate;
1.145 +
1.146 + //MultiProcess
1.147 + else if (aStepName == KEGL_Image_Multi_Process_Parallel) testStep = new CEglTest_EGL_Image_Multi_Process_Parallel;
1.148 + else if (aStepName == KEGL_Image_Multi_Process_Sibling_Basic) testStep = new CEglTest_EGL_Image_Multi_Process_Sibling_Basic;
1.149 + else if (aStepName == KEGL_Image_Multi_Process_Sibling_CheckContents) testStep = new CEglTest_EGL_Image_Multi_Process_Sibling_CheckContents;
1.150 + else if (aStepName == KEGL_Image_Multi_Process_VgImage_Source) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_Source;
1.151 + else if (aStepName == KEGL_Image_Multi_Process_VgImage_DrawAfterTerminate) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_DrawAfterTerminate;
1.152 + else if (aStepName == KEGL_Image_Multi_Process_FontServer_Upfront) testStep = new CEglTest_EGL_Image_Multi_Process_FontServer_Upfront;
1.153 + else if (aStepName == KEGL_Image_Multi_Process_FontServer_Deferred) testStep = new CEglTest_EGL_Image_Multi_Process_FontServer_Deferred;
1.154 + else if (aStepName == KEGL_Image_Multi_Process_ThemeServer) testStep = new CEglTest_EGL_Image_Multi_Process_ThemeServer;
1.155 + else if (aStepName == KEGL_Image_Multi_Process_VgImage_ProcessTerminate) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_ProcessTerminate;
1.156 + else if (aStepName == KEGL_Image_Multi_Process_VgImage_ProcessTerminateNegative) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_ProcessTerminateNegative;
1.157 + else if (aStepName == KEGL_Image_Multi_Process_VgImage_ReadWrite) testStep = new CEglTest_EGL_Image_Multi_Process_VgImage_ReadWrite;
1.158 +
1.159 + // Benchmark - SgImage
1.160 + else if (aStepName == KBenchmark_CreateCloseImage) testStep = new CEglTest_Benchmark_CreateCloseImage;
1.161 + else if (aStepName == KBenchmark_Multi_Process_CreateCloseImage) testStep = new CEglTest_Benchmark_Multi_Process_CreateCloseImage;
1.162 + else if (aStepName == KBenchmark_DrawImage) testStep = new CEglTest_Benchmark_DrawImage;
1.163 +
1.164 + // Benchmark - SwapBuffers
1.165 + else if (aStepName == KBenchmark_SwapBuffers) testStep = new CEglTest_Benchmark_SwapBuffers;
1.166 +
1.167 + //OOM - SgImage
1.168 + else if (aStepName == KOOM_CloseVGImageWithTermination) testStep = new CEglTest_OOM_CloseVGImageWithTermination;
1.169 + else if (aStepName == KOOM_CloseVGImage) testStep = new CEglTest_OOM_CloseVGImage;
1.170 + else if (aStepName == KOOM_ClosePixmapSurfaceWithTermination) testStep = new CEglTest_OOM_ClosePixmapSurfaceWithTermination;
1.171 + else if (aStepName == KOOM_ClosePixmapSurface) testStep = new CEglTest_OOM_ClosePixmapSurface;
1.172 + else if (aStepName == KOOM_CloseSgImageDifferentProcess) testStep = new CEglTest_OOM_CloseSgImageDifferentProcess;
1.173 + else if (aStepName == KOOM_CloseSgImageSameThread) testStep = new CEglTest_OOM_CloseSgImageSameThread;
1.174 +
1.175 + //Stress - SgImage
1.176 + else if (aStepName == KStress) testStep = new CEglTest_Stress;
1.177 +
1.178 + // Surface Scaling
1.179 + else if (aStepName == KSurfaceScaling_Positive) testStep = new CEglTest_SurfaceScaling_Positive;
1.180 + else if (aStepName == KSurfaceScaling_WindowResize) testStep = new CEglTest_SurfaceScaling_WindowResize;
1.181 + else if (aStepName == KSurfaceScaling_ExtentPositionChange) testStep = new CEglTest_SurfaceScaling_ExtentPositionChange;
1.182 + else if (aStepName == KSurfaceScaling_ExtentSizeChange) testStep = new CEglTest_SurfaceScaling_ExtentSizeChange;
1.183 + else if (aStepName == KSurfaceScaling_SwapBuffers) testStep = new CEglTest_SurfaceScaling_SwapBuffers;
1.184 + else if (aStepName == KSurfaceScaling_WindowSurface_Check) testStep = new CEglTest_SurfaceScaling_WindowSurface_Check;
1.185 + else if (aStepName == KSurfaceScaling_Negative_CreateWindowSurface) testStep = new CEglTest_SurfaceScaling_Negative_CreateWindowSurface;
1.186 + else if (aStepName == KSurfaceScaling_Negative_FixedSize_NonWindowSurface) testStep = new CEglTest_SurfaceScaling_Negative_FixedSize_NonWindowSurface;
1.187 + else if (aStepName == KSurfaceScalingDefaultBorderColor) testStep = new CEglTest_SurfaceScalingDefaultBorderColor;
1.188 + else if (aStepName == KSurfaceScalingModifyingBorderColor) testStep = new CEglTest_SurfaceScalingModifyingBorderColor;
1.189 + else if (aStepName == KSurfaceScalingModifyingBorderColorNonFixed) testStep = new CEglTest_SurfaceScalingModifyingBorderColorNonFixed;
1.190 + else if (aStepName == KSurfaceScalingModifyingInvalidBorderColor) testStep = new CEglTest_SurfaceScalingModifyingInvalidBorderColor;
1.191 + else if (aStepName == KSurfaceScalingModifyingExtent) testStep = new CEglTest_SurfaceScalingModifyingExtent;
1.192 + else if (aStepName == KSurfaceScalingModifyingExtentNonFixed) testStep = new CEglTest_SurfaceScalingModifyingExtentNonFixed;
1.193 + else if (aStepName == KSurfaceScalingQuerySurface) testStep = new CEglTest_SurfaceScalingQuerySurface;
1.194 + else if (aStepName == KSurfaceScalingQuerySurfaceNonFixed) testStep = new CEglTest_SurfaceScalingQuerySurfaceNonFixed;
1.195 + else if (aStepName == KSurfaceScalingCapability) testStep = new CEglTest_SurfaceScalingCapability;
1.196 + else if (aStepName == KSurfaceScalingSet) testStep = new CEglTest_SurfaceScalingSet;
1.197 + else if (aStepName == KSurfaceScalingSetNonFixed) testStep = new CEglTest_SurfaceScalingSetNonFixed;
1.198 + else if (aStepName == KSurfaceScalingSetInvalidAttributes) testStep = new CEglTest_SurfaceScalingSetInvalidAttributes;
1.199 + else if (aStepName == KSurfaceScalingNotInitialized) testStep = new CEglTest_SurfaceScalingNotInitialized;
1.200 +
1.201 + return testStep;
1.202 + }