diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2021-07-20 16:13:30 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2021-07-23 20:35:02 +0200 |
commit | 415457302b20e981354eefb880757305c6b5d629 (patch) | |
tree | d95fe099a98a26039a6214cf4489a89c40695006 /tests/benchmarks | |
parent | 54e50792da0a7e60893879e43a4adff93652ec57 (diff) |
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 <andy.shaw@qt.io>
Diffstat (limited to 'tests/benchmarks')
-rw-r--r-- | tests/benchmarks/sql/kernel/qsqlrecord/tst_bench_qsqlrecord.cpp | 36 |
1 files changed, 17 insertions, 19 deletions
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)); } } |