]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #27474: Unified error messages in the __contains__ method of bytes and
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 10 Jul 2016 09:37:30 +0000 (12:37 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Sun, 10 Jul 2016 09:37:30 +0000 (12:37 +0300)
bytearray for integers in and out of the Py_ssize_t range.
Patch by Xiang Zhang.

Lib/test/test_bytes.py
Objects/bytes_methods.c

index 05dc26afaf16d3849f951c38c7d2dbf2dc489810..129b4abf337629ec298bc68c67966087aacfcbec 100644 (file)
@@ -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)
index d0f784ecd4645a60fde6151267bd8b2ab8a80b67..d7f061bcf09c6fc5a8680e322e893f0b25313a4a 100644 (file)
@@ -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;