Blame tests/run/cpp_exception_declaration_compatibility.srctree

Packit Service 99d393
# tag: cpp
Packit Service 99d393
Packit Service 99d393
"""
Packit Service 99d393
PYTHON setup.py build_ext -i
Packit Service 99d393
PYTHON test.py
Packit Service 99d393
"""
Packit Service 99d393
Packit Service 99d393
############### setup.py ###################
Packit Service 99d393
from distutils.core import setup
Packit Service 99d393
from Cython.Build import cythonize
Packit Service 99d393
Packit Service 99d393
setup(
Packit Service 99d393
    name="cython_test",
Packit Service 99d393
    ext_modules=cythonize('*.pyx', language="c++")
Packit Service 99d393
)
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
############### test.py ###################
Packit Service 99d393
Packit Service 99d393
from cpp_exc import TestClass
Packit Service 99d393
Packit Service 99d393
TestClass().test_func()
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
############### cpp_exc.pxd ###################
Packit Service 99d393
Packit Service 99d393
cdef inline void handle_exception():
Packit Service 99d393
    pass
Packit Service 99d393
Packit Service 99d393
cdef class TestClass:
Packit Service 99d393
    cpdef test_func(self) except +handle_exception
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
############### cpp_exc.pyx ###################
Packit Service 99d393
Packit Service 99d393
cdef class TestClass:
Packit Service 99d393
    cpdef test_func(self) except +handle_exception:
Packit Service 99d393
        print('test')