Kaydet (Commit) 18a13933 authored tarafından Serhiy Storchaka's avatar Serhiy Storchaka

Ensure that width and precision in string formatting test have type int, not long.

Fix a regression from changeset d544873d62e9 (issue #15989).
üst 302ad8d1
...@@ -1114,19 +1114,19 @@ class MixinStrUnicodeUserStringTest: ...@@ -1114,19 +1114,19 @@ class MixinStrUnicodeUserStringTest:
self.checkraises(TypeError, '%10.*f', '__mod__', ('foo', 42.)) self.checkraises(TypeError, '%10.*f', '__mod__', ('foo', 42.))
self.checkraises(ValueError, '%10', '__mod__', (42,)) self.checkraises(ValueError, '%10', '__mod__', (42,))
if _testcapi.PY_SSIZE_T_MAX < sys.maxint: width = int(_testcapi.PY_SSIZE_T_MAX + 1)
self.checkraises(OverflowError, '%*s', '__mod__', if width <= sys.maxint:
(_testcapi.PY_SSIZE_T_MAX + 1, '')) self.checkraises(OverflowError, '%*s', '__mod__', (width, ''))
if _testcapi.INT_MAX < sys.maxint: prec = int(_testcapi.INT_MAX + 1)
self.checkraises(OverflowError, '%.*f', '__mod__', if prec <= sys.maxint:
(_testcapi.INT_MAX + 1, 1. / 7)) self.checkraises(OverflowError, '%.*f', '__mod__', (prec, 1. / 7))
# Issue 15989 # Issue 15989
if 1 << (_testcapi.PY_SSIZE_T_MAX.bit_length() + 1) <= sys.maxint: width = int(1 << (_testcapi.PY_SSIZE_T_MAX.bit_length() + 1))
self.checkraises(OverflowError, '%*s', '__mod__', if width <= sys.maxint:
(1 << (_testcapi.PY_SSIZE_T_MAX.bit_length() + 1), '')) self.checkraises(OverflowError, '%*s', '__mod__', (width, ''))
if _testcapi.UINT_MAX < sys.maxint: prec = int(_testcapi.UINT_MAX + 1)
self.checkraises(OverflowError, '%.*f', '__mod__', if prec <= sys.maxint:
(_testcapi.UINT_MAX + 1, 1. / 7)) self.checkraises(OverflowError, '%.*f', '__mod__', (prec, 1. / 7))
class X(object): pass class X(object): pass
self.checkraises(TypeError, 'abc', '__mod__', X()) self.checkraises(TypeError, 'abc', '__mod__', X())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment