[3.13] gh-127906: Backport test_cext changes from the main branch (#127923)

This commit is contained in:
Victor Stinner 2024-12-13 16:04:08 +01:00 committed by GitHub
parent 78095c9052
commit 2996a2bed3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 21 additions and 4 deletions

View file

@ -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

View file

@ -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}
};

View file

@ -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():