34 lines
882 B
C++
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);
|
|
}
|