diff --git a/runtests.py b/runtests.py index e4024b09447e74012ddf2a0a2becbfb562214d0c..ff78cb80b7e69f50c0df82cde27bd8f86d31f94d 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 0000000000000000000000000000000000000000..3ae85083907738ea86a1f1282530681a712c3401 --- /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