summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorNikita Sobolev <mail@sobolevn.me>2022-11-05 17:08:00 (GMT)
committerGitHub <noreply@github.com>2022-11-05 17:08:00 (GMT)
commitc5c40773cbadc8c35212877ea315a375f3bfaa4b (patch)
tree24c6c843b5aee5871979fc8d12830ddd6ac82cd3 /Modules
parent67ade403a2dbbb41f270afd7000febadef85a27e (diff)
downloadcpython-c5c40773cbadc8c35212877ea315a375f3bfaa4b.zip
cpython-c5c40773cbadc8c35212877ea315a375f3bfaa4b.tar.gz
cpython-c5c40773cbadc8c35212877ea315a375f3bfaa4b.tar.bz2
gh-94808: add tests covering `PySequence_{Set,Del}Slice` (GH-99123)
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_testcapimodule.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index 269642e..f0f6d80 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -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},