]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-108303: Add Lib/test/test_cppext/ sub-directory (GH-108325) (#108328)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 22 Aug 2023 20:06:33 +0000 (13:06 -0700)
committerGitHub <noreply@github.com>
Tue, 22 Aug 2023 20:06:33 +0000 (22:06 +0200)
gh-108303: Add Lib/test/test_cppext/ sub-directory (GH-108325)

* Move test_cppext to its own directory
* Rename setup_testcppext.py to setup.py
* Rename _testcppext.cpp to extension.cpp
* The source (extension.cpp) is now also copied by the test.
(cherry picked from commit 21dda09600848ac280481f7c64f8d9516dc69bb2)

Co-authored-by: Victor Stinner <vstinner@python.org>
Lib/test/test_cppext/__init__.py [moved from Lib/test/test_cppext.py with 91% similarity]
Lib/test/test_cppext/extension.cpp [moved from Lib/test/_testcppext.cpp with 99% similarity]
Lib/test/test_cppext/setup.py [moved from Lib/test/setup_testcppext.py with 93% similarity]
Makefile.pre.in

similarity index 91%
rename from Lib/test/test_cppext.py
rename to Lib/test/test_cppext/__init__.py
index e2fedc9735079f5b29b07edd90c3af5cba543553..f3d32a3c7612c9cfba614e23362c0a5065658657 100644 (file)
@@ -11,9 +11,8 @@ from test.support import os_helper
 
 
 MS_WINDOWS = (sys.platform == 'win32')
-
-
-SETUP_TESTCPPEXT = support.findfile('setup_testcppext.py')
+SOURCE = os.path.join(os.path.dirname(__file__), 'extension.cpp')
+SETUP = os.path.join(os.path.dirname(__file__), 'setup.py')
 
 
 @support.requires_subprocess()
@@ -42,7 +41,8 @@ class TestCPPExt(unittest.TestCase):
     def _check_build(self, std_cpp03, extension_name, python_exe):
         pkg_dir = 'pkg'
         os.mkdir(pkg_dir)
-        shutil.copy(SETUP_TESTCPPEXT, os.path.join(pkg_dir, "setup.py"))
+        shutil.copy(SETUP, os.path.join(pkg_dir, os.path.basename(SETUP)))
+        shutil.copy(SOURCE, os.path.join(pkg_dir, os.path.basename(SOURCE)))
 
         def run_cmd(operation, cmd):
             env = os.environ.copy()
similarity index 99%
rename from Lib/test/_testcppext.cpp
rename to Lib/test/test_cppext/extension.cpp
index 82b471312dd2b9f983d53cebc64245b77e9e6ad8..90669b10cb2c6dfaa702328666c75fdc9d4ae298 100644 (file)
@@ -1,5 +1,7 @@
 // gh-91321: Very basic C++ test extension to check that the Python C API is
 // compatible with C++ and does not emit C++ compiler warnings.
+//
+// The code is only built, not executed.
 
 // Always enable assertions
 #undef NDEBUG
similarity index 93%
rename from Lib/test/setup_testcppext.py
rename to Lib/test/test_cppext/setup.py
index 22fe750085fd70244073471f89dbe3de55fb9818..6867094a42043608ba3f279b5c4c7be8c6adc710 100644 (file)
@@ -2,7 +2,6 @@
 # compatible with C++ and does not emit C++ compiler warnings.
 import os
 import sys
-from test import support
 
 from setuptools import setup, Extension
 
@@ -10,7 +9,7 @@ from setuptools import setup, Extension
 MS_WINDOWS = (sys.platform == 'win32')
 
 
-SOURCE = support.findfile('_testcppext.cpp')
+SOURCE = 'extension.cpp'
 if not MS_WINDOWS:
     # C++ compiler flags for GCC and clang
     CPPFLAGS = [
index d9d56bb45ce7129e9ec905c6d2cb8a86013a8def..ae6a12c2a2c430c64c3631b555d51837f03dd101 100644 (file)
@@ -2132,6 +2132,7 @@ TESTSUBDIRS=      idlelib/idle_test \
                test/support/_hypothesis_stubs \
                test/test_asyncio \
                test/test_capi \
+               test/test_cppext \
                test/test_ctypes \
                test/test_email \
                test/test_email/data \