summaryrefslogtreecommitdiffstats
path: root/Modules/_testcapi
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2024-03-11 10:28:16 (GMT)
committerGitHub <noreply@github.com>2024-03-11 10:28:16 (GMT)
commit1cc02ca063f50b8c527fbdde9957b03c145c1575 (patch)
tree84cd4d2d13c8ca869749827d8f91d592e8a01ca2 /Modules/_testcapi
parentd8712fa0c75ad5ea56543903fa45674ab47cc647 (diff)
downloadcpython-1cc02ca063f50b8c527fbdde9957b03c145c1575.zip
cpython-1cc02ca063f50b8c527fbdde9957b03c145c1575.tar.gz
cpython-1cc02ca063f50b8c527fbdde9957b03c145c1575.tar.bz2
gh-116417: Move 4 limited C API test files to _testlimitedcapi (#116571)
Move the following files from Modules/_testcapi/ to Modules/_testlimitedcapi/: * bytearray.c * bytes.c * pyos.c * sys.c Changes: * Replace PyBytes_AS_STRING() with PyBytes_AsString(). * Replace PyBytes_GET_SIZE() with PyBytes_Size(). * Update related test_capi tests. * Copy Modules/_testcapi/util.h to Modules/_testlimitedcapi/util.h.
Diffstat (limited to 'Modules/_testcapi')
-rw-r--r--Modules/_testcapi/bytearray.c123
-rw-r--r--Modules/_testcapi/bytes.c255
-rw-r--r--Modules/_testcapi/parts.h4
-rw-r--r--Modules/_testcapi/pyos.c60
-rw-r--r--Modules/_testcapi/sys.c56
5 files changed, 0 insertions, 498 deletions
diff --git a/Modules/_testcapi/bytearray.c b/Modules/_testcapi/bytearray.c
deleted file mode 100644
index dc47ed2..0000000
--- a/Modules/_testcapi/bytearray.c
+++ /dev/null
@@ -1,123 +0,0 @@
-#include "parts.h"
-#include "util.h"
-
-
-/* Test PyByteArray_Check() */
-static PyObject *
-bytearray_check(PyObject *Py_UNUSED(module), PyObject *obj)
-{
- NULLABLE(obj);
- return PyLong_FromLong(PyByteArray_Check(obj));
-}
-
-/* Test PyByteArray_CheckExact() */
-static PyObject *
-bytearray_checkexact(PyObject *Py_UNUSED(module), PyObject *obj)
-{
- NULLABLE(obj);
- return PyLong_FromLong(PyByteArray_CheckExact(obj));
-}
-
-/* Test PyByteArray_FromStringAndSize() */
-static PyObject *
-bytearray_fromstringandsize(PyObject *Py_UNUSED(module), PyObject *args)
-{
- const char *s;
- Py_ssize_t bsize;
- Py_ssize_t size = -100;
-
- if (!PyArg_ParseTuple(args, "z#|n", &s, &bsize, &size)) {
- return NULL;
- }
-
- if (size == -100) {
- size = bsize;
- }
- return PyByteArray_FromStringAndSize(s, size);
-}
-
-/* Test PyByteArray_FromObject() */
-static PyObject *
-bytearray_fromobject(PyObject *Py_UNUSED(module), PyObject *arg)
-{
- NULLABLE(arg);
- return PyByteArray_FromObject(arg);
-}
-
-/* Test PyByteArray_Size() */
-static PyObject *
-bytearray_size(PyObject *Py_UNUSED(module), PyObject *arg)
-{
- NULLABLE(arg);
- RETURN_SIZE(PyByteArray_Size(arg));
-}
-
-/* Test PyUnicode_AsString() */
-static PyObject *
-bytearray_asstring(PyObject *Py_UNUSED(module), PyObject *args)
-{
- PyObject *obj;
- Py_ssize_t buflen;
- const char *s;
-
- if (!PyArg_ParseTuple(args, "On", &obj, &buflen))
- return NULL;
-
- NULLABLE(obj);
- s = PyByteArray_AsString(obj);
- if (s == NULL)
- return NULL;
-
- return PyByteArray_FromStringAndSize(s, buflen);
-}
-
-/* Test PyByteArray_Concat() */
-static PyObject *
-bytearray_concat(PyObject *Py_UNUSED(module), PyObject *args)
-{
- PyObject *left, *right;
-
- if (!PyArg_ParseTuple(args, "OO", &left, &right))
- return NULL;
-
- NULLABLE(left);
- NULLABLE(right);
- return PyByteArray_Concat(left, right);
-}
-
-/* Test PyByteArray_Resize() */
-static PyObject *
-bytearray_resize(PyObject *Py_UNUSED(module), PyObject *args)
-{
- PyObject *obj;
- Py_ssize_t size;
-
- if (!PyArg_ParseTuple(args, "On", &obj, &size))
- return NULL;
-
- NULLABLE(obj);
- RETURN_INT(PyByteArray_Resize(obj, size));
-}
-
-
-static PyMethodDef test_methods[] = {
- {"bytearray_check", bytearray_check, METH_O},
- {"bytearray_checkexact", bytearray_checkexact, METH_O},
- {"bytearray_fromstringandsize", bytearray_fromstringandsize, METH_VARARGS},
- {"bytearray_fromobject", bytearray_fromobject, METH_O},
- {"bytearray_size", bytearray_size, METH_O},
- {"bytearray_asstring", bytearray_asstring, METH_VARARGS},
- {"bytearray_concat", bytearray_concat, METH_VARARGS},
- {"bytearray_resize", bytearray_resize, METH_VARARGS},
- {NULL},
-};
-
-int
-_PyTestCapi_Init_ByteArray(PyObject *m)
-{
- if (PyModule_AddFunctions(m, test_methods) < 0) {
- return -1;
- }
-
- return 0;
-}
diff --git a/Modules/_testcapi/bytes.c b/Modules/_testcapi/bytes.c
deleted file mode 100644
index da10503..0000000
--- a/Modules/_testcapi/bytes.c
+++ /dev/null
@@ -1,255 +0,0 @@
-#include "parts.h"
-#include "util.h"
-
-
-/* Test PyBytes_Check() */
-static PyObject *
-bytes_check(PyObject *Py_UNUSED(module), PyObject *obj)
-{
- NULLABLE(obj);
- return PyLong_FromLong(PyBytes_Check(obj));
-}
-
-/* Test PyBytes_CheckExact() */
-static PyObject *
-bytes_checkexact(PyObject *Py_UNUSED(module), PyObject *obj)
-{
- NULLABLE(obj);
- return PyLong_FromLong(PyBytes_CheckExact(obj));
-}
-
-/* Test PyBytes_FromStringAndSize() */
-static PyObject *
-bytes_fromstringandsize(PyObject *Py_UNUSED(module), PyObject *args)
-{
- const char *s;
- Py_ssize_t bsize;
- Py_ssize_t size = -100;
-
- if (!PyArg_ParseTuple(args, "z#|n", &s, &bsize, &size)) {
- return NULL;
- }
-
- if (size == -100) {
- size = bsize;
- }
- return PyBytes_FromStringAndSize(s, size);
-}
-
-/* Test PyBytes_FromString() */
-static PyObject *
-bytes_fromstring(PyObject *Py_UNUSED(module), PyObject *arg)
-{
- const char *s;
- Py_ssize_t size;
-
- if (!PyArg_Parse(arg, "z#", &s, &size)) {
- return NULL;
- }
- return PyBytes_FromString(s);
-}
-
-/* Test PyBytes_FromObject() */
-static PyObject *
-bytes_fromobject(PyObject *Py_UNUSED(module), PyObject *arg)
-{
- NULLABLE(arg);
- return PyBytes_FromObject(arg);
-}
-
-/* Test PyBytes_Size() */
-static PyObject *
-bytes_size(PyObject *Py_UNUSED(module), PyObject *arg)
-{
- NULLABLE(arg);
- RETURN_SIZE(PyBytes_Size(arg));
-}
-
-/* Test PyUnicode_AsString() */
-static PyObject *
-bytes_asstring(PyObject *Py_UNUSED(module), PyObject *args)
-{
- PyObject *obj;
- Py_ssize_t buflen;
- const char *s;
-
- if (!PyArg_ParseTuple(args, "On", &obj, &buflen))
- return NULL;
-
- NULLABLE(obj);
- s = PyBytes_AsString(obj);
- if (s == NULL)
- return NULL;
-
- return PyBytes_FromStringAndSize(s, buflen);
-}
-
-/* Test PyBytes_AsStringAndSize() */
-static PyObject *
-bytes_asstringandsize(PyObject *Py_UNUSED(module), PyObject *args)
-{
- PyObject *obj;
- Py_ssize_t buflen;
- char *s = UNINITIALIZED_PTR;
- Py_ssize_t size = UNINITIALIZED_SIZE;
-
- if (!PyArg_ParseTuple(args, "On", &obj, &buflen))
- return NULL;
-
- NULLABLE(obj);
- if (PyBytes_AsStringAndSize(obj, &s, &size) < 0) {
- return NULL;
- }
-
- if (s == NULL) {
- return Py_BuildValue("(On)", Py_None, size);
- }
- else {
- return Py_BuildValue("(y#n)", s, buflen, size);
- }
-}
-
-static PyObject *
-bytes_asstringandsize_null(PyObject *Py_UNUSED(module), PyObject *args)
-{
- PyObject *obj;
- Py_ssize_t buflen;
- char *s = UNINITIALIZED_PTR;
-
- if (!PyArg_ParseTuple(args, "On", &obj, &buflen))
- return NULL;
-
- NULLABLE(obj);
- if (PyBytes_AsStringAndSize(obj, &s, NULL) < 0) {
- return NULL;
- }
-
- if (s == NULL) {
- Py_RETURN_NONE;
- }
- else {
- return PyBytes_FromStringAndSize(s, buflen);
- }
-}
-
-/* Test PyBytes_Repr() */
-static PyObject *
-bytes_repr(PyObject *Py_UNUSED(module), PyObject *args)
-{
- PyObject *obj;
- int smartquotes;
- if (!PyArg_ParseTuple(args, "Oi", &obj, &smartquotes))
- return NULL;
-
- NULLABLE(obj);
- return PyBytes_Repr(obj, smartquotes);
-}
-
-/* Test PyBytes_Concat() */
-static PyObject *
-bytes_concat(PyObject *Py_UNUSED(module), PyObject *args)
-{
- PyObject *left, *right;
- int new = 0;
-
- if (!PyArg_ParseTuple(args, "OO|p", &left, &right, &new))
- return NULL;
-
- NULLABLE(left);
- NULLABLE(right);
- if (new) {
- assert(left != NULL);
- assert(PyBytes_CheckExact(left));
- left = PyBytes_FromStringAndSize(PyBytes_AS_STRING(left),
- PyBytes_GET_SIZE(left));
- if (left == NULL) {
- return NULL;
- }
- }
- else {
- Py_XINCREF(left);
- }
- PyBytes_Concat(&left, right);
- if (left == NULL && !PyErr_Occurred()) {
- Py_RETURN_NONE;
- }
- return left;
-}
-
-/* Test PyBytes_ConcatAndDel() */
-static PyObject *
-bytes_concatanddel(PyObject *Py_UNUSED(module), PyObject *args)
-{
- PyObject *left, *right;
- int new = 0;
-
- if (!PyArg_ParseTuple(args, "OO|p", &left, &right, &new))
- return NULL;
-
- NULLABLE(left);
- NULLABLE(right);
- if (new) {
- assert(left != NULL);
- assert(PyBytes_CheckExact(left));
- left = PyBytes_FromStringAndSize(PyBytes_AS_STRING(left),
- PyBytes_GET_SIZE(left));
- if (left == NULL) {
- return NULL;
- }
- }
- else {
- Py_XINCREF(left);
- }
- Py_XINCREF(right);
- PyBytes_ConcatAndDel(&left, right);
- if (left == NULL && !PyErr_Occurred()) {
- Py_RETURN_NONE;
- }
- return left;
-}
-
-/* Test PyBytes_DecodeEscape() */
-static PyObject *
-bytes_decodeescape(PyObject *Py_UNUSED(module), PyObject *args)
-{
- const char *s;
- Py_ssize_t bsize;
- Py_ssize_t size = -100;
- const char *errors = NULL;
-
- if (!PyArg_ParseTuple(args, "z#|zn", &s, &bsize, &errors, &size))
- return NULL;
-
- if (size == -100) {
- size = bsize;
- }
- return PyBytes_DecodeEscape(s, size, errors, 0, NULL);
-}
-
-
-static PyMethodDef test_methods[] = {
- {"bytes_check", bytes_check, METH_O},
- {"bytes_checkexact", bytes_checkexact, METH_O},
- {"bytes_fromstringandsize", bytes_fromstringandsize, METH_VARARGS},
- {"bytes_fromstring", bytes_fromstring, METH_O},
- {"bytes_fromobject", bytes_fromobject, METH_O},
- {"bytes_size", bytes_size, METH_O},
- {"bytes_asstring", bytes_asstring, METH_VARARGS},
- {"bytes_asstringandsize", bytes_asstringandsize, METH_VARARGS},
- {"bytes_asstringandsize_null", bytes_asstringandsize_null, METH_VARARGS},
- {"bytes_repr", bytes_repr, METH_VARARGS},
- {"bytes_concat", bytes_concat, METH_VARARGS},
- {"bytes_concatanddel", bytes_concatanddel, METH_VARARGS},
- {"bytes_decodeescape", bytes_decodeescape, METH_VARARGS},
- {NULL},
-};
-
-int
-_PyTestCapi_Init_Bytes(PyObject *m)
-{
- if (PyModule_AddFunctions(m, test_methods) < 0) {
- return -1;
- }
-
- return 0;
-}
diff --git a/Modules/_testcapi/parts.h b/Modules/_testcapi/parts.h
index 2a043cf..f9bdd83 100644
--- a/Modules/_testcapi/parts.h
+++ b/Modules/_testcapi/parts.h
@@ -31,8 +31,6 @@
int _PyTestCapi_Init_Vectorcall(PyObject *module);
int _PyTestCapi_Init_Heaptype(PyObject *module);
int _PyTestCapi_Init_Abstract(PyObject *module);
-int _PyTestCapi_Init_ByteArray(PyObject *module);
-int _PyTestCapi_Init_Bytes(PyObject *module);
int _PyTestCapi_Init_Unicode(PyObject *module);
int _PyTestCapi_Init_GetArgs(PyObject *module);
int _PyTestCapi_Init_DateTime(PyObject *module);
@@ -52,12 +50,10 @@ int _PyTestCapi_Init_Exceptions(PyObject *module);
int _PyTestCapi_Init_Code(PyObject *module);
int _PyTestCapi_Init_Buffer(PyObject *module);
int _PyTestCapi_Init_PyAtomic(PyObject *module);
-int _PyTestCapi_Init_PyOS(PyObject *module);
int _PyTestCapi_Init_File(PyObject *module);
int _PyTestCapi_Init_Codec(PyObject *module);
int _PyTestCapi_Init_Immortal(PyObject *module);
int _PyTestCapi_Init_GC(PyObject *module);
-int _PyTestCapi_Init_Sys(PyObject *module);
int _PyTestCapi_Init_Hash(PyObject *module);
int _PyTestCapi_Init_Time(PyObject *module);
diff --git a/Modules/_testcapi/pyos.c b/Modules/_testcapi/pyos.c
deleted file mode 100644
index 63140e9..0000000
--- a/Modules/_testcapi/pyos.c
+++ /dev/null
@@ -1,60 +0,0 @@
-#include "parts.h"
-
-
-static PyObject *
-test_PyOS_mystrnicmp(PyObject *self, PyObject *Py_UNUSED(ignored))
-{
- assert(PyOS_mystrnicmp("", "", 0) == 0);
- assert(PyOS_mystrnicmp("", "", 1) == 0);
-
- assert(PyOS_mystrnicmp("insert", "ins", 3) == 0);
- assert(PyOS_mystrnicmp("ins", "insert", 3) == 0);
- assert(PyOS_mystrnicmp("insect", "insert", 3) == 0);
-
- assert(PyOS_mystrnicmp("insert", "insert", 6) == 0);
- assert(PyOS_mystrnicmp("Insert", "insert", 6) == 0);
- assert(PyOS_mystrnicmp("INSERT", "insert", 6) == 0);
- assert(PyOS_mystrnicmp("insert", "insert", 10) == 0);
-
- assert(PyOS_mystrnicmp("invert", "insert", 6) == ('v' - 's'));
- assert(PyOS_mystrnicmp("insert", "invert", 6) == ('s' - 'v'));
- assert(PyOS_mystrnicmp("insert", "ins\0rt", 6) == 'e');
-
- // GH-21845
- assert(PyOS_mystrnicmp("insert\0a", "insert\0b", 8) == 0);
-
- Py_RETURN_NONE;
-}
-
-static PyObject *
-test_PyOS_mystricmp(PyObject *self, PyObject *Py_UNUSED(ignored))
-{
- assert(PyOS_mystricmp("", "") == 0);
- assert(PyOS_mystricmp("insert", "insert") == 0);
- assert(PyOS_mystricmp("Insert", "insert") == 0);
- assert(PyOS_mystricmp("INSERT", "insert") == 0);
- assert(PyOS_mystricmp("insert", "ins") == 'e');
- assert(PyOS_mystricmp("ins", "insert") == -'e');
-
- // GH-21845
- assert(PyOS_mystricmp("insert", "ins\0rt") == 'e');
- assert(PyOS_mystricmp("invert", "insert") == ('v' - 's'));
-
- Py_RETURN_NONE;
-}
-
-static PyMethodDef test_methods[] = {
- {"test_PyOS_mystrnicmp", test_PyOS_mystrnicmp, METH_NOARGS, NULL},
- {"test_PyOS_mystricmp", test_PyOS_mystricmp, METH_NOARGS, NULL},
- {NULL},
-};
-
-int
-_PyTestCapi_Init_PyOS(PyObject *mod)
-{
- if (PyModule_AddFunctions(mod, test_methods) < 0) {
- return -1;
- }
-
- return 0;
-}
diff --git a/Modules/_testcapi/sys.c b/Modules/_testcapi/sys.c
deleted file mode 100644
index aa40e3c..0000000
--- a/Modules/_testcapi/sys.c
+++ /dev/null
@@ -1,56 +0,0 @@
-#include "parts.h"
-#include "util.h"
-
-
-static PyObject *
-sys_getobject(PyObject *Py_UNUSED(module), PyObject *arg)
-{
- const char *name;
- Py_ssize_t size;
- if (!PyArg_Parse(arg, "z#", &name, &size)) {
- return NULL;
- }
- PyObject *result = PySys_GetObject(name);
- if (result == NULL) {
- result = PyExc_AttributeError;
- }
- return Py_NewRef(result);
-}
-
-static PyObject *
-sys_setobject(PyObject *Py_UNUSED(module), PyObject *args)
-{
- const char *name;
- Py_ssize_t size;
- PyObject *value;
- if (!PyArg_ParseTuple(args, "z#O", &name, &size, &value)) {
- return NULL;
- }
- NULLABLE(value);
- RETURN_INT(PySys_SetObject(name, value));
-}
-
-static PyObject *
-sys_getxoptions(PyObject *Py_UNUSED(module), PyObject *Py_UNUSED(ignored))
-{
- PyObject *result = PySys_GetXOptions();
- return Py_XNewRef(result);
-}
-
-
-static PyMethodDef test_methods[] = {
- {"sys_getobject", sys_getobject, METH_O},
- {"sys_setobject", sys_setobject, METH_VARARGS},
- {"sys_getxoptions", sys_getxoptions, METH_NOARGS},
- {NULL},
-};
-
-int
-_PyTestCapi_Init_Sys(PyObject *m)
-{
- if (PyModule_AddFunctions(m, test_methods) < 0) {
- return -1;
- }
-
- return 0;
-}