summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/testlib/qcomparisontesthelper_p.h40
-rw-r--r--tests/auto/corelib/global/qcomparehelpers/tst_qcomparehelpers.cpp9
-rw-r--r--tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp18
-rw-r--r--tests/auto/corelib/time/qdate/tst_qdate.cpp60
-rw-r--r--tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp16
-rw-r--r--tests/auto/corelib/time/qtime/tst_qtime.cpp6
-rw-r--r--tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp2
7 files changed, 81 insertions, 70 deletions
diff --git a/src/testlib/qcomparisontesthelper_p.h b/src/testlib/qcomparisontesthelper_p.h
index 9658db9b88..b422fc4049 100644
--- a/src/testlib/qcomparisontesthelper_p.h
+++ b/src/testlib/qcomparisontesthelper_p.h
@@ -330,6 +330,46 @@ void testAllComparisonOperators(LeftType lhs, RightType rhs, OrderingType expect
} // namespace QTestPrivate
+/*!
+ \internal
+
+ A helper macro that calls QTestPrivate::testEqualityOperators(), checks the
+ test's state after the function is executed, and generates a meaningful
+ debug message with the original file and line numbers if the test has
+ failed.
+*/
+#define QT_TEST_EQUALITY_OPS(Left, Right, Expected) \
+ do { \
+ auto report = qScopeGuard([] { \
+ qDebug("testEqualityOperators(" #Left ", " #Right ", " #Expected ") " \
+ "failed in " __FILE__ " on line %d", __LINE__); \
+ }); \
+ QTestPrivate::testEqualityOperators(Left, Right, Expected); \
+ if (QTest::currentTestFailed()) \
+ return; \
+ report.dismiss(); \
+ } while (false)
+
+/*!
+ \internal
+
+ A helper macro that calls QTestPrivate::testAllComparisonOperators(), checks
+ the test's state after the function is executed, and generates a meaningful
+ debug message with the original file and line numbers if the test has
+ failed.
+*/
+#define QT_TEST_ALL_COMPARISON_OPS(Left, Right, Expected) \
+ do { \
+ auto report = qScopeGuard([] { \
+ qDebug("testAllComparisonOperators(" #Left ", " #Right ", " #Expected ") " \
+ "failed in " __FILE__ " on line %d", __LINE__); \
+ }); \
+ QTestPrivate::testAllComparisonOperators(Left, Right, Expected); \
+ if (QTest::currentTestFailed()) \
+ return; \
+ report.dismiss(); \
+ } while (false)
+
QT_END_NAMESPACE
#endif // QCOMPARISONTESTHELPER_P_H
diff --git a/tests/auto/corelib/global/qcomparehelpers/tst_qcomparehelpers.cpp b/tests/auto/corelib/global/qcomparehelpers/tst_qcomparehelpers.cpp
index 8da320a63a..16dbd9a93e 100644
--- a/tests/auto/corelib/global/qcomparehelpers/tst_qcomparehelpers.cpp
+++ b/tests/auto/corelib/global/qcomparehelpers/tst_qcomparehelpers.cpp
@@ -201,15 +201,10 @@ void tst_QCompareHelpers::compareImpl()
QFETCH(RightType, rhs);
QFETCH(OrderingType, expectedOrdering);
- QTestPrivate::testAllComparisonOperators(lhs, rhs, expectedOrdering);
- if (QTest::currentTestFailed())
- return;
+ QT_TEST_ALL_COMPARISON_OPS(lhs, rhs, expectedOrdering);
#ifdef __cpp_lib_three_way_comparison
// Also check std types.
- QTestPrivate::testAllComparisonOperators(lhs, rhs,
- QtOrderingPrivate::to_std(expectedOrdering));
- if (QTest::currentTestFailed())
- return;
+ QT_TEST_ALL_COMPARISON_OPS(lhs, rhs, QtOrderingPrivate::to_std(expectedOrdering));
#endif // __cpp_lib_three_way_comparison
}
diff --git a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp
index 4b810678d7..98bb9d3013 100644
--- a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp
+++ b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp
@@ -1000,18 +1000,12 @@ void tst_QAbstractItemModel::modelIndexComparisons()
QPersistentModelIndex pmi11 = mi11;
QPersistentModelIndex pmi22 = mi22;
- QTestPrivate::testEqualityOperators(mi11, mi11, true);
- if (QTest::currentTestFailed()) return;
- QTestPrivate::testEqualityOperators(mi11, mi22, false);
- if (QTest::currentTestFailed()) return;
- QTestPrivate::testEqualityOperators(pmi11, pmi11, true);
- if (QTest::currentTestFailed()) return;
- QTestPrivate::testEqualityOperators(pmi11, pmi22, false);
- if (QTest::currentTestFailed()) return;
- QTestPrivate::testEqualityOperators(pmi11, mi11, true);
- if (QTest::currentTestFailed()) return;
- QTestPrivate::testEqualityOperators(pmi11, mi22, false);
- if (QTest::currentTestFailed()) return;
+ QT_TEST_EQUALITY_OPS(mi11, mi11, true);
+ QT_TEST_EQUALITY_OPS(mi11, mi22, false);
+ QT_TEST_EQUALITY_OPS(pmi11, pmi11, true);
+ QT_TEST_EQUALITY_OPS(pmi11, pmi22, false);
+ QT_TEST_EQUALITY_OPS(pmi11, mi11, true);
+ QT_TEST_EQUALITY_OPS(pmi11, mi22, false);
}
void tst_QAbstractItemModel::testMoveSameParentDown_data()
diff --git a/tests/auto/corelib/time/qdate/tst_qdate.cpp b/tests/auto/corelib/time/qdate/tst_qdate.cpp
index 42fbdba3a9..f80b42c7d9 100644
--- a/tests/auto/corelib/time/qdate/tst_qdate.cpp
+++ b/tests/auto/corelib/time/qdate/tst_qdate.cpp
@@ -1041,9 +1041,7 @@ void tst_QDate::operator_eq_eq()
QFETCH(QDate, d2);
QFETCH(bool, expectEqual);
- QTestPrivate::testEqualityOperators(d1, d2, expectEqual);
- if (QTest::currentTestFailed())
- return;
+ QT_TEST_EQUALITY_OPS(d1, d2, expectEqual);
if (expectEqual)
QVERIFY(qHash(d1) == qHash(d2));
@@ -1077,7 +1075,7 @@ void tst_QDate::ordering()
QFETCH(QDate, right);
QFETCH(Qt::strong_ordering, expectedOrdering);
- QTestPrivate::testAllComparisonOperators(left, right, expectedOrdering);
+ QT_TEST_ALL_COMPARISON_OPS(left, right, expectedOrdering);
}
void tst_QDate::ordering_chrono_types()
@@ -1086,43 +1084,37 @@ void tst_QDate::ordering_chrono_types()
using namespace std::chrono;
QDate friday(2001, 11, 30); // the 5th Friday of November 2001
// std::chrono::year_month_day
- QTestPrivate::testAllComparisonOperators(friday, year_month_day(2001y, November, 29d),
- Qt::strong_ordering::greater);
- QTestPrivate::testAllComparisonOperators(friday, year_month_day(2001y, November, 30d),
- Qt::strong_ordering::equivalent);
- QTestPrivate::testAllComparisonOperators(friday, year_month_day(2001y, December, 1d),
- Qt::strong_ordering::less);
+ QT_TEST_ALL_COMPARISON_OPS(friday, year_month_day(2001y, November, 29d),
+ Qt::strong_ordering::greater);
+ QT_TEST_ALL_COMPARISON_OPS(friday, year_month_day(2001y, November, 30d),
+ Qt::strong_ordering::equivalent);
+ QT_TEST_ALL_COMPARISON_OPS(friday, year_month_day(2001y, December, 1d),
+ Qt::strong_ordering::less);
// std::chrono::year_month_day_last
- QTestPrivate::testAllComparisonOperators(friday, year_month_day_last(2001y, {October / last}),
- Qt::strong_ordering::greater);
- QTestPrivate::testAllComparisonOperators(friday, year_month_day_last(2001y, {November / last}),
- Qt::strong_ordering::equivalent);
- QTestPrivate::testAllComparisonOperators(friday, year_month_day_last(2001y, {December / last}),
- Qt::strong_ordering::less);
+ QT_TEST_ALL_COMPARISON_OPS(friday, year_month_day_last(2001y, {October / last}),
+ Qt::strong_ordering::greater);
+ QT_TEST_ALL_COMPARISON_OPS(friday, year_month_day_last(2001y, {November / last}),
+ Qt::strong_ordering::equivalent);
+ QT_TEST_ALL_COMPARISON_OPS(friday, year_month_day_last(2001y, {December / last}),
+ Qt::strong_ordering::less);
// std::chrono::year_month_weekday
- QTestPrivate::testAllComparisonOperators(friday,
- year_month_weekday(2001y, November, Thursday[5]),
- Qt::strong_ordering::greater);
- QTestPrivate::testAllComparisonOperators(friday,
- year_month_weekday(2001y, November, Friday[5]),
- Qt::strong_ordering::equivalent);
- QTestPrivate::testAllComparisonOperators(friday,
- year_month_weekday(2001y, December, Saturday[1]),
- Qt::strong_ordering::less);
+ QT_TEST_ALL_COMPARISON_OPS(friday, year_month_weekday(2001y, November, Thursday[5]),
+ Qt::strong_ordering::greater);
+ QT_TEST_ALL_COMPARISON_OPS(friday, year_month_weekday(2001y, November, Friday[5]),
+ Qt::strong_ordering::equivalent);
+ QT_TEST_ALL_COMPARISON_OPS(friday, year_month_weekday(2001y, December, Saturday[1]),
+ Qt::strong_ordering::less);
// std::chrono::year_month_weekday_last
QDate thursday(2001, 11, 29); // the last Thursday of November 2001
- QTestPrivate::testAllComparisonOperators(thursday, year_month_weekday_last(2001y, November,
- Wednesday[last]),
- Qt::strong_ordering::greater);
- QTestPrivate::testAllComparisonOperators(thursday, year_month_weekday_last(2001y, November,
- Thursday[last]),
- Qt::strong_ordering::equivalent);
- QTestPrivate::testAllComparisonOperators(thursday, year_month_weekday_last(2001y, November,
- Friday[last]),
- Qt::strong_ordering::less);
+ QT_TEST_ALL_COMPARISON_OPS(thursday, year_month_weekday_last(2001y, November, Wednesday[last]),
+ Qt::strong_ordering::greater);
+ QT_TEST_ALL_COMPARISON_OPS(thursday, year_month_weekday_last(2001y, November, Thursday[last]),
+ Qt::strong_ordering::equivalent);
+ QT_TEST_ALL_COMPARISON_OPS(thursday, year_month_weekday_last(2001y, November, Friday[last]),
+ Qt::strong_ordering::less);
#else
QSKIP("This test requires C++20-level <chrono> support enabled in the standard library.");
#endif // __cpp_lib_chrono >= 201907L
diff --git a/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp
index 7c21d413ff..efdfca6b3c 100644
--- a/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp
+++ b/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp
@@ -2472,17 +2472,9 @@ void tst_QDateTime::operator_eqeq()
QFETCH(bool, expectEqual);
QFETCH(bool, checkEuro);
- QTestPrivate::testEqualityOperators(dt1, dt1, true);
- if (QTest::currentTestFailed())
- return;
-
- QTestPrivate::testEqualityOperators(dt2, dt2, true);
- if (QTest::currentTestFailed())
- return;
-
- QTestPrivate::testEqualityOperators(dt1, dt2, expectEqual);
- if (QTest::currentTestFailed())
- return;
+ QT_TEST_EQUALITY_OPS(dt1, dt1, true);
+ QT_TEST_EQUALITY_OPS(dt2, dt2, true);
+ QT_TEST_EQUALITY_OPS(dt1, dt2, expectEqual);
QVERIFY(dt1 != QDateTime::currentDateTime());
QVERIFY(dt2 != QDateTime::currentDateTime());
@@ -2553,7 +2545,7 @@ void tst_QDateTime::ordering()
QFETCH(QDateTime, right);
QFETCH(Qt::weak_ordering, expectedOrdering);
- QTestPrivate::testAllComparisonOperators(left, right, expectedOrdering);
+ QT_TEST_ALL_COMPARISON_OPS(left, right, expectedOrdering);
}
Q_DECLARE_METATYPE(QDataStream::Version)
diff --git a/tests/auto/corelib/time/qtime/tst_qtime.cpp b/tests/auto/corelib/time/qtime/tst_qtime.cpp
index c1cb5d7d40..30fee92049 100644
--- a/tests/auto/corelib/time/qtime/tst_qtime.cpp
+++ b/tests/auto/corelib/time/qtime/tst_qtime.cpp
@@ -350,9 +350,7 @@ void tst_QTime::operator_eq_eq()
QFETCH(QTime, t2);
QFETCH(bool, expectEqual);
- QTestPrivate::testEqualityOperators(t1, t2, expectEqual);
- if (QTest::currentTestFailed())
- return;
+ QT_TEST_EQUALITY_OPS(t1, t2, expectEqual);
if (expectEqual)
QVERIFY(qHash(t1) == qHash(t2));
@@ -387,7 +385,7 @@ void tst_QTime::ordering()
QFETCH(QTime, right);
QFETCH(Qt::strong_ordering, expectedOrdering);
- QTestPrivate::testAllComparisonOperators(left, right, expectedOrdering);
+ QT_TEST_ALL_COMPARISON_OPS(left, right, expectedOrdering);
}
#if QT_CONFIG(datestring)
diff --git a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp
index c4ba809bb5..f52226e0e8 100644
--- a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp
+++ b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp
@@ -365,7 +365,7 @@ void tst_QTimeZone::compare()
QFETCH(QTimeZone, right);
QFETCH(bool, expectedEqual);
- QTestPrivate::testEqualityOperators(left, right, expectedEqual);
+ QT_TEST_EQUALITY_OPS(left, right, expectedEqual);
}
void tst_QTimeZone::timespec()