Skip tst_QFuture::whenAllDifferentTypes and whenAnyDifferentTypes on VxWorks

The VxWorks implementation of std::variant is broken.
std::visit throws std::bad_variant_access when called on a variant with
duplicated types.

Skip the tests that are affected by it.

Pick-to: 6.7
Task-number: QTBUG-115777
Change-Id: I45227cc543ef7db2217b1d53313c2e2b140988d6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 0e9c0c0847bd09c8a2b5166a2bafc103db0d3abc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Łukasz Matysiak 2024-05-07 15:57:08 +02:00 committed by Qt Cherry-pick Bot
parent 0dcdca5127
commit 5b5d6dfa49

View File

@ -4632,6 +4632,9 @@ void testWhenAllDifferentTypes()
void tst_QFuture::whenAllDifferentTypes()
{
#ifdef Q_OS_VXWORKS
QSKIP("std::variant implementation on VxWorks 24.03 is broken and doesn't work with duplicated types");
#endif
using Futures = std::variant<QFuture<int>, QFuture<int>, QFuture<void>>;
testWhenAllDifferentTypes<QList<Futures>>();
if (QTest::currentTestFailed())
@ -4841,6 +4844,9 @@ void tst_QFuture::whenAnyIteratorsWithFailed()
void tst_QFuture::whenAnyDifferentTypes()
{
#ifdef Q_OS_VXWORKS
QSKIP("std::variant implementation on VxWorks 24.03 is broken and doesn't work with duplicated types");
#endif
QPromise<int> pInt1;
QPromise<int> pInt2;
QPromise<void> pVoid;