Blame tests/run/cpdef_enums_import.srctree

Packit 562c7a
PYTHON setup.py build_ext --inplace
Packit 562c7a
PYTHON -c "import import_enums_test"
Packit 562c7a
Packit 562c7a
######## setup.py ########
Packit 562c7a
Packit 562c7a
from Cython.Build.Dependencies import cythonize
Packit 562c7a
Packit 562c7a
from distutils.core import setup
Packit 562c7a
Packit 562c7a
setup(
Packit 562c7a
  ext_modules = cythonize(["enums.pyx", "no_enums.pyx"]),
Packit 562c7a
)
Packit 562c7a
Packit 562c7a
######## enums.pyx ########
Packit 562c7a
Packit 562c7a
cpdef enum:
Packit 562c7a
    BAR
Packit 562c7a
Packit 562c7a
cpdef foo(): pass
Packit 562c7a
Packit 562c7a
######## enums.pxd ########
Packit 562c7a
Packit 562c7a
cpdef enum:
Packit 562c7a
    FOO
Packit 562c7a
Packit 562c7a
cpdef enum NamedEnumType:
Packit 562c7a
    NamedEnumValue = 389
Packit 562c7a
Packit 562c7a
cpdef foo()
Packit 562c7a
Packit 562c7a
######## no_enums.pyx ########
Packit 562c7a
Packit 562c7a
from enums cimport *
Packit 562c7a
Packit 562c7a
def get_named_enum_value():
Packit 562c7a
    return NamedEnumType.NamedEnumValue
Packit 562c7a
Packit 562c7a
######## import_enums_test.py ########
Packit 562c7a
Packit 562c7a
# We can import enums with a star import.
Packit 562c7a
from enums import *
Packit 562c7a
Packit 562c7a
print(dir())
Packit 562c7a
assert 'BAR' in dir() and 'FOO' in dir()
Packit 562c7a
assert 'NamedEnumType' in dir()
Packit 562c7a
Packit 562c7a
# enums not generated in the wrong module
Packit 562c7a
import no_enums
Packit 562c7a
print(dir(no_enums))
Packit 562c7a
assert 'FOO' not in dir(no_enums)
Packit 562c7a
assert 'foo' not in dir(no_enums)
Packit 562c7a
Packit 562c7a
assert no_enums.get_named_enum_value() == NamedEnumType.NamedEnumValue