22 lines
675 B
Python
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))
|