#include <utils/String8.h>
#include <EGL/egl.h>
+#include <gui/Surface.h>
+
namespace android {
}
};
+TEST_F(EGLTest, EGLGetConfigsWithNullNumConfigs) {
+ EGLBoolean success;
+ success = eglGetConfigs(mEglDisplay, NULL, 0, NULL);
+ ASSERT_EQ(EGL_FALSE, success);
+ ASSERT_EQ(EGL_BAD_PARAMETER, eglGetError());
+}
+
TEST_F(EGLTest, DISABLED_EGLConfigEightBitFirst) {
EGLint numConfigs;
EXPECT_GE(components[2], 8);
}
+TEST_F(EGLTest, EGLTerminateSucceedsWithRemainingObjects) {
+ EGLint numConfigs;
+ EGLConfig config;
+ EGLint attrs[] = {
+ EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
+ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+ EGL_RED_SIZE, 8,
+ EGL_GREEN_SIZE, 8,
+ EGL_BLUE_SIZE, 8,
+ EGL_ALPHA_SIZE, 8,
+ EGL_NONE
+ };
+ EXPECT_TRUE(eglChooseConfig(mEglDisplay, attrs, &config, 1, &numConfigs));
+
+ struct DummyConsumer : public BnConsumerListener {
+ virtual void onFrameAvailable() {}
+ virtual void onBuffersReleased() {}
+ };
+
+ // Create a EGLSurface
+ sp<BufferQueue> bq = new BufferQueue();
+ bq->consumerConnect(new DummyConsumer, false);
+ sp<Surface> mSTC = new Surface(static_cast<sp<IGraphicBufferProducer> >( bq));
+ sp<ANativeWindow> mANW = mSTC;
+
+ EGLSurface eglSurface = eglCreateWindowSurface(mEglDisplay, config,
+ mANW.get(), NULL);
+ ASSERT_EQ(EGL_SUCCESS, eglGetError());
+ ASSERT_NE(EGL_NO_SURFACE, eglSurface) ;
+
+ // do not destroy eglSurface
+ // eglTerminate is called in the tear down and should destroy it for us
+}
+
TEST_F(EGLTest, EGLConfigRGBA8888First) {
EGLint numConfigs;