Skip to content

Commit

Permalink
qmake/cmake disabled deprecated APIs for Qt <=6.7
Browse files Browse the repository at this point in the history
 - for Qt <6 disabled deprecated APIs for Qt <=6.0
 - added temporary workaround for
   QVERIFY_EXCEPTION_THROWN() vs QVERIFY_THROWS_EXCEPTION(), to support
   Qt v6.8 and also older version at the same time
  • Loading branch information
silverqx committed Jun 16, 2024
1 parent 70c385d commit 1c8e4d3
Show file tree
Hide file tree
Showing 40 changed files with 309 additions and 245 deletions.
1 change: 1 addition & 0 deletions NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,7 @@ Common:
- overflow : add check code, eg when size_t to int conversion
- perf : performance
- production : check before deploy to production
- qt5 remove : code to remove after the Qt v5 support will dropped
- regex : mark regex-es, try to avoid them
- reliability : make things more robust and reliable
- repeat : tasks that should I make from time to time
Expand Down
17 changes: 10 additions & 7 deletions cmake/CommonModules/TinyCommon.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,18 @@ ${TINY_UNPARSED_ARGUMENTS}")
# Qt defines
# ---

# Disable deprecated APIs up to the given Qt version
# TODO qt5 remove silverqx
if(QT_VERSION_MAJOR GREATER_EQUAL 6)
# Disable all the APIs deprecated up to Qt 6.7.0
target_compile_definitions(${target} INTERFACE QT_DISABLE_DEPRECATED_UP_TO=0x060700)
else()
# Disable all the APIs deprecated up to Qt 6.0.0
target_compile_definitions(${target} INTERFACE QT_DISABLE_DEPRECATED_BEFORE=0x060000)
endif()

