mirror of
https://github.com/python/cpython.git
synced 2024-11-24 17:47:13 +01:00
gh-105539: Fix ResourceWarning from unclosed SQLite connections in test_sqlite3 (#108360)
Follow up to 1a1bfc2891
.
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>
This commit is contained in:
parent
31b61d19ab
commit
29bc6165ab
@ -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
|
||||
|
@ -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')
|
||||
|
||||
|
@ -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"):
|
||||
|
Loading…
Reference in New Issue
Block a user