diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2009-04-02 18:39:37 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2009-04-02 18:39:37 (GMT) |
commit | 48e3fd240fc6338fbcbbc9c1c8a7d118faca924a (patch) | |
tree | 3e8d7be04be6eec29fbc21c2d6210692e291278d | |
parent | d3f03fa715f9f82ab512a444f8452ac5e5c87d3a (diff) | |
download | cpython-48e3fd240fc6338fbcbbc9c1c8a7d118faca924a.zip cpython-48e3fd240fc6338fbcbbc9c1c8a7d118faca924a.tar.gz cpython-48e3fd240fc6338fbcbbc9c1c8a7d118faca924a.tar.bz2 |
sys.long_info attributes should be ints, not longs
-rw-r--r-- | Lib/test/test_sys.py | 8 | ||||
-rw-r--r-- | Objects/longobject.c | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index afeaf25..3493fd1 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -340,6 +340,8 @@ class SysModuleTest(unittest.TestCase): 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.assertEqual(type(sys.long_info.bits_per_digit), int) + self.assertEqual(type(sys.long_info.sizeof_digit), int) self.assert_(isinstance(sys.hexversion, int)) self.assert_(isinstance(sys.maxint, int)) if test.test_support.have_unicode: @@ -606,9 +608,9 @@ class SizeofTest(unittest.TestCase): 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) + check(long(PyLong_BASE), size(vh) + 2*self.longdigit) + check(long(PyLong_BASE**2-1), size(vh) + 2*self.longdigit) + check(long(PyLong_BASE**2), size(vh) + 3*self.longdigit) # module check(unittest, size(h + 'P')) # None diff --git a/Objects/longobject.c b/Objects/longobject.c index c172b0f..dd22ce0 100644 --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -3736,8 +3736,10 @@ PyLong_GetInfo(void) long_info = PyStructSequence_New(&Long_InfoType); if (long_info == NULL) return NULL; - PyStructSequence_SET_ITEM(long_info, field++, PyLong_FromLong(PyLong_SHIFT)); - PyStructSequence_SET_ITEM(long_info, field++, PyLong_FromLong(sizeof(digit))); + PyStructSequence_SET_ITEM(long_info, field++, + PyInt_FromLong(PyLong_SHIFT)); + PyStructSequence_SET_ITEM(long_info, field++, + PyInt_FromLong(sizeof(digit))); if (PyErr_Occurred()) { Py_CLEAR(long_info); return NULL; |