bpo-33901: Fix test_dbm_gnu for gdbm 1.15 (GH-7798)

Fix test_dbm_gnu.test_reorganize() on macOS with gdbm 1.15: add a
larger value to make sure that the file size changes.
This commit is contained in:
Victor Stinner 2018-06-19 18:19:23 +02:00 committed by GitHub
parent 2edcf0a3db
commit 13c79c677f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions

View File

@ -72,9 +72,13 @@ class TestGdbm(unittest.TestCase):
self.g = gdbm.open(filename, 'c')
size0 = os.path.getsize(filename)
self.g['x'] = 'x' * 10000
# bpo-33901: on macOS with gdbm 1.15, an empty database uses 16 MiB
# and adding an entry of 10,000 B has no effect on the file size.
# Add size0 bytes to make sure that the file size changes.
value_size = max(size0, 10000)
self.g['x'] = 'x' * value_size
size1 = os.path.getsize(filename)
self.assertTrue(size0 < size1)
self.assertGreater(size1, size0)
del self.g['x']
# 'size' is supposed to be the same even after deleting an entry.
@ -82,7 +86,8 @@ class TestGdbm(unittest.TestCase):
self.g.reorganize()
size2 = os.path.getsize(filename)
self.assertTrue(size1 > size2 >= size0)
self.assertLess(size2, size1)
self.assertGreaterEqual(size2, size0)
def test_context_manager(self):
with gdbm.open(filename, 'c') as db:

View File

@ -0,0 +1,2 @@
Fix test_dbm_gnu on macOS with gdbm 1.15: add a larger value to make sure that
the file size changes.