Skip to content

Commit afaa0f3

Browse files
committed
Use SystemError
1 parent 2ea6d35 commit afaa0f3

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

Lib/test/test_capi/test_list.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,8 @@ def test_list_clear(self):
311311
self.assertEqual(list_clear(lst), 0)
312312
self.assertEqual(lst, [])
313313

314-
self.assertRaises(TypeError, list_clear, ())
315-
self.assertRaises(TypeError, list_clear, object())
314+
self.assertRaises(SystemError, list_clear, ())
315+
self.assertRaises(SystemError, list_clear, object())
316316

317317
# Item finalizer modify the list
318318
lst = []
@@ -338,6 +338,7 @@ def test_list_extend(self):
338338
self.assertEqual(lst, list("abcabc"))
339339

340340
self.assertRaises(TypeError, list_extend, [], object())
341+
self.assertRaises(SystemError, list_extend, (), list("abc"))
341342

342343
# CRASHES list_extend(NULL, [])
343344
# CRASHES list_extend([], NULL)

Objects/listobject.c

+2-4
Original file line numberDiff line numberDiff line change
@@ -1024,8 +1024,7 @@ int
10241024
PyList_Extend(PyObject *self, PyObject *iterable)
10251025
{
10261026
if (!PyList_Check(self)) {
1027-
PyErr_Format(PyExc_TypeError, "expected list, got %s",
1028-
Py_TYPE(self)->tp_name);
1027+
PyErr_BadInternalCall();
10291028
return -1;
10301029
}
10311030
return list_extend((PyListObject*)self, iterable);
@@ -1036,8 +1035,7 @@ int
10361035
PyList_Clear(PyObject *self)
10371036
{
10381037
if (!PyList_Check(self)) {
1039-
PyErr_Format(PyExc_TypeError, "expected list, got %s",
1040-
Py_TYPE(self)->tp_name);
1038+
PyErr_BadInternalCall();
10411039
return -1;
10421040
}
10431041
list_clear((PyListObject*)self);

0 commit comments

Comments
 (0)