Commit 5f57cc6e by Geoff Lang

Add targets that run the EGL dEQP tests.

Generates lots of assertion failures when run, expectations and assertion fixes to come. BUG=angleproject:1139 Change-Id: Ia55b4b2ca3a7844d8d9d05cb7043cd42d55b86ed Reviewed-on: https://chromium-review.googlesource.com/295243Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 5565936c
...@@ -580,6 +580,92 @@ ...@@ -580,6 +580,92 @@
'<(deqp_path)/modules/gles3/tes3TestPackage.hpp', '<(deqp_path)/modules/gles3/tes3TestPackage.hpp',
'<(deqp_path)/modules/gles3/tes3TestPackageEntry.cpp', '<(deqp_path)/modules/gles3/tes3TestPackageEntry.cpp',
], ],
'deqp_egl_sources':
[
'<(deqp_path)/modules/egl/teglAndroidUtil.cpp',
'<(deqp_path)/modules/egl/teglAndroidUtil.hpp',
'<(deqp_path)/modules/egl/teglApiCase.cpp',
'<(deqp_path)/modules/egl/teglApiCase.hpp',
'<(deqp_path)/modules/egl/teglChooseConfigReference.cpp',
'<(deqp_path)/modules/egl/teglChooseConfigReference.hpp',
'<(deqp_path)/modules/egl/teglChooseConfigTests.cpp',
'<(deqp_path)/modules/egl/teglChooseConfigTests.hpp',
'<(deqp_path)/modules/egl/teglQueryConfigTests.cpp',
'<(deqp_path)/modules/egl/teglQueryConfigTests.hpp',
'<(deqp_path)/modules/egl/teglColorClearCase.cpp',
'<(deqp_path)/modules/egl/teglColorClearCase.hpp',
'<(deqp_path)/modules/egl/teglColorClearTests.cpp',
'<(deqp_path)/modules/egl/teglColorClearTests.hpp',
'<(deqp_path)/modules/egl/teglConfigList.cpp',
'<(deqp_path)/modules/egl/teglConfigList.hpp',
'<(deqp_path)/modules/egl/teglCreateContextTests.cpp',
'<(deqp_path)/modules/egl/teglCreateContextTests.hpp',
'<(deqp_path)/modules/egl/teglQueryContextTests.cpp',
'<(deqp_path)/modules/egl/teglQueryContextTests.hpp',
'<(deqp_path)/modules/egl/teglCreateSurfaceTests.cpp',
'<(deqp_path)/modules/egl/teglCreateSurfaceTests.hpp',
'<(deqp_path)/modules/egl/teglQuerySurfaceTests.cpp',
'<(deqp_path)/modules/egl/teglQuerySurfaceTests.hpp',
'<(deqp_path)/modules/egl/teglGetProcAddressTests.cpp',
'<(deqp_path)/modules/egl/teglGetProcAddressTests.hpp',
'<(deqp_path)/modules/egl/teglGLES1RenderUtil.cpp',
'<(deqp_path)/modules/egl/teglGLES1RenderUtil.hpp',
'<(deqp_path)/modules/egl/teglGLES2RenderUtil.cpp',
'<(deqp_path)/modules/egl/teglGLES2RenderUtil.hpp',
'<(deqp_path)/modules/egl/teglImageUtil.cpp',
'<(deqp_path)/modules/egl/teglImageUtil.hpp',
'<(deqp_path)/modules/egl/teglImageTests.cpp',
'<(deqp_path)/modules/egl/teglImageTests.hpp',
'<(deqp_path)/modules/egl/teglInfoTests.cpp',
'<(deqp_path)/modules/egl/teglInfoTests.hpp',
'<(deqp_path)/modules/egl/teglNegativeApiTests.cpp',
'<(deqp_path)/modules/egl/teglNegativeApiTests.hpp',
'<(deqp_path)/modules/egl/teglRenderCase.cpp',
'<(deqp_path)/modules/egl/teglRenderCase.hpp',
'<(deqp_path)/modules/egl/teglRenderTests.cpp',
'<(deqp_path)/modules/egl/teglRenderTests.hpp',
'<(deqp_path)/modules/egl/teglSimpleConfigCase.cpp',
'<(deqp_path)/modules/egl/teglSimpleConfigCase.hpp',
'<(deqp_path)/modules/egl/teglTestCase.cpp',
'<(deqp_path)/modules/egl/teglTestCase.hpp',
'<(deqp_path)/modules/egl/teglTestPackage.cpp',
'<(deqp_path)/modules/egl/teglTestPackage.hpp',
'<(deqp_path)/modules/egl/teglTestPackageEntry.cpp',
'<(deqp_path)/modules/egl/teglVGRenderUtil.cpp',
'<(deqp_path)/modules/egl/teglVGRenderUtil.hpp',
'<(deqp_path)/modules/egl/teglImageFormatTests.hpp',
'<(deqp_path)/modules/egl/teglImageFormatTests.cpp',
'<(deqp_path)/modules/egl/teglGLES2SharingTests.hpp',
'<(deqp_path)/modules/egl/teglGLES2SharingTests.cpp',
'<(deqp_path)/modules/egl/teglGLES2SharingThreadedTests.hpp',
'<(deqp_path)/modules/egl/teglGLES2SharingThreadedTests.cpp',
'<(deqp_path)/modules/egl/teglSyncTests.hpp',
'<(deqp_path)/modules/egl/teglSyncTests.cpp',
'<(deqp_path)/modules/egl/teglMultiThreadTests.hpp',
'<(deqp_path)/modules/egl/teglMultiThreadTests.cpp',
'<(deqp_path)/modules/egl/teglMemoryStressTests.hpp',
'<(deqp_path)/modules/egl/teglMemoryStressTests.cpp',
'<(deqp_path)/modules/egl/teglMakeCurrentPerfTests.hpp',
'<(deqp_path)/modules/egl/teglMakeCurrentPerfTests.cpp',
'<(deqp_path)/modules/egl/teglGLES2SharedRenderingPerfTests.hpp',
'<(deqp_path)/modules/egl/teglGLES2SharedRenderingPerfTests.cpp',
'<(deqp_path)/modules/egl/teglPreservingSwapTests.hpp',
'<(deqp_path)/modules/egl/teglPreservingSwapTests.cpp',
'<(deqp_path)/modules/egl/teglClientExtensionTests.hpp',
'<(deqp_path)/modules/egl/teglClientExtensionTests.cpp',
'<(deqp_path)/modules/egl/teglCreateContextExtTests.hpp',
'<(deqp_path)/modules/egl/teglCreateContextExtTests.cpp',
'<(deqp_path)/modules/egl/teglSurfacelessContextTests.hpp',
'<(deqp_path)/modules/egl/teglSurfacelessContextTests.cpp',
'<(deqp_path)/modules/egl/teglSwapBuffersTests.hpp',
'<(deqp_path)/modules/egl/teglSwapBuffersTests.cpp',
'<(deqp_path)/modules/egl/teglNativeColorMappingTests.hpp',
'<(deqp_path)/modules/egl/teglNativeColorMappingTests.cpp',
'<(deqp_path)/modules/egl/teglNativeCoordMappingTests.hpp',
'<(deqp_path)/modules/egl/teglNativeCoordMappingTests.cpp',
'<(deqp_path)/modules/egl/teglResizeTests.hpp',
'<(deqp_path)/modules/egl/teglResizeTests.cpp',
],
'deqp_libtester_decpp_sources': 'deqp_libtester_decpp_sources':
[ [
'<(deqp_path)/framework/delibs/decpp/deArrayBuffer.cpp', '<(deqp_path)/framework/delibs/decpp/deArrayBuffer.cpp',
...@@ -1183,6 +1269,33 @@ ...@@ -1183,6 +1269,33 @@
], ],
}, },
{
'target_name': 'angle_deqp_libegl',
'type': 'shared_library',
'dependencies':
[
'angle_deqp_libtester',
],
'defines':
[
'ANGLE_DEQP_EGL_TESTS',
],
'direct_dependent_settings':
{
'defines':
[
'ANGLE_DEQP_EGL_TESTS',
],
},
'sources':
[
'<@(deqp_egl_sources)',
'deqp_support/angle_deqp_libtester_main.cpp',
'deqp_support/tcuANGLEPlatform.cpp',
'deqp_support/tcuANGLEPlatform.h',
],
},
# Helper target for synching our implementation with chrome's # Helper target for synching our implementation with chrome's
{ {
'target_name': 'angle_deqp_gtest_support', 'target_name': 'angle_deqp_gtest_support',
...@@ -1309,6 +1422,19 @@ ...@@ -1309,6 +1422,19 @@
}, },
{ {
'target_name': 'angle_deqp_egl_tests',
'type': 'executable',
'dependencies':
[
'angle_deqp_libegl',
],
'sources':
[
'deqp_support/angle_deqp_tests_main.cpp',
],
},
{
'target_name': 'angle_deqp_gtest_gles2_tests', 'target_name': 'angle_deqp_gtest_gles2_tests',
'type': 'executable', 'type': 'executable',
'includes': [ '../../build/common_defines.gypi', ], 'includes': [ '../../build/common_defines.gypi', ],
...@@ -1337,6 +1463,21 @@ ...@@ -1337,6 +1463,21 @@
'deqp_support/angle_deqp_gtest_main.cpp', 'deqp_support/angle_deqp_gtest_main.cpp',
], ],
}, },
{
'target_name': 'angle_deqp_gtest_egl_tests',
'type': 'executable',
'includes': [ '../../build/common_defines.gypi', ],
'dependencies':
[
'angle_deqp_gtest_support',
'angle_deqp_libegl',
],
'sources':
[
'deqp_support/angle_deqp_gtest_main.cpp',
],
},
], # targets ], # targets
}], # (OS=="win" or OS=="linux") and angle_standalone==1 }], # (OS=="win" or OS=="linux") and angle_standalone==1
], # conditions ], # conditions
......
...@@ -25,12 +25,14 @@ const char *g_CaseListFiles[] = ...@@ -25,12 +25,14 @@ const char *g_CaseListFiles[] =
{ {
"dEQP-GLES2-cases.txt.gz", "dEQP-GLES2-cases.txt.gz",
"dEQP-GLES3-cases.txt.gz", "dEQP-GLES3-cases.txt.gz",
"dEQP-EGL-cases.txt.gz",
}; };
const char *g_TestExpectationsFiles[] = const char *g_TestExpectationsFiles[] =
{ {
"deqp_gles2_test_expectations.txt", "deqp_gles2_test_expectations.txt",
"deqp_gles3_test_expectations.txt", "deqp_gles3_test_expectations.txt",
"deqp_egl_test_expectations.txt",
}; };
class dEQPCaseList class dEQPCaseList
...@@ -204,6 +206,10 @@ class dEQP_GLES3 : public dEQPTest<1> ...@@ -204,6 +206,10 @@ class dEQP_GLES3 : public dEQPTest<1>
{ {
}; };
class dEQP_EGL : public dEQPTest<2>
{
};
#ifdef ANGLE_DEQP_GLES2_TESTS #ifdef ANGLE_DEQP_GLES2_TESTS
// TODO(jmadill): add different platform configs, or ability to choose platform // TODO(jmadill): add different platform configs, or ability to choose platform
TEST_P(dEQP_GLES2, Default) TEST_P(dEQP_GLES2, Default)
...@@ -223,4 +229,13 @@ TEST_P(dEQP_GLES3, Default) ...@@ -223,4 +229,13 @@ TEST_P(dEQP_GLES3, Default)
INSTANTIATE_TEST_CASE_P(, dEQP_GLES3, dEQP_GLES3::GetTestingRange()); INSTANTIATE_TEST_CASE_P(, dEQP_GLES3, dEQP_GLES3::GetTestingRange());
#endif #endif
#ifdef ANGLE_DEQP_EGL_TESTS
TEST_P(dEQP_EGL, Default)
{
runTest();
}
INSTANTIATE_TEST_CASE_P(, dEQP_EGL, dEQP_EGL::GetTestingRange());
#endif
} // anonymous namespace } // anonymous namespace
// Copyright 2015 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This file contains a list of defective dEQP conformance tests. The expected
// format is:
// {BUG#} {MODIFIERS} : {TEST_NAME} = {PASS,FAIL,FLAKY,TIMEOUT,SKIP}
//
// MODIFIERS can be a combination of the below list:
// WIN XP VISTA WIN7 MAC LEOPARD SNOWLEOPARD LION LINUX CHROMEOS MOUNTAINLION
// MAVERICKS
// NVIDIA AMD INTEL
// 0xabcd - GPU PCI device ID. Specifying a PCI id requires a vendor.
// DEBUG RELEASE
// TODO(jmadill): Add ANGLE Renderer selection modifiers
//
// TEST_NAME can be a specific test name, or have a '*' in the end, which
// indicates a prefix matching.
//
// Any tests whose expectations are not PASS will be skipped.
//
// Examples:
// 91530 MAC WIN LINUX : context_lost_restored = TIMEOUT
// 91533 WIN : gl_min_uniforms = FAIL
// 91531 MAC WIN LINUX : conformance_more_* = SKIP
// 91532 MAC NVIDIA 0x0640 : tex_image_and_sub_image_2d_with_video = PASS FAIL
////////////////////////////////////////////////////////////////////////////////
//
// Temprory entries: they should be removed once the bugs are fixed.
//
////////////////////////////////////////////////////////////////////////////////
...@@ -30,6 +30,7 @@ deqp_data_path = os.path.join('third_party', 'deqp', 'data') ...@@ -30,6 +30,7 @@ deqp_data_path = os.path.join('third_party', 'deqp', 'data')
os.chdir(os.path.join(script_dir, '..')) os.chdir(os.path.join(script_dir, '..'))
run_deqp(os.path.join(path_to_deqp_exe, 'angle_deqp_gles2_tests' + os_suffix)) run_deqp(os.path.join(path_to_deqp_exe, 'angle_deqp_gles2_tests' + os_suffix))
run_deqp(os.path.join(path_to_deqp_exe, 'angle_deqp_gles3_tests' + os_suffix)) run_deqp(os.path.join(path_to_deqp_exe, 'angle_deqp_gles3_tests' + os_suffix))
run_deqp(os.path.join(path_to_deqp_exe, 'angle_deqp_egl_tests' + os_suffix))
def compress_case_list(case_file): def compress_case_list(case_file):
with open(os.path.join(deqp_data_path, case_file + '.txt')) as in_handle: with open(os.path.join(deqp_data_path, case_file + '.txt')) as in_handle:
...@@ -41,3 +42,4 @@ def compress_case_list(case_file): ...@@ -41,3 +42,4 @@ def compress_case_list(case_file):
compress_case_list('dEQP-GLES2-cases') compress_case_list('dEQP-GLES2-cases')
compress_case_list('dEQP-GLES3-cases') compress_case_list('dEQP-GLES3-cases')
compress_case_list('dEQP-EGL-cases')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment