From: Victor Stinner Date: Fri, 13 Dec 2024 15:04:08 +0000 (+0100) Subject: [3.13] gh-127906: Backport test_cext changes from the main branch (#127923) X-Git-Tag: v3.13.2~197 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2996a2bed39206505852f537ae4514c4977e196d;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-127906: Backport test_cext changes from the main branch (#127923) --- diff --git a/Lib/test/test_cext/__init__.py b/Lib/test/test_cext/__init__.py index ec44b0ce1f8a..54859f9ff762 100644 --- a/Lib/test/test_cext/__init__.py +++ b/Lib/test/test_cext/__init__.py @@ -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 diff --git a/Lib/test/test_cext/extension.c b/Lib/test/test_cext/extension.c index eb23dbe20353..b76abe1d74c6 100644 --- a/Lib/test/test_cext/extension.c +++ b/Lib/test/test_cext/extension.c @@ -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} }; diff --git a/Lib/test/test_cext/setup.py b/Lib/test/test_cext/setup.py index ccad3fa62ad0..e97749b45ea6 100644 --- a/Lib/test/test_cext/setup.py +++ b/Lib/test/test_cext/setup.py @@ -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():