diff options
| author | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2023-02-28 21:33:46 +0100 |
|---|---|---|
| committer | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2023-03-12 17:21:17 +0100 |
| commit | 18bd15a9eac88adb1de1f877b112e255b19353b6 (patch) | |
| tree | f85cd9bd37e8cdebc23511e813df16b727d5e8fd /tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp | |
| parent | f19320748d282b1e68fc2e3de2b0cf9ec44b49ef (diff) | |
SQL/Tests: remove safeDropTable() / add helper class
Add a helper class which makes sure that the used table does not exist
before usage (e.g. due to leftovers from previous tests) and is properly
cleaned up on exit. This also allows to remove all usages of
safeDropTable().
Change-Id: Iefeffbd10e2f2f67985183ea822d7b6dd2b80be7
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp')
| -rw-r--r-- | tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp b/tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp index 7c0d737b3bb..85834b51797 100644 --- a/tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp +++ b/tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp @@ -52,13 +52,13 @@ void tst_QSqlDriver::initTestCase_data() void tst_QSqlDriver::recreateTestTables(QSqlDatabase db) { QSqlQuery q(db); - const QString relTEST1(qTableName("relTEST1", __FILE__, db)); + const QString tableName(qTableName("relTEST1", __FILE__, db)); + tst_Databases::safeDropTables(db, {tableName}); QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db); if (dbType == QSqlDriver::PostgreSQL) QVERIFY_SQL( q, exec("set client_min_messages='warning'")); - tst_Databases::safeDropTable( db, relTEST1 ); QString doubleField; if (dbType == QSqlDriver::SQLite) doubleField = "more_data double"; @@ -71,12 +71,12 @@ void tst_QSqlDriver::recreateTestTables(QSqlDatabase db) else doubleField = "more_data double(8,7)"; const QString defValue(driverSupportsDefaultValues(dbType) ? QStringLiteral("DEFAULT 'defaultVal'") : QString()); - QVERIFY_SQL( q, exec("create table " + relTEST1 + + QVERIFY_SQL( q, exec("create table " + tableName + " (id int not null primary key, name varchar(20) " + defValue + ", title_key int, another_title_key int, " + doubleField + QLatin1Char(')'))); - QVERIFY_SQL( q, exec("insert into " + relTEST1 + " values(1, 'harry', 1, 2, 1.234567)")); - QVERIFY_SQL( q, exec("insert into " + relTEST1 + " values(2, 'trond', 2, 1, 8.901234)")); - QVERIFY_SQL( q, exec("insert into " + relTEST1 + " values(3, 'vohi', 1, 2, 5.678901)")); - QVERIFY_SQL( q, exec("insert into " + relTEST1 + " values(4, 'boris', 2, 2, 2.345678)")); + QVERIFY_SQL( q, exec("insert into " + tableName + " values(1, 'harry', 1, 2, 1.234567)")); + QVERIFY_SQL( q, exec("insert into " + tableName + " values(2, 'trond', 2, 1, 8.901234)")); + QVERIFY_SQL( q, exec("insert into " + tableName + " values(3, 'vohi', 1, 2, 5.678901)")); + QVERIFY_SQL( q, exec("insert into " + tableName + " values(4, 'boris', 2, 2, 2.345678)")); } void tst_QSqlDriver::initTestCase() @@ -216,14 +216,14 @@ void tst_QSqlDriver::primaryIndex() // Test getting a primary index for a table with a clob in it - QTBUG-64427 if (dbType == QSqlDriver::Oracle) { - const QString clobTable(qTableName("clobTable", __FILE__, db)); + TableScope ts(db, "clobTable", __FILE__); QSqlQuery qry(db); - QVERIFY_SQL(qry, exec("CREATE TABLE " + clobTable + " (id INTEGER, clobField CLOB)")); - QVERIFY_SQL(qry, exec("CREATE UNIQUE INDEX " + clobTable + "IDX ON " + clobTable + " (id)")); - QVERIFY_SQL(qry, exec("ALTER TABLE " + clobTable + " ADD CONSTRAINT " + clobTable + + QVERIFY_SQL(qry, exec("CREATE TABLE " + ts.tableName() + " (id INTEGER, clobField CLOB)")); + QVERIFY_SQL(qry, exec("CREATE UNIQUE INDEX " + ts.tableName() + "IDX ON " + ts.tableName() + " (id)")); + QVERIFY_SQL(qry, exec("ALTER TABLE " + ts.tableName() + " ADD CONSTRAINT " + ts.tableName() + "PK PRIMARY KEY(id)")); - QVERIFY_SQL(qry, exec("ALTER TABLE " + clobTable + " MODIFY (id NOT NULL ENABLE)")); - const QSqlIndex primaryIndex = db.driver()->primaryIndex(clobTable); + QVERIFY_SQL(qry, exec("ALTER TABLE " + ts.tableName() + " MODIFY (id NOT NULL ENABLE)")); + const QSqlIndex primaryIndex = db.driver()->primaryIndex(ts.tableName()); QCOMPARE(primaryIndex.count(), 1); QCOMPARE(primaryIndex.fieldName(0), QStringLiteral("ID")); } |
