summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2018-06-20 10:57:38 +0200
committerGitHub <noreply@github.com>2018-06-20 10:57:38 +0200
commitf2918881b7b2e13ed1091dad482aec2382358bcb (patch)
tree1cc7a54399e7e4e89d786564a11c7b303ecfd360 /Lib
parentb2dd5f1b667b37b5d36b39adc3a3aa6ebf59ef0b (diff)
downloadcpython-git-f2918881b7b2e13ed1091dad482aec2382358bcb.tar.gz
bpo-33901: Fix test_gdbm for gdbm 1.15 (GH-7798) (GH-7818)
Fix test_gdbm.test_reorganize() on macOS with gdbm 1.15: add a larger value to make sure that the file size changes. (cherry picked from commit 13c79c677f9ec9437c82eda72fa1c2d288d8fceb)
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_gdbm.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/Lib/test/test_gdbm.py b/Lib/test/test_gdbm.py
index e9169a24e7..c4a498fec9 100644
--- a/Lib/test/test_gdbm.py
+++ b/Lib/test/test_gdbm.py
@@ -62,9 +62,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.
@@ -72,7 +76,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_main():