mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
[3.13] gh-127906: Backport test_cext changes from the main branch (#127923)
This commit is contained in:
parent
78095c9052
commit
2996a2bed3
3 changed files with 21 additions and 4 deletions
|
@ -86,6 +86,8 @@ class TestExt(unittest.TestCase):
|
|||
cmd = [python_exe, '-X', 'dev',
|
||||
'-m', 'pip', 'install', '--no-build-isolation',
|
||||
os.path.abspath(pkg_dir)]
|
||||
if support.verbose:
|
||||
cmd.append('-v')
|
||||
run_cmd('Install', cmd)
|
||||
|
||||
# Do a reference run. Until we test that running python
|
||||
|
|
|
@ -37,7 +37,13 @@ static PyMethodDef _testcext_methods[] = {
|
|||
|
||||
|
||||
static int
|
||||
_testcext_exec(PyObject *module)
|
||||
_testcext_exec(
|
||||
#ifdef __STDC_VERSION__
|
||||
PyObject *module
|
||||
#else
|
||||
PyObject *Py_UNUSED(module)
|
||||
#endif
|
||||
)
|
||||
{
|
||||
#ifdef __STDC_VERSION__
|
||||
if (PyModule_AddIntMacro(module, __STDC_VERSION__) < 0) {
|
||||
|
@ -53,7 +59,7 @@ _testcext_exec(PyObject *module)
|
|||
}
|
||||
|
||||
static PyModuleDef_Slot _testcext_slots[] = {
|
||||
{Py_mod_exec, _testcext_exec},
|
||||
{Py_mod_exec, (void*)_testcext_exec},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
|
|
|
@ -11,12 +11,16 @@ from setuptools import setup, Extension
|
|||
|
||||
|
||||
SOURCE = 'extension.c'
|
||||
|
||||
if not support.MS_WINDOWS:
|
||||
# C compiler flags for GCC and clang
|
||||
CFLAGS = [
|
||||
# The purpose of test_cext extension is to check that building a C
|
||||
# extension using the Python C API does not emit C compiler warnings.
|
||||
'-Werror',
|
||||
|
||||
# gh-120593: Check the 'const' qualifier
|
||||
'-Wcast-qual',
|
||||
]
|
||||
if not support.Py_GIL_DISABLED:
|
||||
CFLAGS.append(
|
||||
|
@ -25,8 +29,13 @@ if not support.MS_WINDOWS:
|
|||
'-Werror=declaration-after-statement',
|
||||
)
|
||||
else:
|
||||
# Don't pass any compiler flag to MSVC
|
||||
CFLAGS = []
|
||||
# MSVC compiler flags
|
||||
CFLAGS = [
|
||||
# Display warnings level 1 to 4
|
||||
'/W4',
|
||||
# Treat all compiler warnings as compiler errors
|
||||
'/WX',
|
||||
]
|
||||
|
||||
|
||||
def main():
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue