summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/configure.cmake5
-rw-r--r--tests/auto/gui/kernel/qopenglwindow/tst_qopenglwindow.cpp3
-rw-r--r--tests/auto/gui/qopengl/tst_qopengl.cpp3
-rw-r--r--tests/auto/gui/qopenglconfig/tst_qopenglconfig.cpp3
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp3
-rw-r--r--tests/auto/widgets/kernel/qwidgetrepaintmanager/tst_qwidgetrepaintmanager.cpp7
-rw-r--r--tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp3
-rw-r--r--tests/auto/widgets/widgets/qrhiwidget/tst_qrhiwidget.cpp2
8 files changed, 28 insertions, 1 deletions
diff --git a/src/gui/configure.cmake b/src/gui/configure.cmake
index af97214557f..8dffa4623e7 100644
--- a/src/gui/configure.cmake
+++ b/src/gui/configure.cmake
@@ -1570,6 +1570,11 @@ qt_feature("egl-extension-platform-wayland" PRIVATE
CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl
AND TEST_egl_1_5_wayland
)
+qt_feature("run-opengl-tests" PRIVATE
+ LABEL "Run opengl tests"
+ PURPOSE "Provides the ability to skip tests which require opengl to run"
+ CONDITION QT_FEATURE_opengl
+)
qt_configure_add_summary_section(NAME "Qt Gui")
diff --git a/tests/auto/gui/kernel/qopenglwindow/tst_qopenglwindow.cpp b/tests/auto/gui/kernel/qopenglwindow/tst_qopenglwindow.cpp
index 06a1ffb2960..6019261f792 100644
--- a/tests/auto/gui/kernel/qopenglwindow/tst_qopenglwindow.cpp
+++ b/tests/auto/gui/kernel/qopenglwindow/tst_qopenglwindow.cpp
@@ -26,6 +26,9 @@ private slots:
void tst_QOpenGLWindow::initTestCase()
{
+#if !QT_CONFIG(run_opengl_tests)
+ QSKIP("Skip test as run-opengl-tests feature is off.");
+#endif
if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::OpenGL))
QSKIP("OpenGL is not supported on this platform.");
}
diff --git a/tests/auto/gui/qopengl/tst_qopengl.cpp b/tests/auto/gui/qopengl/tst_qopengl.cpp
index 36ff1d1f2e9..b9b4c3aa11c 100644
--- a/tests/auto/gui/qopengl/tst_qopengl.cpp
+++ b/tests/auto/gui/qopengl/tst_qopengl.cpp
@@ -185,6 +185,9 @@ static QSurface *createSurface(int surfaceClass)
void tst_QOpenGL::initTestCase()
{
+#if !QT_CONFIG(run_opengl_tests)
+ QSKIP("Skip test as run-opengl-tests feature is off.");
+#endif
if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::OpenGL))
QSKIP("OpenGL is not supported on this platform.");
}
diff --git a/tests/auto/gui/qopenglconfig/tst_qopenglconfig.cpp b/tests/auto/gui/qopenglconfig/tst_qopenglconfig.cpp
index 423f9419daf..f597dac53d7 100644
--- a/tests/auto/gui/qopenglconfig/tst_qopenglconfig.cpp
+++ b/tests/auto/gui/qopenglconfig/tst_qopenglconfig.cpp
@@ -139,6 +139,9 @@ static void dumpConfiguration(QTextStream &str)
void tst_QOpenGlConfig::initTestCase()
{
+#if !QT_CONFIG(run_opengl_tests)
+ QSKIP("Skip test as run-opengl-tests feature is off.");
+#endif
if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::OpenGL))
QSKIP("OpenGL is not supported on this platform.");
}
diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
index df19ea1568e..3e5ff5ce640 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
@@ -657,6 +657,9 @@ void tst_QGraphicsView::viewport()
#if QT_CONFIG(opengl)
void tst_QGraphicsView::openGLViewport()
{
+#if !QT_CONFIG(run_opengl_tests)
+ QSKIP("Skip test as run-opengl-tests feature is off.");
+#endif
if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::OpenGL))
QSKIP("QOpenGL is not supported on this platform.");
if (isPlatformEGLFS())
diff --git a/tests/auto/widgets/kernel/qwidgetrepaintmanager/tst_qwidgetrepaintmanager.cpp b/tests/auto/widgets/kernel/qwidgetrepaintmanager/tst_qwidgetrepaintmanager.cpp
index 261ea56b345..c460eb1db8c 100644
--- a/tests/auto/widgets/kernel/qwidgetrepaintmanager/tst_qwidgetrepaintmanager.cpp
+++ b/tests/auto/widgets/kernel/qwidgetrepaintmanager/tst_qwidgetrepaintmanager.cpp
@@ -654,6 +654,8 @@ void tst_QWidgetRepaintManager::evaluateRhi()
}
#if QT_CONFIG(opengl)
+
+#if QT_CONFIG(run_opengl_tests)
{
// Non-native child RHI widget enables RHI for top level regular widget
QWidget topLevel;
@@ -767,6 +769,7 @@ void tst_QWidgetRepaintManager::evaluateRhi()
QVERIFY(!QWidgetPrivate::get(&rhiChild)->usesRhiFlush);
QVERIFY(QWidgetPrivate::get(&rhiChild)->rhi());
}
+#endif // QT_CONFIG(run_opengl_tests)
#if QT_CONFIG(metal)
QRhiMetalInitParams metalParams;
@@ -802,6 +805,10 @@ void tst_QWidgetRepaintManager::evaluateRhi()
void tst_QWidgetRepaintManager::rhiRecreateMaintainsWindowProperties()
{
+#if !QT_CONFIG(run_opengl_tests)
+ QSKIP("Skip test as run-opengl-tests feature is off.");
+#endif
+
const auto *integration = QGuiApplicationPrivate::platformIntegration();
if (!integration->hasCapability(QPlatformIntegration::RhiBasedRendering))
QSKIP("Platform does not support RHI based rendering");
diff --git a/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp b/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp
index 51f898c9537..b2cdd6b72c2 100644
--- a/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp
+++ b/tests/auto/widgets/widgets/qopenglwidget/tst_qopenglwidget.cpp
@@ -63,6 +63,9 @@ private slots:
void tst_QOpenGLWidget::initTestCase()
{
+#if !QT_CONFIG(run_opengl_tests)
+ QSKIP("Skip test as run-opengl-tests feature is off.");
+#endif
// See QOpenGLWidget constructor
if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::RasterGLSurface))
QSKIP("QOpenGLWidget is not supported on this platform.");
diff --git a/tests/auto/widgets/widgets/qrhiwidget/tst_qrhiwidget.cpp b/tests/auto/widgets/widgets/qrhiwidget/tst_qrhiwidget.cpp
index 457df2159b1..da4fee72f65 100644
--- a/tests/auto/widgets/widgets/qrhiwidget/tst_qrhiwidget.cpp
+++ b/tests/auto/widgets/widgets/qrhiwidget/tst_qrhiwidget.cpp
@@ -64,7 +64,7 @@ void tst_QRhiWidget::testData()
QTest::newRow("Null") << QRhiWidget::Api::Null;
#endif
-#if QT_CONFIG(opengl)
+#if QT_CONFIG(opengl) && QT_CONFIG(run_opengl_tests)
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::OpenGL))
QTest::newRow("OpenGL") << QRhiWidget::Api::OpenGL;
#endif