diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2024-04-11 12:13:26 -0700 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2024-04-26 18:19:36 +0200 |
commit | b7fb9d8150ac84cb3f02e808ed0a0b186a6a57d9 (patch) | |
tree | 80dbab6c64fff933c2939ad2a5b2c455eb520418 | |
parent | eccaf0abec8e1e9c055d409575e5a6c894879a06 (diff) |
QTest: add removed_api.cpp and move deprecated functions to it
QtTest is not under the same Binary Compatibility guarantees as the
other modules, but let's try and do it where it's easy.
The toString() method can simply be removed from the header because it's
not a member function. Its deprecation wasn't marked with a version
number, so it starts now with 6.8.
Change-Id: Ie28eadac333c4bcd8c08fffd17c54faca7057b9c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
-rw-r--r-- | src/testlib/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/testlib/qtestcase.cpp | 5 | ||||
-rw-r--r-- | src/testlib/qtestcase.h | 3 | ||||
-rw-r--r-- | src/testlib/removed_api.cpp | 29 |
4 files changed, 32 insertions, 8 deletions
diff --git a/src/testlib/CMakeLists.txt b/src/testlib/CMakeLists.txt index 2c33883c96..0758a46f70 100644 --- a/src/testlib/CMakeLists.txt +++ b/src/testlib/CMakeLists.txt @@ -13,6 +13,7 @@ qt_internal_add_module(Test EXCEPTIONS SOURCES 3rdparty/cycle_p.h + removed_api.cpp # keep first qabstracttestlogger.cpp qabstracttestlogger_p.h qasciikey.cpp qbenchmark.cpp qbenchmark.h qbenchmark_p.h @@ -70,6 +71,8 @@ qt_internal_add_module(Test QT_NO_MESSAGELOGCONTEXT LIBRARIES Qt::CorePrivate + NO_PCH_SOURCES + removed_api.cpp PUBLIC_LIBRARIES Qt::Core PRIVATE_MODULE_INTERFACE diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 42795fade7..fb2b46d824 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -3061,11 +3061,6 @@ char *QTest::toString(const char *str) */ char *QTest::toString(const volatile void *p) // Use volatile to match compare_ptr_helper() { - return QTest::toString(const_cast<const void *>(p)); -} - -char *QTest::toString(const void *p) -{ char *msg = new char[128]; qsnprintf(msg, 128, "%p", p); return msg; diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h index 1a47382304..632b06fed3 100644 --- a/src/testlib/qtestcase.h +++ b/src/testlib/qtestcase.h @@ -402,7 +402,6 @@ namespace QTest Q_TESTLIB_EXPORT char *toPrettyUnicode(QStringView string); Q_TESTLIB_EXPORT char *toString(const char *); Q_TESTLIB_EXPORT char *toString(const volatile void *); - Q_TESTLIB_EXPORT char *toString(const void *); // ### FIXME: Qt 7: Remove Q_TESTLIB_EXPORT char *toString(const volatile QObject *); Q_TESTLIB_EXPORT void qInit(QObject *testObject, int argc = 0, char **argv = nullptr); @@ -495,8 +494,6 @@ namespace QTest Q_TESTLIB_EXPORT Qt::Key asciiToKey(char ascii); Q_TESTLIB_EXPORT char keyToAscii(Qt::Key key); - // ### TODO: remove QTestResult::compare() overload that takes char * values - // when this overload is removed. #if QT_DEPRECATED_SINCE(6, 4) QT_DEPRECATED_VERSION_X_6_4("use an overload that takes function_ref as parameters, " "or an overload that takes only failure message, if you " diff --git a/src/testlib/removed_api.cpp b/src/testlib/removed_api.cpp new file mode 100644 index 0000000000..00a53735a0 --- /dev/null +++ b/src/testlib/removed_api.cpp @@ -0,0 +1,29 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// Copyright (C) 2024 Intel Corporation. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#define QT_TESTLIB_BUILD_REMOVED_API + +#include "qtest.h" + +#if QT_TESTLIB_REMOVED_SINCE(6, 8) + +QT_BEGIN_NAMESPACE + +namespace QTest { + +Q_TESTLIB_EXPORT char *toString(const void *p) +{ + const volatile void *ptr = p; + return toString(ptr); +} + +} // namespace QTest + +QT_END_NAMESPACE + +// #include "qotherheader.h" +// implement removed functions from qotherheader.h +// order sections alphabetically to reduce chances of merge conflicts + +#endif // QT_TESTLIB_REMOVED_SINCE(6, 8) |