os/graphics/egl/eglrefimpl/test/src/egltest_reference.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 // Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 /**
    17  @file
    18  @test
    19  */
    20 
    21 #include "egltest_reference.h"
    22 
    23 /**
    24 @SYMTestCaseID GRAPHICS-EGL-REF-0001
    25 
    26 @SYMPREQ 2400
    27 
    28 @SYMTestPriority 1
    29 
    30 @SYMTestCaseDesc
    31 Test eglQueryString returns the expected string for Reference EGL
    32 
    33 @SYMTestActions
    34 Get default display
    35 	Check the return value is not EGL_NO_DISPLAY and error code is EGL_SUCCESS
    36 Initialise display
    37 	Check return value is true, error code is EGL_SUCCESS and version is updated
    38 Query string for version
    39 	Check return value is “1.4 Reference EGL” and error code is EGL_SUCCESS
    40 Query string for vendor
    41 	Check return value is “Nokia” and error code is EGL_SUCCESS
    42 Query string for client APIs
    43 	Check return value is “” and error code is EGL_SUCCESS
    44 Query string for extensions
    45 	Check return value is “EGL_KHR_reusable_sync EGL_NOK__private__signal_sync” and error code is EGL_SUCCESS
    46 Terminate display
    47 	Check return value is true and error code is EGL_SUCCESS
    48 Release thread
    49 	Check return value is true
    50 
    51 @SYMTestExpectedResults
    52 Non-null pointer is returned and all strings contain the expected value
    53 */
    54 TVerdict CEglTest_QueryString::doTestStepL()
    55     {
    56     SetTestStepID(_L("GRAPHICS-EGL-REF-0001"));
    57     INFO_PRINTF1(_L("CEglTest_QueryString::doTestStepL"));
    58 
    59     INFO_PRINTF1(_L("Create display object"));
    60     GetDisplayL();
    61     TEST(eglGetError() == EGL_SUCCESS);
    62    
    63     // Initialize display object
    64     EGLint major = -1, minor = -1;
    65     INFO_PRINTF1(_L("Calling eglInitialize"));
    66     TEST_EGL_ERROR(eglInitialize(iDisplay, &major, &minor), EGL_SUCCESS);
    67     TEST(major == 1 && minor == 4);   // Version is updated
    68     
    69     // Query string for version
    70     const char* strEglVersion = eglQueryString(iDisplay, EGL_VERSION);    
    71     TPtrC8 ptrEglVersion(reinterpret_cast<const TUint8*>(strEglVersion));
    72     TEST_EGL_ERROR(ptrEglVersion.Compare(_L8("1.4 Reference EGL")) == 0, EGL_SUCCESS);
    73     
    74     // Query string for vendor
    75     const char* strEglVendor = eglQueryString(iDisplay, EGL_VENDOR);
    76     TPtrC8 ptrEglVendor(reinterpret_cast<const TUint8*>(strEglVendor));
    77     TEST_EGL_ERROR(ptrEglVendor.Compare(_L8("Nokia")) == 0, EGL_SUCCESS);
    78     
    79     // Query string for client APIs
    80     const char* strEglClinentAPI = eglQueryString(iDisplay, EGL_CLIENT_APIS);
    81     TPtrC8 ptrEglClinentAPI(reinterpret_cast<const TUint8*>(strEglClinentAPI));
    82     TEST_EGL_ERROR(ptrEglClinentAPI.Compare(_L8("")) == 0, EGL_SUCCESS);
    83     
    84     // Query string for extensions
    85     const char* strEglExtensions = eglQueryString(iDisplay, EGL_EXTENSIONS);
    86     TPtrC8 ptrEglExtensions(reinterpret_cast<const TUint8*>(strEglExtensions));
    87     TEST_EGL_ERROR(ptrEglExtensions.Compare(_L8("EGL_KHR_reusable_sync EGL_NOK__private__signal_sync")) == 0, EGL_SUCCESS);
    88  
    89     // Terminate display object
    90     INFO_PRINTF1(_L("Terminate display"));
    91     TerminateDisplayL();
    92     TEST(eglGetError() == EGL_SUCCESS);
    93     
    94     TEST_EGL_ERROR(eglReleaseThread() == EGL_TRUE, EGL_SUCCESS);
    95     RecordTestResultL();
    96     CloseTMSGraphicsStep();
    97     return TestStepResult();
    98     }
    99