Skip tst_qthreadonce test on QEMU

The test causes frequent failures in the CI. Couldn't reproduce on
actual arm64 hardware, so it's likely to be a QEMU bug. From the
available logs it seems that all the test cases are flaky (there's a
failure even after cleanupTestCase() is called), so disable all of them.

Fixes: QTBUG-94737
Change-Id: I783ec2179ba779a2c8d93351a78e8472a4f7a907
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit f3bccd2f4fb583d2f36d41d233c7ad2deb7a7ca2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Sona Kurazyan 2021-07-20 11:24:51 +02:00 committed by Qt Cherry-pick Bot
parent 160daf5d63
commit aa78b2037c
2 changed files with 11 additions and 0 deletions

View File

@ -8,4 +8,6 @@ qt_internal_add_test(tst_qthreadonce
SOURCES SOURCES
qthreadonce.cpp qthreadonce.cpp
tst_qthreadonce.cpp tst_qthreadonce.cpp
LIBRARIES
Qt::TestPrivate
) )

View File

@ -36,11 +36,14 @@
#include <qwaitcondition.h> #include <qwaitcondition.h>
#include "qthreadonce.h" #include "qthreadonce.h"
#include <QtTest/private/qemulationdetector_p.h>
class tst_QThreadOnce : public QObject class tst_QThreadOnce : public QObject
{ {
Q_OBJECT Q_OBJECT
private slots: private slots:
void initTestCase();
void sameThread(); void sameThread();
void sameThread_data(); void sameThread_data();
void multipleThreads(); void multipleThreads();
@ -52,6 +55,12 @@ private slots:
#endif #endif
}; };
void tst_QThreadOnce::initTestCase()
{
if (QTestPrivate::isRunningArmOnX86())
QSKIP("Flaky on QEMU, QTBUG-94737");
}
class SingletonObject: public QObject class SingletonObject: public QObject
{ {
Q_OBJECT Q_OBJECT