Fix and re-enable EGLSyncControlTest.SyncValuesTest

It looks like the problem was not making the OS Window visible.
It turned out the previous version of the test succeeded only
when I ran angle_end2end_tests.exe with
--gtest_filter=EGLSyncControlTest.SyncValuesTest and failed
when I ran all tests, especially with --single-process-tests.

I tested the modified version of the test which repeated the
measurement 50 times and couldn't get a reliable test execution
until I figured out that back buffers were queueing and not
swapping successfully with the window being invisible.

This version works reliably when running all angle_end2end_tests.exe
on my workstation and on a test laptop, both running Windows 10,
with or without --single-process-tests.

BUG=angleproject:1402

Change-Id: I97764a86b20119cc586ea2a4fd1d94558c4e737e
Reviewed-on: https://chromium-review.googlesource.com/397739
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
This commit is contained in:
Stanislav Chiknavaryan 2016-10-10 17:38:55 -07:00 коммит произвёл Commit Bot
Родитель 7835b525b7
Коммит 138ec92f52
1 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -119,6 +119,7 @@ class EGLSyncControlTest : public testing::Test
// Create an OS Window
mOSWindow = CreateOSWindow();
mOSWindow->initialize("EGLSyncControlTest", 64, 64);
mOSWindow->setVisible(true);
// Create an EGLDisplay using the EGLDevice
mDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE,
@ -188,10 +189,10 @@ class EGLSyncControlTest : public testing::Test
// Basic test for eglGetSyncValuesCHROMIUM extension. Verifies that eglGetSyncValuesCHROMIUM
// can be called on DX11 with direct composition and that it returns reasonable enough values.
TEST_F(EGLSyncControlTest, DISABLED_SyncValuesTest)
TEST_F(EGLSyncControlTest, SyncValuesTest)
{
static const DWORD kPollInterval = 10;
static const int kNumPollIterations = 500;
static const int kNumPollIterations = 100;
if (!mD3D11Available)
{