]> granicus.if.org Git - python/commitdiff
Try to fix sizeof unit tests on dict
authorVictor Stinner <victor.stinner@gmail.com>
Sat, 10 Sep 2016 04:51:19 +0000 (21:51 -0700)
committerVictor Stinner <victor.stinner@gmail.com>
Sat, 10 Sep 2016 04:51:19 +0000 (21:51 -0700)
Issue #28056 and issue #26058.

Lib/test/test_ordered_dict.py
Lib/test/test_sys.py

index 2da36d3032e6805581c7d6e4d7640e01dd3ef4ed..a35ed12436a95d2f00b94fea47cb56d941367d0f 100644 (file)
@@ -668,7 +668,8 @@ class CPythonOrderedDictTests(OrderedDictTests, unittest.TestCase):
         size = support.calcobjsize
         check = self.check_sizeof
 
-        basicsize = size('n2P3PnPn2P') + 8 + calcsize('2nP2n')
+        basicsize = size('nQ2P' + '3PnPn2P') + calcsize('2nP2n')
+
         entrysize = calcsize('n2P')
         p = calcsize('P')
         nodesize = calcsize('Pn2P')
index 37ee0b0324b9cb349dcc0648fb2a8c71014d3664..df9ebd40859e21991cb04326e45a0dc38208e949 100644 (file)
@@ -937,9 +937,9 @@ class SizeofTest(unittest.TestCase):
         # method-wrapper (descriptor object)
         check({}.__iter__, size('2P'))
         # dict
-        check({}, size('n2P') + 8 + calcsize('2nP2n') + 8 + (8*2//3)*calcsize('n2P'))
+        check({}, size('nQ2P') + calcsize('2nP2n') + 8 + (8*2//3)*calcsize('n2P'))
         longdict = {1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8}
-        check(longdict, size('n2P') + 8 + calcsize('2nP2n') + 16 + (16*2//3)*calcsize('n2P'))
+        check(longdict, size('nQ2P') + calcsize('2nP2n') + 16 + (16*2//3)*calcsize('n2P'))
         # dictionary-keyview
         check({}.keys(), size('P'))
         # dictionary-valueview
@@ -1103,7 +1103,7 @@ class SizeofTest(unittest.TestCase):
         class newstyleclass(object): pass
         check(newstyleclass, s)
         # dict with shared keys
-        check(newstyleclass().__dict__, size('n2P' + '2nP2n') + 8)
+        check(newstyleclass().__dict__, size('nQ2P' + '2nP2n'))
         # unicode
         # each tuple contains a string and its expected character size
         # don't put any static strings here, as they may contain