summaryrefslogtreecommitdiffstats
path: root/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
diff options
context:
space:
mode:
authorChristian Ehrlicher <ch.ehrlicher@gmx.de>2023-04-07 17:48:14 +0200
committerChristian Ehrlicher <ch.ehrlicher@gmx.de>2023-04-15 13:56:21 +0200
commitd9bd46b2b833ce7cf026e1cd462885bde22f5552 (patch)
tree560321a8aa22cccdb51a161370ecedcb524f11d0 /tests/auto/sql/kernel/qsqldatabase/tst_databases.h
parentdb346e711c9af50566c234cfc21199680e6cb499 (diff)
SQL/Tests: make sure created procedures are cleaned up on exit
Similar to TableScope - create a helper class to make sure the procedures are cleaned up on exit so they don't affect the result during the next test run. Change-Id: Ic5b02ca63e03f330392797ed22313767557fc548 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tests/auto/sql/kernel/qsqldatabase/tst_databases.h')
-rw-r--r--tests/auto/sql/kernel/qsqldatabase/tst_databases.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
index 4c02a196c83..0debe5d5495 100644
--- a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
+++ b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
@@ -495,5 +495,33 @@ private:
QString m_tableName;
};
+class ProcScope
+{
+public:
+ ProcScope(const QSqlDatabase &db, const char *procName, const char *file)
+ : m_db(db),
+ m_procName(qTableName(procName, file, db))
+ {
+ cleanup();
+ }
+ ~ProcScope()
+ {
+ cleanup();
+ }
+ QString name() const
+ {
+ return m_procName;
+ }
+protected:
+ void cleanup()
+ {
+ QSqlQuery q(m_db);
+ q.exec("DROP PROCEDURE IF EXISTS " + m_procName);
+ }
+private:
+ QSqlDatabase m_db;
+ const QString m_procName;
+};
+
#endif