From 5b5d6dfa49332a1c2f46f9d1615d9ed3f9de4d39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Matysiak?= Date: Tue, 7 May 2024 15:57:08 +0200 Subject: [PATCH] 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 (cherry picked from commit 0e9c0c0847bd09c8a2b5166a2bafc103db0d3abc) Reviewed-by: Qt Cherry-pick Bot --- tests/auto/corelib/thread/qfuture/tst_qfuture.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp b/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp index ae412fb2bdf..7a8cd707d7c 100644 --- a/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp +++ b/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp @@ -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, QFuture>; testWhenAllDifferentTypes>(); 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 pInt1; QPromise pInt2; QPromise pVoid;