aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/examples/tst_examples.cpp
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2024-01-17 15:39:16 +0100
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2024-01-18 08:07:57 +0100
commitf307308fe4751e6948f05a8ead87900b7437a766 (patch)
tree459d35f214d362e9f0664185005eaa7e9976b692 /tests/auto/quick/examples/tst_examples.cpp
parent789dd4e2e96315a86a4873b0e0a735c9e50f8d69 (diff)
Skip tst_examples on ASAN builds with Freetype font engine
This test sometimes triggers a race condition in the Freetype font face cache. Until the underlying bug can be fixed, we disable the test for that configuration. Pick-to: 6.7 Task-number: QTBUG-118867 Change-Id: I28fc569a163497c39c66e5ee193ec853a5c633d2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tests/auto/quick/examples/tst_examples.cpp')
-rw-r--r--tests/auto/quick/examples/tst_examples.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/auto/quick/examples/tst_examples.cpp b/tests/auto/quick/examples/tst_examples.cpp
index b46353c16d..0dafcc73b2 100644
--- a/tests/auto/quick/examples/tst_examples.cpp
+++ b/tests/auto/quick/examples/tst_examples.cpp
@@ -11,6 +11,9 @@
#include <QQmlEngine>
#include <QQmlError>
+#include <QtGui/private/qfont_p.h>
+#include <QtGui/private/qfontengine_p.h>
+
static QtMessageHandler testlibMsgHandler = nullptr;
void msgHandlerFilter(QtMsgType type, const QMessageLogContext &ctxt, const QString &msg)
{
@@ -224,6 +227,15 @@ void tst_examples::examples_data()
void tst_examples::examples()
{
QFETCH(QString, file);
+
+#if defined(__SANITIZE_ADDRESS__) || __has_feature(address_sanitizer)
+ QFont f;
+ f.setStyleStrategy(QFont::NoFontMerging);
+ QFontPrivate *font_d = QFontPrivate::get(f);
+ if (font_d->engineForScript(QChar::Script_Common)->type() == QFontEngine::Freetype)
+ QSKIP("Triggers a race condition in the Freetype face cache, QTBUG-118867", Continue);
+#endif
+
QQuickWindow window;
window.setPersistentGraphics(true);
window.setPersistentSceneGraph(true);