diff options
author | Matti Picus <matti.picus@gmail.com> | 2019-11-29 11:30:16 +0200 |
---|---|---|
committer | Stefan Behnel <stefan_ml@behnel.de> | 2019-11-29 10:30:16 +0100 |
commit | 24180c844f02d8a63f75f954eed4c9e89c5d3d17 (patch) | |
tree | 2300cf510e6f529ae9c912e060067d147b683c79 | |
parent | af997e97ea926a2e00b740eec61523b0370d98ff (diff) | |
download | cython-24180c844f02d8a63f75f954eed4c9e89c5d3d17.tar.gz |
TEST: add cpp attribute example from docs, add CYTHON_PROJECT_DIR for tests (GH-2970)
-rwxr-xr-x | runtests.py | 4 | ||||
-rw-r--r-- | tests/run/cpp_class_attrib.srctree | 26 |
2 files changed, 30 insertions, 0 deletions
diff --git a/runtests.py b/runtests.py index e4024b094..ff78cb80b 100755 --- a/runtests.py +++ b/runtests.py @@ -2012,6 +2012,10 @@ def flush_and_terminate(status): def main(): global DISTDIR, WITH_CYTHON + + # Set an environment variable to the top directory + os.environ['CYTHON_PROJECT_DIR'] = os.path.abspath(os.path.dirname(__file__)) + DISTDIR = os.path.join(os.getcwd(), os.path.dirname(sys.argv[0])) from Cython.Compiler import DebugFlags diff --git a/tests/run/cpp_class_attrib.srctree b/tests/run/cpp_class_attrib.srctree new file mode 100644 index 000000000..3ae850839 --- /dev/null +++ b/tests/run/cpp_class_attrib.srctree @@ -0,0 +1,26 @@ +# tag: cpp + +PYTHON setup.py build_ext --inplace +PYTHON -c "import runner" + +######## setup.py ######## + +from Cython.Build.Dependencies import cythonize +from distutils.core import setup +import os + +example_dir = os.path.abspath(os.path.join(os.environ['CYTHON_PROJECT_DIR'], + 'docs/examples/userguide/wrapping_CPlusPlus')) + +ext_modules= cythonize(os.path.join(example_dir, "rect_with_attributes.pyx"), + include_path=[example_dir]) +setup(ext_modules=ext_modules) + +######## runner.py ######## + +import rect_with_attributes + +x0, y0, x1, y1 = 1, 2, 3, 4 +rect_obj = rect_with_attributes.PyRectangle(x0, y0, x1, y1) + +assert rect_obj.x0 == x0 |