qt6-bb10/tests/auto/testlib
Thiago Macieira 167af1611f QTest: fix bug dereferencing nullptr in toString<std::nullptr_t>()
Amends commit 0756cc1eae.

The generic instantiation of this function had a std::nullptr_t *
parameter, but callers had special code to pass a nullptr there because
we never needed a value of a nullptr (it's always a null pointer). For
example, in compare_ptr_helper():

        auto lhsFormatter = Internal::pointerToString<QObject>;
        auto rhsFormatter = Internal::genericToString<std::nullptr_t>;
        return compare_helper(t1 == nullptr, "Compared QObject pointers are not the same",
                              const_cast<const QObject *>(t1), nullptr,
                              lhsFormatter, rhsFormatter, actual, expected, file, line);

But in debug mode, some compilers did emit a load from this memory
location, causing a crash. So we just specialize this function to avoid
such.

We had a test for this... except it was never reached because the
earlier QCOMPARE() had already failed. For the test, this amends
commit ae02188233.

Conflict resolution for 6.8: regenerated the expected output for
tst_selftest.

Fixes: QTBUG-133330
Change-Id: I2cd3bb475788431c6a0dfffd28e730e8b613e033
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit e19b633c468123526660b40ae110f46090682c76)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 042e713cb7800f97c10d2d75a717ceb3e41ab29a)
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2025-02-05 21:13:47 +01:00
..
initmain Change license for tests files 2024-02-04 09:56:42 +01:00
outformat Change license for tests files 2024-02-04 09:56:42 +01:00
qabstractitemmodeltester Change license for tests files 2024-02-04 09:56:42 +01:00
qsignalspy QSignalSpy: separate messages for invalid and non-signal meta-methods 2024-03-22 15:31:39 +01:00
selftests QTest: fix bug dereferencing nullptr in toString<std::nullptr_t>() 2025-02-05 21:13:47 +01:00
tostring Change license for tests files 2024-02-04 09:56:42 +01:00
CMakeLists.txt Move the formatting of <chrono> durations to QDebug & QtTest 2023-05-06 17:54:23 +00:00