From d9bd46b2b833ce7cf026e1cd462885bde22f5552 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Fri, 7 Apr 2023 17:48:14 +0200 Subject: 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 --- tests/auto/sql/kernel/qsqldatabase/tst_databases.h | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'tests/auto/sql/kernel/qsqldatabase/tst_databases.h') 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 -- cgit v1.2.3