diff --git a/tests/auto/corelib/tools/CMakeLists.txt b/tests/auto/corelib/tools/CMakeLists.txt index 5cca2e2df60..5d4d4e99989 100644 --- a/tests/auto/corelib/tools/CMakeLists.txt +++ b/tests/auto/corelib/tools/CMakeLists.txt @@ -47,7 +47,9 @@ add_subdirectory(qset) add_subdirectory(qsharedpointer) add_subdirectory(qsize) add_subdirectory(qsizef) +if (NOT WASM) # QTBUG-121822 add_subdirectory(qspan) +endif() add_subdirectory(qstl) add_subdirectory(quniquehandle) add_subdirectory(qvarlengtharray) diff --git a/tests/auto/corelib/tools/qspan/CMakeLists.txt b/tests/auto/corelib/tools/qspan/CMakeLists.txt index 595d19dc433..b4517640a0f 100644 --- a/tests/auto/corelib/tools/qspan/CMakeLists.txt +++ b/tests/auto/corelib/tools/qspan/CMakeLists.txt @@ -10,4 +10,8 @@ endif() qt_internal_add_test(tst_qspan SOURCES tst_qspan.cpp + NO_BATCH # QTBUG-121815 + DEFINES + QTEST_THROW_ON_FAIL + QTEST_THROW_ON_SKIP ) diff --git a/tests/auto/corelib/tools/qspan/tst_qspan.cpp b/tests/auto/corelib/tools/qspan/tst_qspan.cpp index c7456ac7f27..95c60ee9532 100644 --- a/tests/auto/corelib/tools/qspan/tst_qspan.cpp +++ b/tests/auto/corelib/tools/qspan/tst_qspan.cpp @@ -6,6 +6,10 @@ #include #include +#ifndef QTEST_THROW_ON_FAIL +# error This test requires QTEST_THROW_ON_FAIL being active. +#endif + #include #include #ifdef __cpp_lib_span @@ -144,9 +148,6 @@ private: template const void *as_const_void(T *p) noexcept { return static_cast(p); } -#define RETURN_IF_FAILED() \ - do { if (QTest::currentTestFailed()) return; } while (false) - void tst_QSpan::onlyZeroExtentSpansHaveDefaultCtors() const { static_assert(std::is_nothrow_default_constructible_v>); @@ -156,19 +157,15 @@ void tst_QSpan::onlyZeroExtentSpansHaveDefaultCtors() const QSpan si; check_null_span(si); - RETURN_IF_FAILED(); QSpan sci; check_null_span(sci); - RETURN_IF_FAILED(); QSpan sdi; check_null_span(sdi); - RETURN_IF_FAILED(); QSpan sdci; check_null_span(sdci); - RETURN_IF_FAILED(); static_assert(!std::is_default_constructible_v>); static_assert(!std::is_default_constructible_v>); @@ -180,22 +177,18 @@ void tst_QSpan::zeroExtentSpansMaintainADataPointer() const QSpan si{&i, 0}; QCOMPARE(si.data(), &i); check_empty_span_incl_subspans(si); - RETURN_IF_FAILED(); QSpan sci{&i, 0}; QCOMPARE(sci.data(), &i); check_empty_span_incl_subspans(sci); - RETURN_IF_FAILED(); QSpan sdi{&i, 0}; QCOMPARE(sdi.data(), &i); check_empty_span_incl_subspans(sdi); - RETURN_IF_FAILED(); QSpan sdci{&i, 0}; QCOMPARE(sdci.data(), &i); check_empty_span_incl_subspans(sdci); - RETURN_IF_FAILED(); } template @@ -233,18 +226,14 @@ void tst_QSpan::check_nonempty_span(QSpan s, qsizetype expectedSize) const // don't run into Mandates: Offset >= Extent if constexpr (N > 0) { // incl. N == std::dynamic_extent check_empty_span_incl_subspans(s.template subspan<1>()); - RETURN_IF_FAILED(); } check_empty_span_incl_subspans(s.subspan(1)); - RETURN_IF_FAILED(); } else { // don't run into Mandates: Offset >= Extent if constexpr (N > 1) { // incl. N == std::dynamic_extent check_nonempty_span(s.template subspan<1>(), expectedSize - 1); - RETURN_IF_FAILED(); } check_nonempty_span(s.subspan(1), expectedSize - 1); - RETURN_IF_FAILED(); } } @@ -266,55 +255,46 @@ template void tst_QSpan::check_empty_span_incl_subspans(QSpan s) const { check_empty_span(s); - RETURN_IF_FAILED(); { const auto fi = s.template first<0>(); check_empty_span(fi); - RETURN_IF_FAILED(); QCOMPARE_EQ(fi.data(), s.data()); } { const auto la = s.template last<0>(); check_empty_span(la); - RETURN_IF_FAILED(); QCOMPARE_EQ(la.data(), s.data()); } { const auto ss = s.template subspan<0>(); check_empty_span(ss); - RETURN_IF_FAILED(); QCOMPARE_EQ(ss.data(), s.data()); } { const auto ss = s.template subspan<0, 0>(); check_empty_span(ss); - RETURN_IF_FAILED(); QCOMPARE_EQ(ss.data(), s.data()); } { const auto fi = s.first(0); check_empty_span(fi); - RETURN_IF_FAILED(); QCOMPARE_EQ(fi.data(), s.data()); } { const auto la = s.last(0); check_empty_span(la); - RETURN_IF_FAILED(); QCOMPARE_EQ(la.data(), s.data()); } { const auto ss = s.subspan(0); check_empty_span(ss); - RETURN_IF_FAILED(); QCOMPARE_EQ(ss.data(), s.data()); } { const auto ss = s.subspan(0, 0); check_empty_span(ss); - RETURN_IF_FAILED(); QCOMPARE_EQ(ss.data(), s.data()); } } @@ -347,7 +327,6 @@ void tst_QSpan::from_container_impl(C &&c) const QCOMPARE_EQ(si.data(), c_data); check_nonempty_span(si, c_size); - RETURN_IF_FAILED(); auto bi = as_bytes(si); static_assert(std::is_same_v>); @@ -369,7 +348,6 @@ void tst_QSpan::from_container_impl(C &&c) const QCOMPARE_EQ(sci.data(), c_data); check_nonempty_span(sci, c_size); - RETURN_IF_FAILED(); auto bci = as_bytes(sci); static_assert(std::is_same_v>); @@ -385,7 +363,6 @@ void tst_QSpan::from_container_impl(C &&c) const QCOMPARE_EQ(sci.data(), c_data); check_nonempty_span(sci, c_size); - RETURN_IF_FAILED(); auto bci = as_bytes(sci); static_assert(std::is_same_v>); @@ -426,7 +403,6 @@ void tst_QSpan::fromStdInitializerList() const QCOMPARE_EQ(sci.data(), il.begin()); check_nonempty_span(sci, 4); - RETURN_IF_FAILED(); } void tst_QSpan::fromZeroSizeStdArray() const @@ -475,7 +451,5 @@ void tst_QSpan::fromInitList() const l2({4, 5, 6}); } -#undef RETURN_IF_FAILED - QTEST_APPLESS_MAIN(tst_QSpan); #include "tst_qspan.moc"