Skip to content

Commit 9619e51

Browse files
authored
[3.12] gh-111495: add stub files for C API test modules (GH-111586) (GH-111592)
This is to reduce merge conflicts (Modules/Setup.stdlib.in) for subsequent pull requests for the issue. (cherry picked from commit 33ed5fa)
1 parent 2162512 commit 9619e51

13 files changed

+204
-3
lines changed

Modules/Setup.stdlib.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@
168168
@MODULE__XXTESTFUZZ_TRUE@_xxtestfuzz _xxtestfuzz/_xxtestfuzz.c _xxtestfuzz/fuzzer.c
169169
@MODULE__TESTBUFFER_TRUE@_testbuffer _testbuffer.c
170170
@MODULE__TESTINTERNALCAPI_TRUE@_testinternalcapi _testinternalcapi.c
171-
@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
171+
@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
172172
@MODULE__TESTCLINIC_TRUE@_testclinic _testclinic.c
173173

174174
# Some testing modules MUST be built as shared libraries.

Modules/_testcapi/bytearray.c

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include "parts.h"
2+
#include "util.h"
3+
4+
5+
static PyMethodDef test_methods[] = {
6+
{NULL},
7+
};
8+
9+
int
10+
_PyTestCapi_Init_ByteArray(PyObject *m)
11+
{
12+
if (PyModule_AddFunctions(m, test_methods) < 0) {
13+
return -1;
14+
}
15+
16+
return 0;
17+
}

Modules/_testcapi/bytes.c

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include "parts.h"
2+
#include "util.h"
3+
4+
5+
static PyMethodDef test_methods[] = {
6+
{NULL},
7+
};
8+
9+
int
10+
_PyTestCapi_Init_Bytes(PyObject *m)
11+
{
12+
if (PyModule_AddFunctions(m, test_methods) < 0) {
13+
return -1;
14+
}
15+
16+
return 0;
17+
}

Modules/_testcapi/codec.c

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include "parts.h"
2+
#include "util.h"
3+
4+
5+
static PyMethodDef test_methods[] = {
6+
{NULL},
7+
};
8+
9+
int
10+
_PyTestCapi_Init_Codec(PyObject *m)
11+
{
12+
if (PyModule_AddFunctions(m, test_methods) < 0){
13+
return -1;
14+
}
15+
16+
return 0;
17+
}

Modules/_testcapi/complex.c

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#include "parts.h"
2+
#include "util.h"
3+
4+
static PyMethodDef test_methods[] = {
5+
{NULL},
6+
};
7+
8+
int
9+
_PyTestCapi_Init_Complex(PyObject *mod)
10+
{
11+
if (PyModule_AddFunctions(mod, test_methods) < 0) {
12+
return -1;
13+
}
14+
15+
return 0;
16+
}

Modules/_testcapi/file.c

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include "parts.h"
2+
#include "util.h"
3+
4+
5+
static PyMethodDef test_methods[] = {
6+
{NULL},
7+
};
8+
9+
int
10+
_PyTestCapi_Init_File(PyObject *m)
11+
{
12+
if (PyModule_AddFunctions(m, test_methods) < 0){
13+
return -1;
14+
}
15+
16+
return 0;
17+
}

Modules/_testcapi/list.c

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include "parts.h"
2+
#include "util.h"
3+
4+
5+
static PyMethodDef test_methods[] = {
6+
{NULL},
7+
};
8+
9+
int
10+
_PyTestCapi_Init_List(PyObject *m)
11+
{
12+
if (PyModule_AddFunctions(m, test_methods) < 0){
13+
return -1;
14+
}
15+
16+
return 0;
17+
}

Modules/_testcapi/numbers.c

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#include "parts.h"
2+
#include "util.h"
3+
4+
static PyMethodDef test_methods[] = {
5+
{NULL},
6+
};
7+
8+
int
9+
_PyTestCapi_Init_Numbers(PyObject *mod)
10+
{
11+
if (PyModule_AddFunctions(mod, test_methods) < 0) {
12+
return -1;
13+
}
14+
15+
return 0;
16+
}

Modules/_testcapi/parts.h

+10-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
int _PyTestCapi_Init_Vectorcall(PyObject *module);
2828
int _PyTestCapi_Init_Heaptype(PyObject *module);
2929
int _PyTestCapi_Init_Abstract(PyObject *module);
30+
int _PyTestCapi_Init_ByteArray(PyObject *module);
31+
int _PyTestCapi_Init_Bytes(PyObject *module);
3032
int _PyTestCapi_Init_Unicode(PyObject *module);
3133
int _PyTestCapi_Init_GetArgs(PyObject *module);
3234
int _PyTestCapi_Init_PyTime(PyObject *module);
@@ -36,16 +38,22 @@ int _PyTestCapi_Init_Mem(PyObject *module);
3638
int _PyTestCapi_Init_Watchers(PyObject *module);
3739
int _PyTestCapi_Init_Long(PyObject *module);
3840
int _PyTestCapi_Init_Float(PyObject *module);
41+
int _PyTestCapi_Init_Complex(PyObject *module);
42+
int _PyTestCapi_Init_Numbers(PyObject *module);
3943
int _PyTestCapi_Init_Dict(PyObject *module);
4044
int _PyTestCapi_Init_Set(PyObject *module);
45+
int _PyTestCapi_Init_List(PyObject *module);
46+
int _PyTestCapi_Init_Tuple(PyObject *module);
4147
int _PyTestCapi_Init_Structmember(PyObject *module);
4248
int _PyTestCapi_Init_Exceptions(PyObject *module);
4349
int _PyTestCapi_Init_Code(PyObject *module);
4450
int _PyTestCapi_Init_Buffer(PyObject *module);
4551
int _PyTestCapi_Init_PyOS(PyObject *module);
52+
int _PyTestCapi_Init_File(PyObject *module);
53+
int _PyTestCapi_Init_Codec(PyObject *module);
4654
int _PyTestCapi_Init_Immortal(PyObject *module);
47-
int _PyTestCapi_Init_GC(PyObject *mod);
48-
int _PyTestCapi_Init_Sys(PyObject *);
55+
int _PyTestCapi_Init_GC(PyObject *module);
56+
int _PyTestCapi_Init_Sys(PyObject *module);
4957

5058
#ifdef LIMITED_API_AVAILABLE
5159
int _PyTestCapi_Init_VectorcallLimited(PyObject *module);

Modules/_testcapi/tuple.c

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include "parts.h"
2+
#include "util.h"
3+
4+
5+
static PyMethodDef test_methods[] = {
6+
{NULL},
7+
};
8+
9+
int
10+
_PyTestCapi_Init_Tuple(PyObject *m)
11+
{
12+
if (PyModule_AddFunctions(m, test_methods) < 0){
13+
return -1;
14+
}
15+
16+
return 0;
17+
}

Modules/_testcapimodule.c

+24
Original file line numberDiff line numberDiff line change
@@ -3979,6 +3979,12 @@ PyInit__testcapi(void)
39793979
if (_PyTestCapi_Init_Abstract(m) < 0) {
39803980
return NULL;
39813981
}
3982+
if (_PyTestCapi_Init_ByteArray(m) < 0) {
3983+
return NULL;
3984+
}
3985+
if (_PyTestCapi_Init_Bytes(m) < 0) {
3986+
return NULL;
3987+
}
39823988
if (_PyTestCapi_Init_Unicode(m) < 0) {
39833989
return NULL;
39843990
}
@@ -4006,12 +4012,24 @@ PyInit__testcapi(void)
40064012
if (_PyTestCapi_Init_Float(m) < 0) {
40074013
return NULL;
40084014
}
4015+
if (_PyTestCapi_Init_Complex(m) < 0) {
4016+
return NULL;
4017+
}
4018+
if (_PyTestCapi_Init_Numbers(m) < 0) {
4019+
return NULL;
4020+
}
40094021
if (_PyTestCapi_Init_Dict(m) < 0) {
40104022
return NULL;
40114023
}
40124024
if (_PyTestCapi_Init_Set(m) < 0) {
40134025
return NULL;
40144026
}
4027+
if (_PyTestCapi_Init_List(m) < 0) {
4028+
return NULL;
4029+
}
4030+
if (_PyTestCapi_Init_Tuple(m) < 0) {
4031+
return NULL;
4032+
}
40154033
if (_PyTestCapi_Init_Structmember(m) < 0) {
40164034
return NULL;
40174035
}
@@ -4027,6 +4045,12 @@ PyInit__testcapi(void)
40274045
if (_PyTestCapi_Init_PyOS(m) < 0) {
40284046
return NULL;
40294047
}
4048+
if (_PyTestCapi_Init_File(m) < 0) {
4049+
return NULL;
4050+
}
4051+
if (_PyTestCapi_Init_Codec(m) < 0) {
4052+
return NULL;
4053+
}
40304054
if (_PyTestCapi_Init_Sys(m) < 0) {
40314055
return NULL;
40324056
}

PCbuild/_testcapi.vcxproj

