summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_dbm.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2018-04-29 09:38:06 (GMT)
committerGitHub <noreply@github.com>2018-04-29 09:38:06 (GMT)
commit2e38cc39330bd7f3003652869b644110a97a78d8 (patch)
tree5f1a63d9c23d486cdbf8a588e442d3c307917b07 /Lib/test/test_dbm.py
parent577948329976985ea9bef23d9a6c3dd7108211bf (diff)
downloadcpython-2e38cc39330bd7f3003652869b644110a97a78d8.zip
cpython-2e38cc39330bd7f3003652869b644110a97a78d8.tar.gz
cpython-2e38cc39330bd7f3003652869b644110a97a78d8.tar.bz2
bpo-33383: Fix crash in get() of the dbm.ndbm database object. (#6630)
Diffstat (limited to 'Lib/test/test_dbm.py')
-rw-r--r--Lib/test/test_dbm.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_dbm.py b/Lib/test/test_dbm.py
index f0a428d..fb89807 100644
--- a/Lib/test/test_dbm.py
+++ b/Lib/test/test_dbm.py
@@ -86,12 +86,21 @@ class AnyDBMTestCase:
f = dbm.open(_fname, 'c')
self._dict['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_anydbm_read(self):
self.init_db()
f = dbm.open(_fname, 'r')
self.read_helper(f)
+ # get() works as in the dict interface
+ self.assertEqual(f.get(b'a'), self._dict['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_anydbm_keys(self):