diff options
author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-08-23 10:10:08 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-23 10:10:08 (GMT) |
commit | 29bc6165ab8aa434145a34676b8b7e48e7c6e308 (patch) | |
tree | 3cea1120da428a47a2039140a15855adc3bc01cb | |
parent | 31b61d19abcc63aa28625a31ed75411948fc1e7e (diff) | |
download | cpython-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.py | 21 | ||||
-rw-r--r-- | Lib/test/test_sqlite3/test_backup.py | 2 | ||||
-rw-r--r-- | Lib/test/test_sqlite3/test_dbapi.py | 6 |
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"): |