Skip to content

Commit

Permalink
[3.11] gh-108303: Add Lib/test/test_cppext/ sub-directory (#108325) (#…
Browse files Browse the repository at this point in the history
…108336)

gh-108303: Add Lib/test/test_cppext/ sub-directory (#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 21dda09)
  • Loading branch information
vstinner authored Aug 23, 2023
1 parent 12cad61 commit a153961
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 7 deletions.
8 changes: 3 additions & 5 deletions Lib/test/test_cppext.py → Lib/test/test_cppext/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@


MS_WINDOWS = (sys.platform == 'win32')


SETUP_TESTCPPEXT = support.findfile('setup_testcppext.py')
SETUP = os.path.join(os.path.dirname(__file__), 'setup.py')


@support.requires_subprocess()
Expand Down Expand Up @@ -74,14 +72,14 @@ def run_cmd(operation, cmd):

# Build the C++ extension
cmd = [python, '-X', 'dev',
SETUP_TESTCPPEXT, 'build_ext', '--verbose']
SETUP, 'build_ext', '--verbose']
if std_cpp03:
cmd.append('-std=c++03')
run_cmd('Build', cmd)

# Install the C++ extension
cmd = [python, '-X', 'dev',
SETUP_TESTCPPEXT, 'install']
SETUP, 'install']
run_cmd('Install', cmd)

# Do a reference run. Until we test that running python
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# gh-91321: Build a basic C++ test extension to check that the Python C API is
# compatible with C++ and does not emit C++ compiler warnings.
import os.path
import sys
from test import support

from setuptools import setup, Extension


MS_WINDOWS = (sys.platform == 'win32')


SOURCE = support.findfile('_testcppext.cpp')
SOURCE = os.path.join(os.path.dirname(__file__), 'extension.cpp')
if not MS_WINDOWS:
# C++ compiler flags for GCC and clang
CPPFLAGS = [
Expand Down
1 change: 1 addition & 0 deletions Makefile.pre.in
Original file line number Diff line number Diff line change
Expand Up @@ -1959,6 +1959,7 @@ TESTSUBDIRS= ctypes/test \
test/support \
test/test_asyncio \
test/test_capi \
test/test_cppext \
test/test_email \
test/test_email/data \
test/test_import \
Expand Down

0 comments on commit a153961

Please sign in to comment.