bpo-31843: sqlite3.connect() now accepts PathLike objects as database name (#4299)

This commit is contained in:
Anders Lorentsen 2017-11-07 01:47:43 +01:00 committed by Victor Stinner
parent edb13ae48c
commit a22a127458
5 changed files with 32 additions and 7 deletions

View file

@ -160,6 +160,17 @@ class ConnectionTests(unittest.TestCase):
with self.assertRaises(AttributeError):
self.cx.in_transaction = True
def CheckOpenWithPathLikeObject(self):
""" Checks that we can succesfully connect to a database using an object that
is PathLike, i.e. has __fspath__(). """
self.addCleanup(unlink, TESTFN)
class Path:
def __fspath__(self):
return TESTFN
path = Path()
with sqlite.connect(path) as cx:
cx.execute('create table test(id integer)')
def CheckOpenUri(self):
if sqlite.sqlite_version_info < (3, 7, 7):
with self.assertRaises(sqlite.NotSupportedError):