From: Serhiy Storchaka Date: Sun, 10 Jul 2016 09:37:30 +0000 (+0300) Subject: Issue #27474: Unified error messages in the __contains__ method of bytes and X-Git-Tag: v3.6.0a3~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f9efb8b18b689ff5ef7f12e6124f21532d799516;p=thirdparty%2FPython%2Fcpython.git Issue #27474: Unified error messages in the __contains__ method of bytes and bytearray for integers in and out of the Py_ssize_t range. Patch by Xiang Zhang. --- diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py index 05dc26afaf16..129b4abf3376 100644 --- a/Lib/test/test_bytes.py +++ b/Lib/test/test_bytes.py @@ -269,6 +269,7 @@ class BaseBytesTest: self.assertNotIn(200, b) self.assertRaises(ValueError, lambda: 300 in b) self.assertRaises(ValueError, lambda: -1 in b) + self.assertRaises(ValueError, lambda: sys.maxsize+1 in b) self.assertRaises(TypeError, lambda: None in b) self.assertRaises(TypeError, lambda: float(ord('a')) in b) self.assertRaises(TypeError, lambda: "a" in b) diff --git a/Objects/bytes_methods.c b/Objects/bytes_methods.c index d0f784ecd464..d7f061bcf09c 100644 --- a/Objects/bytes_methods.c +++ b/Objects/bytes_methods.c @@ -645,7 +645,7 @@ _Py_bytes_count(const char *str, Py_ssize_t len, PyObject *args) int _Py_bytes_contains(const char *str, Py_ssize_t len, PyObject *arg) { - Py_ssize_t ival = PyNumber_AsSsize_t(arg, PyExc_ValueError); + Py_ssize_t ival = PyNumber_AsSsize_t(arg, NULL); if (ival == -1 && PyErr_Occurred()) { Py_buffer varg; Py_ssize_t pos;