Blame tests/run/mod__spec__.pyx

Packit 562c7a
# mode: run
Packit 562c7a
# tag: pep489
Packit 562c7a
Packit 562c7a
import os.path
Packit 562c7a
Packit 562c7a
module_spec = __spec__
Packit 562c7a
module_file = __file__
Packit 562c7a
Packit 562c7a
Packit 562c7a
def check_spec(spec=__spec__):
Packit 562c7a
    """
Packit 562c7a
    >>> check_spec()
Packit 562c7a
    """
Packit 562c7a
    assert __spec__ is not None
Packit 562c7a
    assert __spec__ is spec
Packit 562c7a
Packit 562c7a
    assert __name__
Packit 562c7a
    assert __name__ == spec.name
Packit 562c7a
Packit 562c7a
    assert spec.loader is not None
Packit 562c7a
    assert spec.loader is __loader__
Packit 562c7a
Packit 562c7a
    assert not spec.parent
Packit 562c7a
    assert not __package__
Packit 562c7a
Packit 562c7a
    assert spec.origin
Packit 562c7a
    assert spec.origin == module_file
Packit 562c7a
    assert spec.origin == __file__
Packit 562c7a
    assert os.path.basename(spec.origin).startswith(__name__)
Packit 562c7a
Packit 562c7a
Packit 562c7a
# validate that ModuleSpec is already complete at module initialisation time
Packit 562c7a
check_spec()
Packit 562c7a
check_spec(__spec__)
Packit 562c7a
check_spec(module_spec)
Packit 562c7a
Packit 562c7a
Packit 562c7a
def file_in_module():
Packit 562c7a
    """
Packit 562c7a
    >>> print(file_in_module())
Packit 562c7a
    mod__spec__
Packit 562c7a
    """
Packit 562c7a
    return os.path.basename(module_file).split('.', 1)[0]
Packit 562c7a
Packit 562c7a
Packit 562c7a
def file_in_function():
Packit 562c7a
    """
Packit 562c7a
    >>> print(file_in_function())
Packit 562c7a
    mod__spec__
Packit 562c7a
    """
Packit 562c7a
    return os.path.basename(__file__).split('.', 1)[0]