mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-33383: Fix crash in get() of the dbm.ndbm database object. (#6630)
This commit is contained in:
parent
5779483299
commit
2e38cc3933
7 changed files with 38 additions and 7 deletions
|
@ -73,6 +73,9 @@ class DumbDBMTestCase(unittest.TestCase):
|
|||
f = dumbdbm.open(_fname, 'w')
|
||||
self._dict[b'g'] = f[b'g'] = b"indented"
|
||||
self.read_helper(f)
|
||||
# setdefault() works as in the dict interface
|
||||
self.assertEqual(f.setdefault(b'xxx', b'foo'), b'foo')
|
||||
self.assertEqual(f[b'xxx'], b'foo')
|
||||
f.close()
|
||||
|
||||
def test_dumbdbm_read(self):
|
||||
|
@ -85,6 +88,12 @@ class DumbDBMTestCase(unittest.TestCase):
|
|||
with self.assertRaisesRegex(ValueError,
|
||||
'The database is opened for reading only'):
|
||||
del f[b'a']
|
||||
# get() works as in the dict interface
|
||||
self.assertEqual(f.get(b'a'), self._dict[b'a'])
|
||||
self.assertEqual(f.get(b'xxx', b'foo'), b'foo')
|
||||
self.assertIsNone(f.get(b'xxx'))
|
||||
with self.assertRaises(KeyError):
|
||||
f[b'xxx']
|
||||
f.close()
|
||||
|
||||
def test_dumbdbm_keys(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue