]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-111495: add stub files for C API test modules (GH-111586) (GH-111592)
authorSergey B Kirpichev <skirpichev@gmail.com>
Wed, 1 Nov 2023 07:43:56 +0000 (10:43 +0300)
committerGitHub <noreply@github.com>
Wed, 1 Nov 2023 07:43:56 +0000 (09:43 +0200)
This is to reduce merge conflicts (Modules/Setup.stdlib.in) for
subsequent pull requests for the issue.
(cherry picked from commit 33ed5fa69dbe25d64a910c450be527f4db9dc5dd)

13 files changed:
Modules/Setup.stdlib.in
Modules/_testcapi/bytearray.c [new file with mode: 0644]
Modules/_testcapi/bytes.c [new file with mode: 0644]
Modules/_testcapi/codec.c [new file with mode: 0644]
Modules/_testcapi/complex.c [new file with mode: 0644]
Modules/_testcapi/file.c [new file with mode: 0644]
Modules/_testcapi/list.c [new file with mode: 0644]
Modules/_testcapi/numbers.c [new file with mode: 0644]
Modules/_testcapi/parts.h
Modules/_testcapi/tuple.c [new file with mode: 0644]
Modules/_testcapimodule.c
PCbuild/_testcapi.vcxproj
PCbuild/_testcapi.vcxproj.filters

index 62027eec0d43c978f3e9f3ad0ae6f16c2b9bec57..33608055962db52523bcd4b1f399ede7ade76b68 100644 (file)
 @MODULE__XXTESTFUZZ_TRUE@_xxtestfuzz _xxtestfuzz/_xxtestfuzz.c _xxtestfuzz/fuzzer.c
 @MODULE__TESTBUFFER_TRUE@_testbuffer _testbuffer.c
 @MODULE__TESTINTERNALCAPI_TRUE@_testinternalcapi _testinternalcapi.c
-@MODULE__TESTCAPI_TRUE@_testcapi _testcapimodule.c _testcapi/vectorcall.c _testcapi/vectorcall_limited.c _testcapi/heaptype.c _testcapi/abstract.c _testcapi/unicode.c _testcapi/dict.c _testcapi/set.c _testcapi/getargs.c _testcapi/pytime.c _testcapi/datetime.c _testcapi/docstring.c _testcapi/mem.c _testcapi/watchers.c _testcapi/long.c _testcapi/float.c _testcapi/structmember.c _testcapi/exceptions.c _testcapi/code.c _testcapi/buffer.c _testcapi/pyos.c _testcapi/immortal.c _testcapi/heaptype_relative.c _testcapi/gc.c _testcapi/sys.c
+@MODULE__TESTCAPI_TRUE@_testcapi _testcapimodule.c _testcapi/vectorcall.c _testcapi/vectorcall_limited.c _testcapi/heaptype.c _testcapi/abstract.c _testcapi/bytearray.c _testcapi/bytes.c _testcapi/unicode.c _testcapi/dict.c _testcapi/set.c _testcapi/list.c _testcapi/tuple.c _testcapi/getargs.c _testcapi/pytime.c _testcapi/datetime.c _testcapi/docstring.c _testcapi/mem.c _testcapi/watchers.c _testcapi/long.c _testcapi/float.c _testcapi/complex.c _testcapi/numbers.c _testcapi/structmember.c _testcapi/exceptions.c _testcapi/code.c _testcapi/buffer.c _testcapi/pyos.c _testcapi/file.c _testcapi/codec.c _testcapi/immortal.c _testcapi/heaptype_relative.c _testcapi/gc.c _testcapi/sys.c
 @MODULE__TESTCLINIC_TRUE@_testclinic _testclinic.c
 
 # Some testing modules MUST be built as shared libraries.
diff --git a/Modules/_testcapi/bytearray.c b/Modules/_testcapi/bytearray.c
new file mode 100644 (file)
index 0000000..6ddb8fe
--- /dev/null
@@ -0,0 +1,17 @@
+#include "parts.h"
+#include "util.h"
+
+
+static PyMethodDef test_methods[] = {
+    {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
new file mode 100644 (file)
index 0000000..9fea716
--- /dev/null
@@ -0,0 +1,17 @@
+#include "parts.h"
+#include "util.h"
+
+
+static PyMethodDef test_methods[] = {
+    {NULL},
+};
+
+int
+_PyTestCapi_Init_Bytes(PyObject *m)
+{
+    if (PyModule_AddFunctions(m, test_methods) < 0) {
+        return -1;
+    }
+
+    return 0;
+}
diff --git a/Modules/_testcapi/codec.c b/Modules/_testcapi/codec.c
new file mode 100644 (file)
index 0000000..d13f51e
--- /dev/null
@@ -0,0 +1,17 @@
+#include "parts.h"
+#include "util.h"
+
+
+static PyMethodDef test_methods[] = {
+    {NULL},
+};
+
+int
+_PyTestCapi_Init_Codec(PyObject *m)
+{
+    if (PyModule_AddFunctions(m, test_methods) < 0){
+        return -1;
+    }
+
+    return 0;
+}
diff --git a/Modules/_testcapi/complex.c b/Modules/_testcapi/complex.c
new file mode 100644 (file)
index 0000000..0402b8e
--- /dev/null
@@ -0,0 +1,16 @@
+#include "parts.h"
+#include "util.h"
+
+static PyMethodDef test_methods[] = {
+    {NULL},
+};
+
+int
+_PyTestCapi_Init_Complex(PyObject *mod)
+{
+    if (PyModule_AddFunctions(mod, test_methods) < 0) {
+        return -1;
+    }
+
+    return 0;
+}
diff --git a/Modules/_testcapi/file.c b/Modules/_testcapi/file.c
new file mode 100644 (file)
index 0000000..634563f
--- /dev/null
@@ -0,0 +1,17 @@
+#include "parts.h"
+#include "util.h"
+
+
+static PyMethodDef test_methods[] = {
+    {NULL},
+};
+
+int
+_PyTestCapi_Init_File(PyObject *m)
+{
+    if (PyModule_AddFunctions(m, test_methods) < 0){
+        return -1;
+    }
+
+    return 0;
+}
diff --git a/Modules/_testcapi/list.c b/Modules/_testcapi/list.c
new file mode 100644 (file)
index 0000000..9329ddc
--- /dev/null
@@ -0,0 +1,17 @@
+#include "parts.h"
+#include "util.h"
+
+
+static PyMethodDef test_methods[] = {
+    {NULL},
+};
+
+int
+_PyTestCapi_Init_List(PyObject *m)
+{
+    if (PyModule_AddFunctions(m, test_methods) < 0){
+        return -1;
+    }
+
+    return 0;
+}
diff --git a/Modules/_testcapi/numbers.c b/Modules/_testcapi/numbers.c
new file mode 100644 (file)
index 0000000..6f7fa3f
--- /dev/null
@@ -0,0 +1,16 @@
+#include "parts.h"
+#include "util.h"
+
+static PyMethodDef test_methods[] = {
+    {NULL},
+};
+
+int
+_PyTestCapi_Init_Numbers(PyObject *mod)
+{
+    if (PyModule_AddFunctions(mod, test_methods) < 0) {
+        return -1;
+    }
+
+    return 0;
+}
index c119c354aafa152a1866e9d5124a272382ef4345..1dd0995b87fd9ed624b3e311010dd476d8117d0d 100644 (file)
@@ -27,6 +27,8 @@
 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_PyTime(PyObject *module);
@@ -36,16 +38,22 @@ int _PyTestCapi_Init_Mem(PyObject *module);
 int _PyTestCapi_Init_Watchers(PyObject *module);
 int _PyTestCapi_Init_Long(PyObject *module);
 int _PyTestCapi_Init_Float(PyObject *module);
+int _PyTestCapi_Init_Complex(PyObject *module);
+int _PyTestCapi_Init_Numbers(PyObject *module);
 int _PyTestCapi_Init_Dict(PyObject *module);
 int _PyTestCapi_Init_Set(PyObject *module);
+int _PyTestCapi_Init_List(PyObject *module);
+int _PyTestCapi_Init_Tuple(PyObject *module);
 int _PyTestCapi_Init_Structmember(PyObject *module);
 int _PyTestCapi_Init_Exceptions(PyObject *module);
 int _PyTestCapi_Init_Code(PyObject *module);
 int _PyTestCapi_Init_Buffer(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 *mod);
-int _PyTestCapi_Init_Sys(PyObject *);
+int _PyTestCapi_Init_GC(PyObject *module);
+int _PyTestCapi_Init_Sys(PyObject *module);
 
 #ifdef LIMITED_API_AVAILABLE
 int _PyTestCapi_Init_VectorcallLimited(PyObject *module);
diff --git a/Modules/_testcapi/tuple.c b/Modules/_testcapi/tuple.c
new file mode 100644 (file)
index 0000000..95dde8c
--- /dev/null
@@ -0,0 +1,17 @@
+#include "parts.h"
+#include "util.h"
+
+
+static PyMethodDef test_methods[] = {
+    {NULL},
+};
+
+int
+_PyTestCapi_Init_Tuple(PyObject *m)
+{
+    if (PyModule_AddFunctions(m, test_methods) < 0){
+        return -1;
+    }
+
+    return 0;
+}
index 790e9545fe7659a78fa502c91dc1ba2d744b8d6f..b1cb9350e5984c0ec00185caa579b9607801f00b 100644 (file)
@@ -3979,6 +3979,12 @@ PyInit__testcapi(void)
     if (_PyTestCapi_Init_Abstract(m) < 0) {
         return NULL;
     }
+    if (_PyTestCapi_Init_ByteArray(m) < 0) {
+        return NULL;
+    }
+    if (_PyTestCapi_Init_Bytes(m) < 0) {
+        return NULL;
+    }
     if (_PyTestCapi_Init_Unicode(m) < 0) {
         return NULL;
     }
@@ -4006,12 +4012,24 @@ PyInit__testcapi(void)
     if (_PyTestCapi_Init_Float(m) < 0) {
         return NULL;
     }
+    if (_PyTestCapi_Init_Complex(m) < 0) {
+        return NULL;
+    }
+    if (_PyTestCapi_Init_Numbers(m) < 0) {
+        return NULL;
+    }
     if (_PyTestCapi_Init_Dict(m) < 0) {
         return NULL;
     }
     if (_PyTestCapi_Init_Set(m) < 0) {
         return NULL;
     }
+    if (_PyTestCapi_Init_List(m) < 0) {
+        return NULL;
+    }
+    if (_PyTestCapi_Init_Tuple(m) < 0) {
+        return NULL;
+    }
     if (_PyTestCapi_Init_Structmember(m) < 0) {
         return NULL;
     }
@@ -4027,6 +4045,12 @@ PyInit__testcapi(void)
     if (_PyTestCapi_Init_PyOS(m) < 0) {
         return NULL;
     }
+    if (_PyTestCapi_Init_File(m) < 0) {
+        return NULL;
+    }
+    if (_PyTestCapi_Init_Codec(m) < 0) {
+        return NULL;
+    }
     if (_PyTestCapi_Init_Sys(m) < 0) {
         return NULL;
     }
index ce4cb7445669e156b06f0b965ff7a42687095db4..e032e67c256426b92e3142aeaa80750042ea4d77 100644 (file)
     <ClCompile Include="..\Modules\_testcapi\heaptype.c" />
     <ClCompile Include="..\Modules\_testcapi\heaptype_relative.c" />
     <ClCompile Include="..\Modules\_testcapi\abstract.c" />
+    <ClCompile Include="..\Modules\_testcapi\bytearray.c" />
+    <ClCompile Include="..\Modules\_testcapi\bytes.c" />
     <ClCompile Include="..\Modules\_testcapi\unicode.c" />
     <ClCompile Include="..\Modules\_testcapi\dict.c" />
     <ClCompile Include="..\Modules\_testcapi\set.c" />
+    <ClCompile Include="..\Modules\_testcapi\list.c" />
+    <ClCompile Include="..\Modules\_testcapi\tuple.c" />
     <ClCompile Include="..\Modules\_testcapi\pytime.c" />
     <ClCompile Include="..\Modules\_testcapi\datetime.c" />
     <ClCompile Include="..\Modules\_testcapi\docstring.c" />
     <ClCompile Include="..\Modules\_testcapi\mem.c" />
     <ClCompile Include="..\Modules\_testcapi\watchers.c" />
     <ClCompile Include="..\Modules\_testcapi\float.c" />
+    <ClCompile Include="..\Modules\_testcapi\complex.c" />
     <ClCompile Include="..\Modules\_testcapi\long.c" />
+    <ClCompile Include="..\Modules\_testcapi\numbers.c" />
     <ClCompile Include="..\Modules\_testcapi\structmember.c" />
     <ClCompile Include="..\Modules\_testcapi\exceptions.c" />
     <ClCompile Include="..\Modules\_testcapi\code.c" />
     <ClCompile Include="..\Modules\_testcapi\buffer.c" />
     <ClCompile Include="..\Modules\_testcapi\pyos.c" />
+    <ClCompile Include="..\Modules\_testcapi\file.c" />
+    <ClCompile Include="..\Modules\_testcapi\codec.c" />
     <ClCompile Include="..\Modules\_testcapi\sys.c" />
     <ClCompile Include="..\Modules\_testcapi\immortal.c" />
     <ClCompile Include="..\Modules\_testcapi\gc.c" />
index 284adf90373d71ec4d6f9c6f918faf36553e007e..e985856a6a92a5ec38cef6ce74542efa6b4bf1ee 100644 (file)
     <ClCompile Include="..\Modules\_testcapi\abstract.c">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\Modules\_testcapi\bytearray.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_testcapi\bytes.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
     <ClCompile Include="..\Modules\_testcapi\unicode.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="..\Modules\_testcapi\dict.c">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\Modules\_testcapi\set.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_testcapi\list.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_testcapi\tuple.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
     <ClCompile Include="..\Modules\_testcapi\pytime.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="..\Modules\_testcapi\long.c">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\Modules\_testcapi\complex.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_testcapi\numbers.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
     <ClCompile Include="..\Modules\_testcapi\structmember.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClCompile Include="..\Modules\_testcapi\pyos.c">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\Modules\_testcapi\file.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_testcapi\codec.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
     <ClCompile Include="..\Modules\_testcapi\sys.c">
       <Filter>Source Files</Filter>
     </ClCompile>