+8
Original file line numberDiff line numberDiff line change
@@ -100,21 +100,29 @@
100100
<ClCompile Include="..\Modules\_testcapi\heaptype.c" />
101101
<ClCompile Include="..\Modules\_testcapi\heaptype_relative.c" />
102102
<ClCompile Include="..\Modules\_testcapi\abstract.c" />
103+
<ClCompile Include="..\Modules\_testcapi\bytearray.c" />
104+
<ClCompile Include="..\Modules\_testcapi\bytes.c" />
103105
<ClCompile Include="..\Modules\_testcapi\unicode.c" />
104106
<ClCompile Include="..\Modules\_testcapi\dict.c" />
105107
<ClCompile Include="..\Modules\_testcapi\set.c" />
108+
<ClCompile Include="..\Modules\_testcapi\list.c" />
109+
<ClCompile Include="..\Modules\_testcapi\tuple.c" />
106110
<ClCompile Include="..\Modules\_testcapi\pytime.c" />
107111
<ClCompile Include="..\Modules\_testcapi\datetime.c" />
108112
<ClCompile Include="..\Modules\_testcapi\docstring.c" />
109113
<ClCompile Include="..\Modules\_testcapi\mem.c" />
110114
<ClCompile Include="..\Modules\_testcapi\watchers.c" />
111115
<ClCompile Include="..\Modules\_testcapi\float.c" />
116+
<ClCompile Include="..\Modules\_testcapi\complex.c" />
112117
<ClCompile Include="..\Modules\_testcapi\long.c" />
118+
<ClCompile Include="..\Modules\_testcapi\numbers.c" />
113119
<ClCompile Include="..\Modules\_testcapi\structmember.c" />
114120
<ClCompile Include="..\Modules\_testcapi\exceptions.c" />
115121
<ClCompile Include="..\Modules\_testcapi\code.c" />
116122
<ClCompile Include="..\Modules\_testcapi\buffer.c" />
117123
<ClCompile Include="..\Modules\_testcapi\pyos.c" />
124+
<ClCompile Include="..\Modules\_testcapi\file.c" />
125+
<ClCompile Include="..\Modules\_testcapi\codec.c" />
118126
<ClCompile Include="..\Modules\_testcapi\sys.c" />
119127
<ClCompile Include="..\Modules\_testcapi\immortal.c" />
120128
<ClCompile Include="..\Modules\_testcapi\gc.c" />

PCbuild/_testcapi.vcxproj.filters

+27
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,27 @@
3030
<ClCompile Include="..\Modules\_testcapi\abstract.c">
3131
<Filter>Source Files</Filter>
3232
</ClCompile>
33+
<ClCompile Include="..\Modules\_testcapi\bytearray.c">
34+
<Filter>Source Files</Filter>
35+
</ClCompile>
36+
<ClCompile Include="..\Modules\_testcapi\bytes.c">
37+
<Filter>Source Files</Filter>
38+
</ClCompile>
3339
<ClCompile Include="..\Modules\_testcapi\unicode.c">
3440
<Filter>Source Files</Filter>
3541
</ClCompile>
3642
<ClCompile Include="..\Modules\_testcapi\dict.c">
3743
<Filter>Source Files</Filter>
3844
</ClCompile>
45+
<ClCompile Include="..\Modules\_testcapi\set.c">
46+
<Filter>Source Files</Filter>
47+
</ClCompile>
48+
<ClCompile Include="..\Modules\_testcapi\list.c">
49+
<Filter>Source Files</Filter>
50+
</ClCompile>
51+
<ClCompile Include="..\Modules\_testcapi\tuple.c">
52+
<Filter>Source Files</Filter>
53+
</ClCompile>
3954
<ClCompile Include="..\Modules\_testcapi\pytime.c">
4055
<Filter>Source Files</Filter>
4156
</ClCompile>
@@ -57,6 +72,12 @@
5772
<ClCompile Include="..\Modules\_testcapi\long.c">
5873
<Filter>Source Files</Filter>
5974
</ClCompile>
75+
<ClCompile Include="..\Modules\_testcapi\complex.c">
76+
<Filter>Source Files</Filter>
77+
</ClCompile>
78+
<ClCompile Include="..\Modules\_testcapi\numbers.c">
79+
<Filter>Source Files</Filter>
80+
</ClCompile>
6081
<ClCompile Include="..\Modules\_testcapi\structmember.c">
6182
<Filter>Source Files</Filter>
6283
</ClCompile>
@@ -72,6 +93,12 @@
7293
<ClCompile Include="..\Modules\_testcapi\pyos.c">
7394
<Filter>Source Files</Filter>
7495
</ClCompile>
96+
<ClCompile Include="..\Modules\_testcapi\file.c">
97+
<Filter>Source Files</Filter>
98+
</ClCompile>
99+
<ClCompile Include="..\Modules\_testcapi\codec.c">
100+
<Filter>Source Files</Filter>
101+
</ClCompile>
75102
<ClCompile Include="..\Modules\_testcapi\sys.c">
76103
<Filter>Source Files</Filter>
77104
</ClCompile>

0 commit comments

Comments
 (0)