diff --git a/tests/auto/corelib/itemmodels/CMakeLists.txt b/tests/auto/corelib/itemmodels/CMakeLists.txt index c0cd04df128..a8aa7438877 100644 --- a/tests/auto/corelib/itemmodels/CMakeLists.txt +++ b/tests/auto/corelib/itemmodels/CMakeLists.txt @@ -5,7 +5,9 @@ add_subdirectory(qstringlistmodel) if(TARGET Qt::Gui) add_subdirectory(qabstractitemmodel) if(QT_FEATURE_proxymodel) + if (NOT WASM) # QTBUG-121822 add_subdirectory(qabstractproxymodel) + endif() add_subdirectory(qconcatenatetablesproxymodel) add_subdirectory(qidentityproxymodel) add_subdirectory(qsortfilterproxymodel_recursive) diff --git a/tests/auto/corelib/itemmodels/qabstractproxymodel/CMakeLists.txt b/tests/auto/corelib/itemmodels/qabstractproxymodel/CMakeLists.txt index 87998143248..ea90d1dd793 100644 --- a/tests/auto/corelib/itemmodels/qabstractproxymodel/CMakeLists.txt +++ b/tests/auto/corelib/itemmodels/qabstractproxymodel/CMakeLists.txt @@ -14,6 +14,10 @@ endif() qt_internal_add_test(tst_qabstractproxymodel SOURCES tst_qabstractproxymodel.cpp + NO_BATCH # QTBUG-121815 + DEFINES + QTEST_THROW_ON_FAIL + QTEST_THROW_ON_SKIP LIBRARIES Qt::Gui Qt::TestPrivate diff --git a/tests/auto/corelib/itemmodels/qabstractproxymodel/tst_qabstractproxymodel.cpp b/tests/auto/corelib/itemmodels/qabstractproxymodel/tst_qabstractproxymodel.cpp index 62512889fda..73a81f56ab8 100644 --- a/tests/auto/corelib/itemmodels/qabstractproxymodel/tst_qabstractproxymodel.cpp +++ b/tests/auto/corelib/itemmodels/qabstractproxymodel/tst_qabstractproxymodel.cpp @@ -3,10 +3,17 @@ #include #include + +#ifndef QTEST_THROW_ON_FAIL +# error This test requires QTEST_THROW_ON_FAIL being active. +#endif + #include #include #include +#include + class tst_QAbstractProxyModel : public QObject { Q_OBJECT @@ -610,28 +617,30 @@ void tst_QAbstractProxyModel::sourceModelBinding() SubQAbstractProxyModel proxy; QStandardItemModel model1; QStandardItemModel model2; + const char *lhs; + const char *rhs; + + auto printOnFailure = qScopeGuard([&] { + qDebug("Failed %s - %s test", lhs, rhs); + }); + lhs = "model"; + rhs = "model"; QTestPrivate::testReadWritePropertyBasics( proxy, &model1, &model2, "sourceModel"); - if (QTest::currentTestFailed()) { - qDebug("Failed model - model test"); - return; - } proxy.setSourceModel(&model2); + lhs = "model"; + rhs = "nullptr"; QTestPrivate::testReadWritePropertyBasics( proxy, &model1, nullptr, "sourceModel"); - if (QTest::currentTestFailed()) { - qDebug("Failed model - nullptr test"); - return; - } proxy.setSourceModel(&model1); + lhs = "nullptr"; + rhs = "model"; QTestPrivate::testReadWritePropertyBasics( proxy, nullptr, &model2, "sourceModel"); - if (QTest::currentTestFailed()) { - qDebug("Failed nullptr - model test"); - return; - } + + printOnFailure.dismiss(); } QTEST_MAIN(tst_QAbstractProxyModel)