summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <[email protected]>2025-05-26 12:27:31 +0200
committerMichal Klocek <[email protected]>2025-05-30 22:24:56 +0000
commitfb4c1257d849c82f522b85592f9e13256a113fef (patch)
tree82c9e426eb470309c4136a5fa09cf8e4857dfa1a
parent7c0a96785fee4fea8ef1452166b1dde88957445c (diff)
Add run opengl tests feature
On Woa cross compile we want to compile with opengl feature, however tests windows arm nodes do not have opengl installed add a feature to skip the tests preventing the crash otherwise. Note this is just temporary workaround and should be reverted as soon as opengl libs land on windows arm vm nodes. Task-number: COIN-1211 Change-Id: Iaae205b9cc10bd17e82152a44b2e976e4321d00d Reviewed-by: Alexandru Croitor <[email protected]>
-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