Commit eb67ca6e by Ian Elliott Committed by Commit Bot

Improve EGLRecordableTest

The initial implementation called eglInitialize() and eglTerminate() and didn't call ANGLETest::TearDown(). BUG=angleproject:2511 Change-Id: I563a84a72fe9bd20739519301023062f85446557 Reviewed-on: https://chromium-review.googlesource.com/c/1452529Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
parent 08f8fa66
...@@ -19,54 +19,35 @@ namespace angle ...@@ -19,54 +19,35 @@ namespace angle
class EGLRecordableTest : public ANGLETest class EGLRecordableTest : public ANGLETest
{ {
protected: protected:
EGLRecordableTest() : mDisplay(0) {} EGLRecordableTest() {}
void SetUp() override
{
ANGLETest::SetUp();
EGLint dispattrs[] = {EGL_PLATFORM_ANGLE_TYPE_ANGLE, GetParam().getRenderer(), EGL_NONE};
mDisplay = eglGetPlatformDisplayEXT(
EGL_PLATFORM_ANGLE_ANGLE, reinterpret_cast<void *>(EGL_DEFAULT_DISPLAY), dispattrs);
ASSERT_TRUE(mDisplay != EGL_NO_DISPLAY);
ASSERT_EGL_TRUE(eglInitialize(mDisplay, nullptr, nullptr));
}
bool hasExtension() const
{
return ANGLETest::eglDisplayExtensionEnabled(mDisplay, "EGL_ANDROID_recordable");
}
void TearDown() override { eglTerminate(mDisplay); }
EGLDisplay mDisplay = EGL_NO_DISPLAY;
}; };
// Test that the extension is always available (it is implemented in ANGLE's frontend). // Test that the extension is always available (it is implemented in ANGLE's frontend).
TEST_P(EGLRecordableTest, ExtensionAlwaysAvailable) TEST_P(EGLRecordableTest, ExtensionAlwaysAvailable)
{ {
ASSERT_TRUE(hasExtension()); EGLDisplay display = getEGLWindow()->getDisplay();
ASSERT_TRUE(ANGLETest::eglDisplayExtensionEnabled(display, "EGL_ANDROID_recordable"));
} }
// Check that the default message filters and callbacks are correct // Check that the default message filters and callbacks are correct
TEST_P(EGLRecordableTest, CheckAllContexts) TEST_P(EGLRecordableTest, CheckAllContexts)
{ {
ANGLE_SKIP_TEST_IF(!hasExtension()); EGLDisplay display = getEGLWindow()->getDisplay();
ANGLE_SKIP_TEST_IF(!ANGLETest::eglDisplayExtensionEnabled(display, "EGL_ANDROID_recordable"));
int nConfigs = 0; int nConfigs = 0;
ASSERT_EGL_TRUE(eglGetConfigs(mDisplay, nullptr, 0, &nConfigs)); ASSERT_EGL_TRUE(eglGetConfigs(display, nullptr, 0, &nConfigs));
ASSERT_NE(nConfigs, 0); ASSERT_NE(nConfigs, 0);
int nReturnedConfigs = 0; int nReturnedConfigs = 0;
std::vector<EGLConfig> configs(nConfigs); std::vector<EGLConfig> configs(nConfigs);
ASSERT_EGL_TRUE(eglGetConfigs(mDisplay, configs.data(), nConfigs, &nReturnedConfigs)); ASSERT_EGL_TRUE(eglGetConfigs(display, configs.data(), nConfigs, &nReturnedConfigs));
ASSERT_EQ(nConfigs, nReturnedConfigs); ASSERT_EQ(nConfigs, nReturnedConfigs);
for (EGLConfig config : configs) for (EGLConfig config : configs)
{ {
EGLint isRecordable; EGLint isRecordable;
eglGetConfigAttrib(mDisplay, config, EGL_RECORDABLE_ANDROID, &isRecordable); eglGetConfigAttrib(display, config, EGL_RECORDABLE_ANDROID, &isRecordable);
ASSERT_EGL_FALSE(isRecordable); ASSERT_EGL_FALSE(isRecordable);
} }
...@@ -76,7 +57,7 @@ TEST_P(EGLRecordableTest, CheckAllContexts) ...@@ -76,7 +57,7 @@ TEST_P(EGLRecordableTest, CheckAllContexts)
EGL_STENCIL_SIZE, EGL_DONT_CARE, EGL_RECORDABLE_ANDROID, EGL_FALSE, EGL_NONE}; EGL_STENCIL_SIZE, EGL_DONT_CARE, EGL_RECORDABLE_ANDROID, EGL_FALSE, EGL_NONE};
EGLint configCount; EGLint configCount;
ASSERT_EGL_TRUE( ASSERT_EGL_TRUE(
eglChooseConfig(mDisplay, configAttributes, configs.data(), configs.size(), &configCount)); eglChooseConfig(display, configAttributes, configs.data(), configs.size(), &configCount));
ASSERT_EGL_SUCCESS(); ASSERT_EGL_SUCCESS();
} }
......
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