diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h index b118a2066b9..75a51992d28 100644 --- a/src/testlib/qtestcase.h +++ b/src/testlib/qtestcase.h @@ -15,6 +15,7 @@ #include #include #include +#include #include @@ -623,10 +624,18 @@ namespace QTest using D1 = std::decay_t; using D2 = std::decay_t; using Internal::genericToString; - return compare_helper(t1 == t2, "Compared values are not the same", - std::addressof(t1), std::addressof(t2), - genericToString, genericToString, - actual, expected, file, line); + if constexpr (QtPrivate::is_standard_or_extended_integer_type_v + && QtPrivate::is_standard_or_extended_integer_type_v) { + return compare_helper(q20::cmp_equal(t1, t2), "Compared values are not the same", + std::addressof(t1), std::addressof(t2), + genericToString, genericToString, + actual, expected, file, line); + } else { + return compare_helper(t1 == t2, "Compared values are not the same", + std::addressof(t1), std::addressof(t2), + genericToString, genericToString, + actual, expected, file, line); + } } inline bool qCompare(double const &t1, float const &t2, const char *actual,