diff options
Diffstat (limited to 'tests/run/relative_cimport_compare.srctree')
-rw-r--r-- | tests/run/relative_cimport_compare.srctree | 327 |
1 files changed, 327 insertions, 0 deletions
diff --git a/tests/run/relative_cimport_compare.srctree b/tests/run/relative_cimport_compare.srctree new file mode 100644 index 000000000..77b6fb22e --- /dev/null +++ b/tests/run/relative_cimport_compare.srctree @@ -0,0 +1,327 @@ +# mode: run +# tag: cimport, pep489 + +PYTHON setup.py build_ext --inplace +PYTHON -c "import test_import" +PYTHON -c "import test_cimport" + + +######## setup.py ######## + +from distutils.core import setup +from Cython.Build import cythonize +from Cython.Distutils.extension import Extension + +setup( + ext_modules=cythonize('**/*.pyx'), +) + +######## test_import.py ######## +import sys +SUPPORTS_PEP_489 = sys.version_info > (3, 5) +if SUPPORTS_PEP_489: + import cypkg.sub.submodule + import cypkg.sub.sub2.sub2module + import pypkg.module + import pypkg.sub.submodule + import pypkg.sub.sub2.sub2module + +######## test_cimport.py ######## +import sys +SUPPORTS_PEP_489 = sys.version_info > (3, 5) +if SUPPORTS_PEP_489: + import module + + +######## module.pyx ######## +cimport cypkg + +cdef cypkg.a_type a1 = 3 +assert a1 == 3 +cdef cypkg.a.a_type a2 = 3 +assert a2 == 3 +cdef cypkg.b_type b1 = 4 +assert b1 == 4 +cdef cypkg.b.b_type b2 = 4 +assert b2 == 4 + + +cimport cypkg.sub +cdef cypkg.sub.a_type a3 = 3 +assert a3 == 3 +cdef cypkg.sub.a.a_type a4 = 3 +assert a4 == 3 +cdef cypkg.sub.b_type b3 = 4 +assert b3 == 4 +cdef cypkg.sub.b.b_type b4 = 4 +assert b4 == 4 + + +cimport cypkg.sub.sub2 +cdef cypkg.sub.sub2.a_type a5 = 3 +assert a5 == 3 +cdef cypkg.sub.sub2.a.a_type a6 = 3 +assert a6 == 3 +cdef cypkg.sub.sub2.b_type b5 = 4 +assert b5 == 4 +cdef cypkg.sub.sub2.b.b_type b6 = 4 +assert b6 == 4 + +import pypkg +assert pypkg.a_value == 3 +assert pypkg.a.a_value == 3 +assert pypkg.b_value == 4 +assert pypkg.b.b_value == 4 + + +import pypkg.sub +assert pypkg.sub.a_value == 3 +assert pypkg.sub.a.a_value == 3 +assert pypkg.sub.b_value == 4 +assert pypkg.sub.b.b_value == 4 + + +import cypkg.sub.sub2 +assert pypkg.sub.sub2.a_value == 3 +assert pypkg.sub.sub2.a.a_value == 3 +assert pypkg.sub.sub2.b_value == 4 +assert pypkg.sub.sub2.b.b_value == 4 + + +######## cypkg/__init__.pxd ######## + +cimport cypkg.sub +cimport cypkg.sub.sub2 + +from cypkg.sub cimport a +from cypkg.sub.a cimport a_type +from cypkg.sub.sub2 cimport b +from cypkg.sub.sub2.b cimport b_type + +from . cimport sub +from .sub cimport a +from .sub.a cimport a_type +from .sub.sub2 cimport b +from .sub.sub2.b cimport b_type + +######## cypkg/__init__.pyx ######## + + +######## cypkg/module.pyx ######## + +cimport cypkg +cimport cypkg.sub +cimport cypkg.sub.sub2 +from cypkg.sub cimport a +from cypkg.sub.a cimport a_type +from cypkg.sub.sub2 cimport b +from cypkg.sub.sub2.b cimport b_type + +from . cimport sub +from .sub cimport a +from .sub.a cimport a_type +from .sub.sub2 cimport b +from .sub.sub2.b cimport b_type + + +######## cypkg/sub/__init__.pxd ######## + +cimport cypkg +from cypkg.sub cimport a +from cypkg.sub.a cimport a_type +from cypkg.sub.sub2 cimport b +from cypkg.sub.sub2.b cimport b_type + +from . cimport a +from .a cimport a_type + +from .. cimport sub +from ..sub cimport a +from ..sub.a cimport a_type +from ..sub.sub2 cimport b +from ..sub.sub2.b cimport b_type + +######## cypkg/sub/__init__.pyx ######## + +######## cypkg/sub/a.pxd ######## + +ctypedef int a_type + +######## cypkg/sub/submodule.pyx ######## + +cimport cypkg +cimport cypkg.sub +from cypkg.sub cimport a +from cypkg.sub.a cimport a_type +from cypkg.sub.sub2 cimport b +from cypkg.sub.sub2.b cimport b_type + +from . cimport a +from .a cimport a_type + +from .. cimport sub +from ..sub cimport a +from ..sub.a cimport a_type +from ..sub.sub2 cimport b +from ..sub.sub2.b cimport b_type + +######## cypkg/sub/sub2/__init__.pxd ######## + +cimport cypkg +cimport cypkg.sub +from cypkg.sub cimport a +from cypkg.sub.a cimport a_type +from cypkg.sub.sub2 cimport b +from cypkg.sub.sub2.b cimport b_type + +from ..sub2 cimport b +from ..sub2.b cimport b_type + +from ...sub cimport a +from ...sub.a cimport a_type + +from ... cimport sub +from ...sub.sub2 cimport b +from ...sub.sub2.b cimport b_type + +######## cypkg/sub/sub2/__init__.pyx ######## + +######## cypkg/sub/sub2/b.pxd ######## + +ctypedef int b_type + + +######## cypkg/sub/sub2/sub2module.pyx ######## + +cimport cypkg +cimport cypkg.sub +from cypkg.sub cimport a +from cypkg.sub.a cimport a_type +from cypkg.sub.sub2 cimport b +from cypkg.sub.sub2.b cimport b_type + +from .. cimport sub2 +from ..sub2 cimport b +from ..sub2.b cimport b_type + +from ...sub cimport a +from ...sub.a cimport a_type + +from ... cimport sub +from ...sub.sub2 cimport b +from ...sub.sub2.b cimport b_type + +######## pypkg/__init__.py ######## + +import pypkg.sub +import pypkg.sub.sub2 + +from pypkg.sub import a +from pypkg.sub.a import a_value +from pypkg.sub.sub2 import b +from pypkg.sub.sub2.b import b_value + +from . import sub +from .sub import a +from .sub.a import a_value +from .sub.sub2 import b +from .sub.sub2.b import b_value + +######## pypkg/module.py ######## + +import pypkg +import pypkg.sub +import pypkg.sub.sub2 +from pypkg.sub import a +from pypkg.sub.a import a_value +from pypkg.sub.sub2 import b +from pypkg.sub.sub2.b import b_value + +from . import sub +from .sub import a +from .sub.a import a_value +from .sub.sub2 import b +from .sub.sub2.b import b_value + +######## pypkg/sub/__init__.py ######## + +import pypkg +from pypkg.sub import a +from pypkg.sub.a import a_value +from pypkg.sub.sub2 import b +from pypkg.sub.sub2.b import b_value + +from . import a +from .a import a_value + +from .. import sub +from ..sub import a +from ..sub.a import a_value +from ..sub.sub2 import b +from ..sub.sub2.b import b_value + +######## pypkg/sub/a.py ######## + +a_value = 3 + +######## pypkg/sub/submodule.py ######## + +import pypkg +import pypkg.sub +from pypkg.sub import a +from pypkg.sub.a import a_value +from pypkg.sub.sub2 import b +from pypkg.sub.sub2.b import b_value + +from . import a +from .a import a_value + +from .. import sub +from ..sub import a +from ..sub.a import a_value +from ..sub.sub2 import b +from ..sub.sub2.b import b_value + +######## pypkg/sub/sub2/__init__.py ######## + +import pypkg +import pypkg.sub +from pypkg.sub import a +from pypkg.sub.a import a_value +from pypkg.sub.sub2 import b +from pypkg.sub.sub2.b import b_value + +from ..sub2 import b +from ..sub2.b import b_value + +from ...sub import a +from ...sub.a import a_value + +from ... import sub +from ...sub.sub2 import b +from ...sub.sub2.b import b_value + +######## pypkg/sub/sub2/b.py ######## + +b_value = 4 + + +######## pypkg/sub/sub2/sub2module.py ######## + +import pypkg +import pypkg.sub +from pypkg.sub import a +from pypkg.sub.a import a_value +from pypkg.sub.sub2 import b +from pypkg.sub.sub2.b import b_value + +from .. import sub2 +from ..sub2 import b +from ..sub2.b import b_value + +from ...sub import a +from ...sub.a import a_value + +from ... import sub +from ...sub.sub2 import b +from ...sub.sub2.b import b_value |