|
Packit |
562c7a |
# mode: run
|
|
Packit |
562c7a |
# tag: import
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
PYTHON setup.py build_ext -i
|
|
Packit |
562c7a |
PYTHON test_relative_import.py
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
######## setup.py ########
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
from Cython.Build.Dependencies import cythonize
|
|
Packit |
562c7a |
from distutils.core import setup
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
setup(
|
|
Packit |
562c7a |
ext_modules = cythonize("*/*.pyx"),
|
|
Packit |
562c7a |
)
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
######## test_relative_import.py ########
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
from relimport.testmod import test_relative, test_absolute
|
|
Packit |
562c7a |
a, bmod, afunc, bfunc = test_relative()
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
try:
|
|
Packit |
562c7a |
test_absolute()
|
|
Packit |
562c7a |
except ImportError:
|
|
Packit |
562c7a |
pass
|
|
Packit |
562c7a |
else:
|
|
Packit |
562c7a |
assert False, "absolute import succeeded"
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
import relimport.a
|
|
Packit |
562c7a |
import relimport.bmod
|
|
Packit |
562c7a |
import relimport.testmod
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
assert relimport.a == a
|
|
Packit |
562c7a |
assert relimport.bmod == bmod
|
|
Packit |
562c7a |
assert afunc() == 'a', afunc
|
|
Packit |
562c7a |
assert bfunc() == 'b', bfunc
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
######## relimport/__init__.py ########
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
######## relimport/a.pyx ########
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def afunc(): return 'a'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
######## relimport/bmod.pyx ########
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def bfunc(): return 'b'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
######## relimport/testmod.pyx ########
|
|
Packit |
562c7a |
# cython: language_level=3
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
from relimport import a as global_a, bmod as global_bmod
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
from . import *
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
assert a is global_a, a
|
|
Packit |
562c7a |
assert bmod is global_bmod, bmod
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def test_relative():
|
|
Packit |
562c7a |
from . import a, bmod
|
|
Packit |
562c7a |
from . import (a, bmod)
|
|
Packit |
562c7a |
from . import (a, bmod,)
|
|
Packit |
562c7a |
from .a import afunc
|
|
Packit |
562c7a |
from .bmod import bfunc
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
assert afunc() == 'a', afunc()
|
|
Packit |
562c7a |
assert bfunc() == 'b', bfunc()
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
return a, bmod, afunc, bfunc
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def test_absolute():
|
|
Packit |
562c7a |
import bmod
|