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')
|