target_compile_definitions(${target}
INTERFACE
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version
# of Qt.
# Disables all the APIs deprecated before Qt 6.0.0
QT_DISABLE_DEPRECATED_BEFORE=0x060000

#QT_ASCII_CAST_WARNINGS
#QT_NO_CAST_FROM_ASCII
#QT_RESTRICTED_CAST_FROM_ASCII
Expand Down
14 changes: 9 additions & 5 deletions qmake/common/common.pri
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ load(tiny_dotenv)
# Common Configuration ( also for tests )
# ---

# TODO qt5 remove silverqx
versionAtLeast(QT_VERSION, 6.2.4): \
CONFIG *= c++20
else: \
Expand All @@ -19,11 +20,14 @@ CONFIG -= c++11 app_bundle
# Qt defines
# ---

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
# Disables all the APIs deprecated before Qt 6.0.0
DEFINES *= QT_DISABLE_DEPRECATED_BEFORE=0x060000
# Disable deprecated APIs up to the given Qt version
# Disable all the APIs deprecated up to Qt 6.7.0
# TODO qt5 remove silverqx
versionAtLeast(QT_VERSION, 6): \
DEFINES *= QT_DISABLE_DEPRECATED_UP_TO=0x060700
# Disable all the APIs deprecated up to Qt 6.0.0
else: \
DEFINES *= QT_DISABLE_DEPRECATED_BEFORE=0x060000

#DEFINES *= QT_ASCII_CAST_WARNINGS
#DEFINES *= QT_NO_CAST_FROM_ASCII
Expand Down
1 change: 1 addition & 0 deletions tests/TinyUtils/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ add_library(${TinyUtils_target}
src/databases.hpp
src/export.hpp
src/fs.hpp
src/macros.hpp
src/version.hpp

src/databases.cpp
Expand Down
5 changes: 5 additions & 0 deletions tests/TinyUtils/src/databases.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@
# include "orm/exceptions/runtimeerror.hpp"
#endif

#ifndef sl
/*! Alias for the QStringLiteral(). */
# define sl(str) QStringLiteral(str)
#endif

#ifdef TINYORM_USING_TINYDRIVERS
using Orm::Drivers::SqlDatabase;
#endif
Expand Down
5 changes: 0 additions & 5 deletions tests/TinyUtils/src/databases.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@

#include "export.hpp"

#ifndef sl
/*! Alias for the QStringLiteral(). */
# define sl(str) QStringLiteral(str)
#endif

namespace Orm
{
class DatabaseManager;
Expand Down
24 changes: 24 additions & 0 deletions tests/TinyUtils/src/macros.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#pragma once
#ifndef TINYUTILS_MACROS_HPP
#define TINYUTILS_MACROS_HPP

#include <QtGlobal>

#ifndef sl
/*! Alias for the QStringLiteral(). */
# define sl(str) QStringLiteral(str)
#endif

#ifndef TVERIFY_THROWS_EXCEPTION
# if QT_VERSION >= QT_VERSION_CHECK(6, 3, 0)
/*! Alias for QVERIFY_THROWS_EXCEPTION() (temporary workaround for Qt v6.8). */
# define TVERIFY_THROWS_EXCEPTION(exceptiontype, ...) \
QVERIFY_THROWS_EXCEPTION(exceptiontype, __VA_ARGS__)
# else
/*! Alias for QVERIFY_EXCEPTION_THROWN(). */
# define TVERIFY_THROWS_EXCEPTION(exceptiontype, expression) \
QVERIFY_EXCEPTION_THROWN(expression, exceptiontype)
# endif
#endif

#endif // TINYUTILS_MACROS_HPP
1 change: 1 addition & 0 deletions tests/TinyUtils/src/src.pri
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ HEADERS += \
$$PWD/databases.hpp \
$$PWD/export.hpp \
$$PWD/fs.hpp \
$$PWD/macros.hpp \
$$PWD/version.hpp \

SOURCES += \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ library.
#include "orm/drivers/sqlquery.hpp"

#include "databases.hpp"
#include "macros.hpp"

using namespace Qt::StringLiterals; /* NOLINT(google-build-using-namespace) */

Expand Down Expand Up @@ -408,7 +409,7 @@ void tst_SqlDatabaseManager::MySQL_addExistingConnection_ThrowException() const
QCOMPARE(Databases::driversConnectionNames().size(), 1);
QVERIFY(Databases::driversOpenedConnectionNames().isEmpty());

QVERIFY_THROWS_EXCEPTION(
TVERIFY_THROWS_EXCEPTION(
InvalidArgumentError,
Databases::createDriversConnectionTemp(
Databases::MYSQL_DRIVERS,
Expand Down Expand Up @@ -463,7 +464,7 @@ void tst_SqlDatabaseManager::MySQL_enableOptionalMetadata_ThrowException() const
u"CLIENT_OPTIONAL_RESULTSET_METADATA"_s}) // Must support option without the value (=ON/OFF; w/o value == ON)
.join(SEMICOLON));

QVERIFY_THROWS_EXCEPTION(InvalidArgumentError, connection.open());
TVERIFY_THROWS_EXCEPTION(InvalidArgumentError, connection.open());

// Restore
/* This will generate expected warning about the connection is still in use
Expand Down Expand Up @@ -496,7 +497,7 @@ void tst_SqlDatabaseManager::MySQL_enableOptionalMetadata_ThrowException() const
u"MYSQL_OPT_OPTIONAL_RESULTSET_METADATA=ON"_s})
.join(SEMICOLON));

QVERIFY_THROWS_EXCEPTION(InvalidArgumentError, connection.open());
TVERIFY_THROWS_EXCEPTION(InvalidArgumentError, connection.open());

// Restore
/* This will generate expected warning about the connection is still in use
Expand Down Expand Up @@ -540,7 +541,7 @@ void tst_SqlDatabaseManager::MySQL_disableOptionalMetadata_CLIENT_OPTIONAL() con
u"CLIENT_OPTIONAL_RESULTSET_METADATA=OFF"_s}) // Must support option without the value (=ON/OFF; w/o value == ON)
.join(SEMICOLON));

QVERIFY_THROWS_EXCEPTION(InvalidArgumentError, connection.open());
TVERIFY_THROWS_EXCEPTION(InvalidArgumentError, connection.open());

// Restore
/* This will generate expected warning about the connection is still in use
Expand Down Expand Up @@ -628,7 +629,7 @@ void tst_SqlDatabaseManager::MySQL_MariaDB_disableOptionalMetadata_MYSQL_OPT() c
u"MYSQL_OPT_OPTIONAL_RESULTSET_METADATA=OFF"_s})
.join(SEMICOLON));

QVERIFY_THROWS_EXCEPTION(InvalidArgumentError, connection.open());
TVERIFY_THROWS_EXCEPTION(InvalidArgumentError, connection.open());

// Restore
/* This will generate expected warning about the connection is still in use
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "orm/utils/type.hpp"

#include "databases.hpp"
#include "macros.hpp"

using namespace Qt::StringLiterals; /* NOLINT(google-build-using-namespace) */

Expand Down Expand Up @@ -629,12 +630,12 @@ void tst_SqlQuery_Normal::finish_And_detachFromResultSet() const
QVERIFY(users.isSelect());
QVERIFY(!users.isValid());
QCOMPARE(users.at(), BeforeFirstRow);
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
// Behaves the same as the size() for SELECT queries
QVERIFY_THROWS_EXCEPTION(LogicError, users.numRowsAffected());
TVERIFY_THROWS_EXCEPTION(LogicError, users.numRowsAffected());
QCOMPARE(users.numericalPrecisionPolicy(), LowPrecisionDouble);
QCOMPARE(users.executedQuery(), query);
QVERIFY_THROWS_EXCEPTION(LogicError, users.lastInsertId());
TVERIFY_THROWS_EXCEPTION(LogicError, users.lastInsertId());

QVERIFY(!users.next());
QVERIFY(!users.previous());
Expand Down Expand Up @@ -902,12 +903,12 @@ void tst_SqlQuery_Normal::select_reExecute_SameQuery_AfterFinish() const
QVERIFY(users.isSelect());
QVERIFY(!users.isValid());
QCOMPARE(users.at(), BeforeFirstRow);
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
// Behaves the same as the size() for SELECT queries
QVERIFY_THROWS_EXCEPTION(LogicError, users.numRowsAffected());
TVERIFY_THROWS_EXCEPTION(LogicError, users.numRowsAffected());
QCOMPARE(users.numericalPrecisionPolicy(), LowPrecisionDouble);
QCOMPARE(users.executedQuery(), query);
QVERIFY_THROWS_EXCEPTION(LogicError, users.lastInsertId());
TVERIFY_THROWS_EXCEPTION(LogicError, users.lastInsertId());

QVERIFY(!users.next());
QVERIFY(!users.previous());
Expand Down Expand Up @@ -1019,12 +1020,12 @@ void tst_SqlQuery_Normal::select_executeAnotherQuery_OnSameInstance_AfterFinish(
QVERIFY(query.isSelect());
QVERIFY(!query.isValid());
QCOMPARE(query.at(), BeforeFirstRow);
QVERIFY_THROWS_EXCEPTION(LogicError, query.size());
TVERIFY_THROWS_EXCEPTION(LogicError, query.size());
// Behaves the same as the size() for SELECT queries
QVERIFY_THROWS_EXCEPTION(LogicError, query.numRowsAffected());
TVERIFY_THROWS_EXCEPTION(LogicError, query.numRowsAffected());
QCOMPARE(query.numericalPrecisionPolicy(), LowPrecisionDouble);
QCOMPARE(query.executedQuery(), queryString);
QVERIFY_THROWS_EXCEPTION(LogicError, query.lastInsertId());
TVERIFY_THROWS_EXCEPTION(LogicError, query.lastInsertId());

QVERIFY(!query.next());
QVERIFY(!query.previous());
Expand Down Expand Up @@ -1104,7 +1105,7 @@ void tst_SqlQuery_Normal::insert_update_delete() const
QVERIFY(users.isActive());
QVERIFY(!users.isSelect());
QVERIFY(!users.isValid());
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
QCOMPARE(users.numRowsAffected(), 1);
QCOMPARE(users.executedQuery(), query);

Expand Down Expand Up @@ -1161,7 +1162,7 @@ void tst_SqlQuery_Normal::insert_update_delete() const
QVERIFY(users.isActive());
QVERIFY(!users.isSelect());
QVERIFY(!users.isValid());
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
QCOMPARE(users.numRowsAffected(), 1);
QCOMPARE(users.executedQuery(), query);
}
Expand Down Expand Up @@ -1210,7 +1211,7 @@ void tst_SqlQuery_Normal::insert_update_delete() const
QVERIFY(users.isActive());
QVERIFY(!users.isSelect());
QVERIFY(!users.isValid());
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
QCOMPARE(users.numRowsAffected(), 1);
QCOMPARE(users.executedQuery(), query);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "orm/utils/type.hpp"

#include "databases.hpp"
#include "macros.hpp"

using namespace Qt::StringLiterals; /* NOLINT(google-build-using-namespace) */

Expand Down Expand Up @@ -434,7 +435,7 @@ void tst_SqlQuery_Prepared::select_BoundLessValues() const
QCOMPARE(boundValues.size(), 1);
QCOMPARE(boundValues, QVariantList {1});

QVERIFY_THROWS_EXCEPTION(QueryError, users.exec());
TVERIFY_THROWS_EXCEPTION(QueryError, users.exec());
}

namespace
Expand Down Expand Up @@ -779,12 +780,12 @@ void tst_SqlQuery_Prepared::finish_And_detachFromResultSet() const
QVERIFY(users.isSelect());
QVERIFY(!users.isValid());
QCOMPARE(users.at(), BeforeFirstRow);
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
// Behaves the same as the size() for SELECT queries
QVERIFY_THROWS_EXCEPTION(LogicError, users.numRowsAffected());
TVERIFY_THROWS_EXCEPTION(LogicError, users.numRowsAffected());
QCOMPARE(users.numericalPrecisionPolicy(), LowPrecisionDouble);
QCOMPARE(users.executedQuery(), query);
QVERIFY_THROWS_EXCEPTION(LogicError, users.lastInsertId());
TVERIFY_THROWS_EXCEPTION(LogicError, users.lastInsertId());

// Test bound values
{
Expand Down Expand Up @@ -1074,12 +1075,12 @@ void tst_SqlQuery_Prepared::select_reExecute_SameQuery_AfterFinish() const
QVERIFY(users.isSelect());
QVERIFY(!users.isValid());
QCOMPARE(users.at(), BeforeFirstRow);
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
// Behaves the same as the size() for SELECT queries
QVERIFY_THROWS_EXCEPTION(LogicError, users.numRowsAffected());
TVERIFY_THROWS_EXCEPTION(LogicError, users.numRowsAffected());
QCOMPARE(users.numericalPrecisionPolicy(), LowPrecisionDouble);
QCOMPARE(users.executedQuery(), query);
QVERIFY_THROWS_EXCEPTION(LogicError, users.lastInsertId());
TVERIFY_THROWS_EXCEPTION(LogicError, users.lastInsertId());

// Test bound values
QVERIFY(users.boundValues().isEmpty());
Expand Down Expand Up @@ -1197,12 +1198,12 @@ void tst_SqlQuery_Prepared::select_executeAnotherQuery_OnSameInstance_AfterFinis
QVERIFY(query.isSelect());
QVERIFY(!query.isValid());
QCOMPARE(query.at(), BeforeFirstRow);
QVERIFY_THROWS_EXCEPTION(LogicError, query.size());
TVERIFY_THROWS_EXCEPTION(LogicError, query.size());
// Behaves the same as the size() for SELECT queries
QVERIFY_THROWS_EXCEPTION(LogicError, query.numRowsAffected());
TVERIFY_THROWS_EXCEPTION(LogicError, query.numRowsAffected());
QCOMPARE(query.numericalPrecisionPolicy(), LowPrecisionDouble);
QCOMPARE(query.executedQuery(), queryString);
QVERIFY_THROWS_EXCEPTION(LogicError, query.lastInsertId());
TVERIFY_THROWS_EXCEPTION(LogicError, query.lastInsertId());

// Test bound values
QVERIFY(query.boundValues().isEmpty());
Expand Down Expand Up @@ -1568,12 +1569,12 @@ void tst_SqlQuery_Prepared::
QVERIFY(users.isSelect());
QVERIFY(!users.isValid());
QCOMPARE(users.at(), BeforeFirstRow);
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
// Behaves the same as the size() for SELECT queries
QVERIFY_THROWS_EXCEPTION(LogicError, users.numRowsAffected());
TVERIFY_THROWS_EXCEPTION(LogicError, users.numRowsAffected());
QCOMPARE(users.numericalPrecisionPolicy(), LowPrecisionDouble);
QCOMPARE(users.executedQuery(), query);
QVERIFY_THROWS_EXCEPTION(LogicError, users.lastInsertId());
TVERIFY_THROWS_EXCEPTION(LogicError, users.lastInsertId());

QVERIFY(!users.next());
QVERIFY(!users.previous());
Expand Down Expand Up @@ -1699,12 +1700,12 @@ void tst_SqlQuery_Prepared::
QVERIFY(query.isSelect());
QVERIFY(!query.isValid());
QCOMPARE(query.at(), BeforeFirstRow);
QVERIFY_THROWS_EXCEPTION(LogicError, query.size());
TVERIFY_THROWS_EXCEPTION(LogicError, query.size());
// Behaves the same as the size() for SELECT queries
QVERIFY_THROWS_EXCEPTION(LogicError, query.numRowsAffected());
TVERIFY_THROWS_EXCEPTION(LogicError, query.numRowsAffected());
QCOMPARE(query.numericalPrecisionPolicy(), LowPrecisionDouble);
QCOMPARE(query.executedQuery(), queryString);
QVERIFY_THROWS_EXCEPTION(LogicError, query.lastInsertId());
TVERIFY_THROWS_EXCEPTION(LogicError, query.lastInsertId());

// Test bound values
const auto boundValues = query.boundValues();
Expand Down Expand Up @@ -1816,7 +1817,7 @@ void tst_SqlQuery_Prepared::insert_update_delete() const
QVERIFY(users.isActive());
QVERIFY(!users.isSelect());
QVERIFY(!users.isValid());
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
QCOMPARE(users.numRowsAffected(), 1);
QCOMPARE(users.executedQuery(), query);

Expand Down Expand Up @@ -1893,7 +1894,7 @@ void tst_SqlQuery_Prepared::insert_update_delete() const
QVERIFY(users.isActive());
QVERIFY(!users.isSelect());
QVERIFY(!users.isValid());
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
QCOMPARE(users.numRowsAffected(), 1);
QCOMPARE(users.executedQuery(), query);
}
Expand Down Expand Up @@ -1962,7 +1963,7 @@ void tst_SqlQuery_Prepared::insert_update_delete() const
QVERIFY(users.isActive());
QVERIFY(!users.isSelect());
QVERIFY(!users.isValid());
QVERIFY_THROWS_EXCEPTION(LogicError, users.size());
TVERIFY_THROWS_EXCEPTION(LogicError, users.size());
QCOMPARE(users.numRowsAffected(), 1);
QCOMPARE(users.executedQuery(), query);
}
Expand Down
Loading

0 comments on commit 1c8e4d3

Please sign in to comment.