From 415457302b20e981354eefb880757305c6b5d629 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Tue, 20 Jul 2021 16:13:30 +0200 Subject: Select PostgreSQL-only data, rather than filtering in the test Two QSqlRecord benchmarks that are only relevant for PostgreSQL were being run for all backends, without producing useful results for the others. Since the test is data-driven and the generic data-table code can take a backend-name to decide which to include, pass a suitable string to the generic data method instead, so that we now simply skip these tests (and say we're doing so) rather than "passing" them. Change-Id: I2223c16007a7095a9cadd13a9b2d46813507a35f Reviewed-by: Andy Shaw --- .../sql/kernel/qsqlrecord/tst_bench_qsqlrecord.cpp | 36 ++++++++++------------ 1 file changed, 17 insertions(+), 19 deletions(-) (limited to 'tests/benchmarks/sql') diff --git a/tests/benchmarks/sql/kernel/qsqlrecord/tst_bench_qsqlrecord.cpp b/tests/benchmarks/sql/kernel/qsqlrecord/tst_bench_qsqlrecord.cpp index 3b6ee93ff3..8bf4710cca 100644 --- a/tests/benchmarks/sql/kernel/qsqlrecord/tst_bench_qsqlrecord.cpp +++ b/tests/benchmarks/sql/kernel/qsqlrecord/tst_bench_qsqlrecord.cpp @@ -50,9 +50,9 @@ public slots: private slots: void benchmarkRecord_data() { generic_data(); } void benchmarkRecord(); - void benchFieldName_data() { generic_data(); } + void benchFieldName_data() { generic_data("QPSQL"); } void benchFieldName(); - void benchFieldIndex_data() { generic_data(); } + void benchFieldIndex_data() { generic_data("QPSQL"); } void benchFieldIndex(); private: @@ -199,14 +199,13 @@ void tst_QSqlRecord::benchFieldName() { QFETCH(QString, dbName); QSqlDatabase db = QSqlDatabase::database(dbName); - if (tst_Databases::getDatabaseType(db) == QSqlDriver::PostgreSQL) { - QSqlQuery qry(db); - QVERIFY_SQL(qry, exec("SELECT GENERATE_SERIES(1,5000) AS r")); - QBENCHMARK { - while (qry.next()) - qry.value("r"); - QVERIFY(qry.seek(0)); - } + QCOMPARE(tst_Databases::getDatabaseType(db), QSqlDriver::PostgreSQL); + QSqlQuery qry(db); + QVERIFY_SQL(qry, exec("SELECT GENERATE_SERIES(1,5000) AS r")); + QBENCHMARK { + while (qry.next()) + qry.value("r"); + QVERIFY(qry.seek(0)); } } @@ -214,15 +213,14 @@ void tst_QSqlRecord::benchFieldIndex() { QFETCH(QString, dbName); QSqlDatabase db = QSqlDatabase::database(dbName); - if (tst_Databases::getDatabaseType(db) == QSqlDriver::PostgreSQL) { - QSqlQuery qry(db); - QVERIFY_SQL(qry, exec("SELECT GENERATE_SERIES(1,5000) AS r")); - qry = db.exec("SELECT GENERATE_SERIES(1,5000) AS r"); - QBENCHMARK { - while (qry.next()) - qry.value(0); - QVERIFY(qry.seek(0)); - } + QCOMPARE(tst_Databases::getDatabaseType(db), QSqlDriver::PostgreSQL); + QSqlQuery qry(db); + QVERIFY_SQL(qry, exec("SELECT GENERATE_SERIES(1,5000) AS r")); + qry = db.exec("SELECT GENERATE_SERIES(1,5000) AS r"); + QBENCHMARK { + while (qry.next()) + qry.value(0); + QVERIFY(qry.seek(0)); } } -- cgit v1.2.3