diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2018-04-29 13:47:39 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-29 13:47:39 (GMT) |
commit | a26a297b4ba1b8fe6c97c25af71216935960b343 (patch) | |
tree | 7a081b34491d64d7f7f081e99bd372f625aa0085 /Lib/test/test_dbm.py | |
parent | 1b27ec6e0b40f81bf276eefa6b5bdb773b2a8890 (diff) | |
download | cpython-a26a297b4ba1b8fe6c97c25af71216935960b343.zip cpython-a26a297b4ba1b8fe6c97c25af71216935960b343.tar.gz cpython-a26a297b4ba1b8fe6c97c25af71216935960b343.tar.bz2 |
bpo-31026: Fix test_dbm if dbm.ndbm is build with Berkeley DB. (GH-6632)
(cherry picked from commit 70af06cdc4e8fbee0b9d7d46bdc193097d4bc71f)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Diffstat (limited to 'Lib/test/test_dbm.py')
-rw-r--r-- | Lib/test/test_dbm.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Lib/test/test_dbm.py b/Lib/test/test_dbm.py index fb89807..78c32c4 100644 --- a/Lib/test/test_dbm.py +++ b/Lib/test/test_dbm.py @@ -38,8 +38,7 @@ def delete_files(): class AnyDBMTestCase: - _dict = {'0': b'', - 'a': b'Python:', + _dict = {'a': b'Python:', 'b': b'Programming', 'c': b'the', 'd': b'way', @@ -109,6 +108,20 @@ class AnyDBMTestCase: keys = self.keys_helper(f) f.close() + def test_empty_value(self): + if getattr(dbm._defaultmod, 'library', None) == 'Berkeley DB': + self.skipTest("Berkeley DB doesn't distinguish the empty value " + "from the absent one") + f = dbm.open(_fname, 'c') + self.assertEqual(f.keys(), []) + f[b'empty'] = b'' + self.assertEqual(f.keys(), [b'empty']) + self.assertIn(b'empty', f) + self.assertEqual(f[b'empty'], b'') + self.assertEqual(f.get(b'empty'), b'') + self.assertEqual(f.setdefault(b'empty'), b'') + f.close() + def test_anydbm_access(self): self.init_db() f = dbm.open(_fname, 'r') |