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.assertGreaterEqual(size1, size0)
+ self.assertGreater(size1, size0)
del self.g['x']
# 'size' is supposed to be the same even after deleting an entry.
self.g.reorganize()
size2 = os.path.getsize(filename)
- self.assertLessEqual(size2, size1)
+ self.assertLess(size2, size1)
self.assertGreaterEqual(size2, size0)
def test_context_manager(self):
-Fix test_dbm_gnu for gdbm 1.15. Using gdbm 1.15, creating a database creates
-a file of 16 MiB. Adding a small entry and then modifying the small entry
-doesn't change the file size. Modify test_dbm_gnu to be less strict: allow
-that the file size doesn't change.
+Fix test_dbm_gnu on macOS with gdbm 1.15: add a larger value to make sure that
+the file size changes.