diff options
| author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2024-01-17 15:39:16 +0100 |
|---|---|---|
| committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2024-01-18 08:07:57 +0100 |
| commit | f307308fe4751e6948f05a8ead87900b7437a766 (patch) | |
| tree | 459d35f214d362e9f0664185005eaa7e9976b692 /tests/auto/quick/examples/tst_examples.cpp | |
| parent | 789dd4e2e96315a86a4873b0e0a735c9e50f8d69 (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.cpp | 12 |
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); |
