(original) (raw)

changeset: 81601:a78ebf9aed06 branch: 2.7 parent: 81595:b17d4d163862 user: Serhiy Storchaka storchaka@gmail.com date: Sat Jan 19 21:06:35 2013 +0200 files: Lib/test/string_tests.py description: Ensure that width and precision in string formatting test have type int, not long. Fix a regression from changeset d544873d62e9 (issue #15989). diff -r b17d4d163862 -r a78ebf9aed06 Lib/test/string_tests.py --- a/Lib/test/string_tests.py Sat Jan 19 19:44:58 2013 +0200 +++ b/Lib/test/string_tests.py Sat Jan 19 21:06:35 2013 +0200 @@ -1114,19 +1114,19 @@ self.checkraises(TypeError, '%10.*f', '__mod__', ('foo', 42.)) self.checkraises(ValueError, '%10', '__mod__', (42,)) - if _testcapi.PY_SSIZE_T_MAX < sys.maxint: - self.checkraises(OverflowError, '%*s', '__mod__', - (_testcapi.PY_SSIZE_T_MAX + 1, '')) - if _testcapi.INT_MAX < sys.maxint: - self.checkraises(OverflowError, '%.*f', '__mod__', - (_testcapi.INT_MAX + 1, 1. / 7)) + width = int(_testcapi.PY_SSIZE_T_MAX + 1) + if width <= sys.maxint: + self.checkraises(OverflowError, '%*s', '__mod__', (width, '')) + prec = int(_testcapi.INT_MAX + 1) + if prec <= sys.maxint: + self.checkraises(OverflowError, '%.*f', '__mod__', (prec, 1. / 7)) # Issue 15989 - if 1 << (_testcapi.PY_SSIZE_T_MAX.bit_length() + 1) <= sys.maxint: - self.checkraises(OverflowError, '%*s', '__mod__', - (1 << (_testcapi.PY_SSIZE_T_MAX.bit_length() + 1), '')) - if _testcapi.UINT_MAX < sys.maxint: - self.checkraises(OverflowError, '%.*f', '__mod__', - (_testcapi.UINT_MAX + 1, 1. / 7)) + width = int(1 << (_testcapi.PY_SSIZE_T_MAX.bit_length() + 1)) + if width <= sys.maxint: + self.checkraises(OverflowError, '%*s', '__mod__', (width, '')) + prec = int(_testcapi.UINT_MAX + 1) + if prec <= sys.maxint: + self.checkraises(OverflowError, '%.*f', '__mod__', (prec, 1. / 7)) class X(object): pass self.checkraises(TypeError, 'abc', '__mod__', X()) /storchaka@gmail.com