stevedore/stevedore/tests/test_callback.py

22 lines
675 B
Python

"""Tests for failure loading callback
"""
from stevedore import extension
def test_extension_failure_custom_callback():
errors = []
def failure_callback(manager, entrypoint, error):
errors.append((manager, entrypoint, error))
em = extension.ExtensionManager('stevedore.test.extension',
invoke_on_load=True,
on_load_failure_callback=failure_callback)
extensions = list(em.extensions)
assert len(extensions) > 0
assert len(errors) == 2
for manager, entrypoint, error in errors:
assert manager is em
assert isinstance(error, (IOError, ImportError))