summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2023-08-23 10:10:08 (GMT)
committerGitHub <noreply@github.com>2023-08-23 10:10:08 (GMT)
commit29bc6165ab8aa434145a34676b8b7e48e7c6e308 (patch)
tree3cea1120da428a47a2039140a15855adc3bc01cb
parent31b61d19abcc63aa28625a31ed75411948fc1e7e (diff)
downloadcpython-29bc6165ab8aa434145a34676b8b7e48e7c6e308.zip
cpython-29bc6165ab8aa434145a34676b8b7e48e7c6e308.tar.gz
cpython-29bc6165ab8aa434145a34676b8b7e48e7c6e308.tar.bz2
gh-105539: Fix ResourceWarning from unclosed SQLite connections in test_sqlite3 (#108360)
Follow up to 1a1bfc28912a39b500c578e9f10a8a222638d411. Explicitly manage connections in: - test_audit.test_sqlite3 - test_sqlite3.test_audit - test_sqlite3.test_backup Co-authored-by: Erlend E. Aasland <erlend@python.org>
-rw-r--r--Lib/test/audit-tests.py21
-rw-r--r--Lib/test/test_sqlite3/test_backup.py2
-rw-r--r--Lib/test/test_sqlite3/test_dbapi.py6
3 files changed, 16 insertions, 13 deletions
diff --git a/Lib/test/audit-tests.py b/Lib/test/audit-tests.py
index cc614ea..ad8f72f 100644
--- a/Lib/test/audit-tests.py
+++ b/Lib/test/audit-tests.py
@@ -398,15 +398,18 @@ def test_sqlite3():
cx2 = sqlite3.Connection(":memory:")
# Configured without --enable-loadable-sqlite-extensions
- if hasattr(sqlite3.Connection, "enable_load_extension"):
- cx1.enable_load_extension(False)
- try:
- cx1.load_extension("test")
- except sqlite3.OperationalError:
- pass
- else:
- raise RuntimeError("Expected sqlite3.load_extension to fail")
-
+ try:
+ if hasattr(sqlite3.Connection, "enable_load_extension"):
+ cx1.enable_load_extension(False)
+ try:
+ cx1.load_extension("test")
+ except sqlite3.OperationalError:
+ pass
+ else:
+ raise RuntimeError("Expected sqlite3.load_extension to fail")
+ finally:
+ cx1.close()
+ cx2.close()
def test_sys_getframe():
import sys
diff --git a/Lib/test/test_sqlite3/test_backup.py b/Lib/test/test_sqlite3/test_backup.py
index 4584d97..c7400d8 100644
--- a/Lib/test/test_sqlite3/test_backup.py
+++ b/Lib/test/test_sqlite3/test_backup.py
@@ -137,7 +137,7 @@ class BackupTests(unittest.TestCase):
raise SystemError('nearly out of space')
with self.assertRaises(SystemError) as err:
- with sqlite.connect(':memory:') as bck:
+ with memory_database() as bck:
self.cx.backup(bck, progress=progress)
self.assertEqual(str(err.exception), 'nearly out of space')
diff --git a/Lib/test/test_sqlite3/test_dbapi.py b/Lib/test/test_sqlite3/test_dbapi.py
index d80ad7a..9dedbdb 100644
--- a/Lib/test/test_sqlite3/test_dbapi.py
+++ b/Lib/test/test_sqlite3/test_dbapi.py
@@ -40,6 +40,7 @@ from os import SEEK_SET, SEEK_CUR, SEEK_END
from test.support.os_helper import TESTFN, TESTFN_UNDECODABLE, unlink, temp_dir, FakePath
from .util import memory_database, cx_limit
+from .util import MemoryDatabaseMixin
class ModuleTests(unittest.TestCase):
@@ -1740,10 +1741,9 @@ class ClosedConTests(unittest.TestCase):
self.check(self.con)
-class ClosedCurTests(unittest.TestCase):
+class ClosedCurTests(MemoryDatabaseMixin, unittest.TestCase):
def test_closed(self):
- con = sqlite.connect(":memory:")
- cur = con.cursor()
+ cur = self.cx.cursor()
cur.close()
for method_name in ("execute", "executemany", "executescript", "fetchall", "fetchmany", "fetchone"):