Path: blob/main_old/src/tests/egl_tests/EGLReadinessCheckTest.cpp
1693 views
//1// Copyright 2015 The ANGLE Project Authors. All rights reserved.2// Use of this source code is governed by a BSD-style license that can be3// found in the LICENSE file.4//56// EGLReadinessCheckTest.cpp:7// Tests used to check environment in which other tests are run.89#include <gtest/gtest.h>1011#include "gpu_info_util/SystemInfo.h"12#include "test_utils/ANGLETest.h"13#include "test_utils/angle_test_instantiate.h"1415using namespace angle;1617class EGLReadinessCheckTest : public ANGLETest18{};1920// Checks the tests are running against ANGLE21TEST_P(EGLReadinessCheckTest, IsRunningOnANGLE)22{23const char *extensionString =24static_cast<const char *>(eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS));25ASSERT_NE(strstr(extensionString, "EGL_ANGLE_platform_angle"), nullptr);26}2728// Checks that getting function pointer works29TEST_P(EGLReadinessCheckTest, HasGetPlatformDisplayEXT)30{31ASSERT_NE(eglGetPlatformDisplayEXT, nullptr);32}3334// Checks that calling GetProcAddress for a non-existant function fails.35TEST_P(EGLReadinessCheckTest, GetProcAddressNegativeTest)36{37auto check = eglGetProcAddress("WigglyWombats");38EXPECT_EQ(nullptr, check);39}4041// Tests that our allowlist function generally maps to our support function.42// We can add specific exceptions here if needed.43// Disabled because it was creating a large number of configs. This could even result44// in a BDOD on Windows.45TEST_P(EGLReadinessCheckTest, DISABLED_AllowlistMatchesSupport)46{47// Has issues with Vulkan support detection on Android.48ANGLE_SKIP_TEST_IF(IsAndroid());4950// Cannot make any useful checks if SystemInfo is not supported.51SystemInfo systemInfo;52ANGLE_SKIP_TEST_IF(!GetSystemInfo(&systemInfo));5354auto check = [&systemInfo](const PlatformParameters ¶ms) {55EXPECT_EQ(IsConfigAllowlisted(systemInfo, params), IsConfigSupported(params)) << params;56};5758check(ES1_OPENGL());59check(ES2_OPENGL());60check(ES3_OPENGL());61check(ES31_OPENGL());6263check(ES1_OPENGLES());64check(ES2_OPENGLES());65check(ES3_OPENGLES());66check(ES31_OPENGLES());6768check(ES1_D3D9());69check(ES2_D3D9());7071check(ES1_D3D11());72check(ES2_D3D11());73check(ES3_D3D11());74check(ES31_D3D11());7576check(ES1_VULKAN());77check(ES2_VULKAN());78check(ES3_VULKAN());7980check(ES1_VULKAN_NULL());81check(ES2_VULKAN_NULL());82check(ES3_VULKAN_NULL());8384check(ES1_NULL());85check(ES2_NULL());86check(ES3_NULL());87check(ES31_NULL());88}8990ANGLE_INSTANTIATE_TEST(EGLReadinessCheckTest, WithNoFixture(PlatformParameters()));919293