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

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.
üst 95750b1c
...@@ -269,6 +269,7 @@ class BaseBytesTest: ...@@ -269,6 +269,7 @@ class BaseBytesTest:
self.assertNotIn(200, b) self.assertNotIn(200, b)
self.assertRaises(ValueError, lambda: 300 in b) self.assertRaises(ValueError, lambda: 300 in b)
self.assertRaises(ValueError, lambda: -1 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: None in b)
self.assertRaises(TypeError, lambda: float(ord('a')) in b) self.assertRaises(TypeError, lambda: float(ord('a')) in b)
self.assertRaises(TypeError, lambda: "a" in b) self.assertRaises(TypeError, lambda: "a" in b)
......
...@@ -645,7 +645,7 @@ _Py_bytes_count(const char *str, Py_ssize_t len, PyObject *args) ...@@ -645,7 +645,7 @@ _Py_bytes_count(const char *str, Py_ssize_t len, PyObject *args)
int int
_Py_bytes_contains(const char *str, Py_ssize_t len, PyObject *arg) _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()) { if (ival == -1 && PyErr_Occurred()) {
Py_buffer varg; Py_buffer varg;
Py_ssize_t pos; Py_ssize_t pos;
......
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