Include the invalid type in the error message.
{'tag': 'foo', 'text': None},
{'tag': 'foo', 'text': None}])
+ def test_bug_40736(self):
+ with self.assertRaisesRegex(TypeError, "got 'int'"):
+ re.search("x*", 5)
+ with self.assertRaisesRegex(TypeError, "got 'type'"):
+ re.search("x*", type)
+
class PatternReprTests(unittest.TestCase):
def check(self, pattern, expected):
/* get pointer to byte string buffer */
if (PyObject_GetBuffer(string, view, PyBUF_SIMPLE) != 0) {
- PyErr_SetString(PyExc_TypeError, "expected string or bytes-like object");
+ PyErr_Format(PyExc_TypeError, "expected string or bytes-like "
+ "object, got '%.200s'", Py_TYPE(string)->tp_name);
return NULL;
}