gh-94808: add tests covering PySequence_{Set,Del}Slice (GH-99123)

This commit is contained in:
Nikita Sobolev 2022-11-05 20:08:00 +03:00 committed by GitHub
parent 67ade403a2
commit c5c40773cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 113 additions and 0 deletions

View file

@ -4794,6 +4794,37 @@ mapping_has_key(PyObject* self, PyObject *args)
return PyLong_FromLong(PyMapping_HasKey(context, key));
}
static PyObject *
sequence_set_slice(PyObject* self, PyObject *args)
{
PyObject *sequence, *obj;
Py_ssize_t i1, i2;
if (!PyArg_ParseTuple(args, "OnnO", &sequence, &i1, &i2, &obj)) {
return NULL;
}
int res = PySequence_SetSlice(sequence, i1, i2, obj);
if (res == -1) {
return NULL;
}
Py_RETURN_NONE;
}
static PyObject *
sequence_del_slice(PyObject* self, PyObject *args)
{
PyObject *sequence;
Py_ssize_t i1, i2;
if (!PyArg_ParseTuple(args, "Onn", &sequence, &i1, &i2)) {
return NULL;
}
int res = PySequence_DelSlice(sequence, i1, i2);
if (res == -1) {
return NULL;
}
Py_RETURN_NONE;
}
static PyObject *
test_pythread_tss_key_state(PyObject *self, PyObject *args)
@ -6196,6 +6227,8 @@ static PyMethodDef TestMethods[] = {
{"get_mapping_items", get_mapping_items, METH_O},
{"test_mapping_has_key_string", test_mapping_has_key_string, METH_NOARGS},
{"mapping_has_key", mapping_has_key, METH_VARARGS},
{"sequence_set_slice", sequence_set_slice, METH_VARARGS},
{"sequence_del_slice", sequence_del_slice, METH_VARARGS},
{"test_pythread_tss_key_state", test_pythread_tss_key_state, METH_VARARGS},
{"hamt", new_hamt, METH_NOARGS},
{"bad_get", _PyCFunction_CAST(bad_get), METH_FASTCALL},