From dce43106e2944e14ac86cf3bc7e624795d2c51cb Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Thu, 7 Jan 2021 15:46:01 +0100 Subject: PSQL: Fix the QSqlDatabase test Pick-to: 6.0 5.15 Change-Id: Ic7956b556f1f0f10574fd79f5cbd283208240353 Reviewed-by: Christian Ehrlicher --- .../sql/kernel/qsqldatabase/tst_qsqldatabase.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'tests/auto/sql/kernel') diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp index fbc7d2bcbe..f5a158e3c1 100644 --- a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp @@ -376,8 +376,10 @@ void tst_QSqlDatabase::dropTestTables(QSqlDatabase db) q.exec("drop schema " + qTableName("qtestScHeMa", __FILE__, db) + " cascade"); } - if (testWhiteSpaceNames(db.driverName())) - tableNames << db.driver()->escapeIdentifier(qtestTable + " test", QSqlDriver::TableName); + if (testWhiteSpaceNames(db.driverName())) { + tableNames << db.driver()->escapeIdentifier(qTableName("qtest test", __FILE__, db), + QSqlDriver::TableName); + } tst_Databases::safeDropTables(db, tableNames); @@ -523,7 +525,8 @@ void tst_QSqlDatabase::tables() const auto qtest(qTableName("qtest", __FILE__, db, false)), qtest_view(qTableName("qtest_view", __FILE__, db, false)), - temp_tab(qTableName("test_tab", __FILE__, db, false)); + temp_tab(qTableName("test_tab", __FILE__, db, false)), + qtestspace(qTableName("qtest test", __FILE__, db, false)); bool views = true; bool tempTables = false; @@ -573,7 +576,7 @@ void tst_QSqlDatabase::tables() QVERIFY(tables.contains(qtest, Qt::CaseInsensitive)); if (dbType == QSqlDriver::PostgreSQL) - QVERIFY(tables.contains(qtest + " test")); + QVERIFY(tables.contains(qtestspace)); } void tst_QSqlDatabase::whitespaceInIdentifiers() @@ -2122,7 +2125,14 @@ void tst_QSqlDatabase::eventNotification() QVERIFY(driver->subscribedToNotifications().contains("event_foo")); // Can't subscribe to the same event multiple times - QVERIFY2(!driver->subscribeToNotification(QLatin1String("event_foo")), "Shouldn't be able to subscribe to event_foo twice"); + const QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db); + if (dbType != QSqlDriver::PostgreSQL) { + // We will resubscribe on PostgreSQL in case it is due to a disconnect, the call will + // do nothing on the PostgreSQL side but it will indicate it succeeded anyway and there + // will still only be one entry for it + QVERIFY2(!driver->subscribeToNotification(QLatin1String("event_foo")), + "Shouldn't be able to subscribe to event_foo twice"); + } QCOMPARE(driver->subscribedToNotifications().size(), 1); // Unsubscribe from "event_foo" -- cgit v1.2.3