diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2009-03-20 15:51:55 +0000 |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2009-03-20 15:51:55 +0000 |
commit | efc82f7e8eff19d8e844a3dc268a88de7fbcb173 (patch) | |
tree | 58198f2e7610ba6d33865884487de006de30af85 /Lib/test/test_sys.py | |
parent | c8e81ef508f0f1dc4e5c31bd0bec2766867fead5 (diff) | |
download | cpython-git-efc82f7e8eff19d8e844a3dc268a88de7fbcb173.tar.gz |
Issue #4258: Use 30-bit digits for Python longs, on 64-bit platforms.
Backport of r70459.
Diffstat (limited to 'Lib/test/test_sys.py')
-rw-r--r-- | Lib/test/test_sys.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index 128880d810..a4554a67ba 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -332,6 +332,9 @@ class SysModuleTest(unittest.TestCase): self.assert_(isinstance(sys.executable, basestring)) self.assertEqual(len(sys.float_info), 11) self.assertEqual(sys.float_info.radix, 2) + self.assertEqual(len(sys.long_info), 2) + self.assert_(sys.long_info.bits_per_digit % 5 == 0) + self.assert_(sys.long_info.sizeof_digit >= 1) self.assert_(isinstance(sys.hexversion, int)) self.assert_(isinstance(sys.maxint, int)) if test.test_support.have_unicode: @@ -417,6 +420,7 @@ class SizeofTest(unittest.TestCase): if hasattr(sys, "gettotalrefcount"): self.header += '2P' self.vheader += '2P' + self.longdigit = sys.long_info.sizeof_digit import _testcapi self.gc_headsize = _testcapi.SIZEOF_PYGC_HEAD self.file = open(test.test_support.TESTFN, 'wb') @@ -594,11 +598,12 @@ class SizeofTest(unittest.TestCase): check(reversed([]), size(h + 'lP')) # long check(0L, size(vh)) - check(1L, size(vh) + self.H) - check(-1L, size(vh) + self.H) - check(32768L, size(vh) + 2*self.H) - check(32768L*32768L-1, size(vh) + 2*self.H) - check(32768L*32768L, size(vh) + 3*self.H) + check(1L, size(vh) + self.longdigit) + check(-1L, size(vh) + self.longdigit) + PyLong_BASE = 2**sys.long_info.bits_per_digit + check(PyLong_BASE, size(vh) + 2*self.longdigit) + check(PyLong_BASE**2-1, size(vh) + 2*self.longdigit) + check(PyLong_BASE**2, size(vh) + 3*self.longdigit) # module check(unittest, size(h + 'P')) # None |