Files
oak-editor/tests/gtest/opengl_readback_guard_test.cpp
T

34 lines
882 B
C++

#include <gtest/gtest.h>
#include <QOpenGLContext>
#include <QVariant>
#include <cstdlib>
#include "render/opengl/openglrenderer.h"
TEST(OpenGLRenderer, DownloadFromTextureWithoutCurrentContext)
{
if (std::getenv("CI")) {
GTEST_SKIP() << "Skipping OpenGL test in CI environment";
}
QOpenGLContext context;
if (!context.create()) {
GTEST_SKIP() << "Skipping OpenGL test because no context can be created";
}
ASSERT_EQ(QOpenGLContext::currentContext(), nullptr);
olive::OpenGLRenderer renderer;
renderer.Init(&context);
olive::VideoParams params(4, 4, olive::core::PixelFormat::U8, 4,
olive::core::rational(1, 1),
olive::VideoParams::kInterlaceNone, 1);
unsigned char buffer[4 * 4 * 4] = {};
renderer.DownloadFromTexture(QVariant::fromValue<GLuint>(0), params,
buffer, 4 * 4);
EXPECT_EQ(QOpenGLContext::currentContext(), nullptr);
}