summaryrefslogtreecommitdiff
path: root/stevedore/tests/test_callback.py
diff options
context:
space:
mode:
authorJulien Danjou <julien@danjou.info>2014-04-24 15:57:19 +0200
committerJulien Danjou <julien@danjou.info>2014-04-25 14:51:45 +0200
commit3668de2513053f05cec068d12cc7b9cfb642b298 (patch)
tree031966a5f657ef229b5fd7fde2b302e550b2abe2 /stevedore/tests/test_callback.py
parentcde4b1d032b43746cfbb939ff6844d8d5fd6477f (diff)
downloadstevedore-3668de2513053f05cec068d12cc7b9cfb642b298.tar.gz
driver: raise by default on import failure
When using the DriverManager class, if the driver fails to load, it's actually better by default to re-raise the exception. It's not something possible when loading multiple extension, but it's safe to do so with drivers. This just changes the default behaviour, and it can still be overridden. The upside of that change is that when you try to load a driver that cannot be loaded because of missing dependency, you actually get the ImportError backtrace on your screen rather than the useless: RuntimeError: No 'foo' driver found, looking for 'bar' which doesn't help at all. And the default mechanism that logs via LOG.error() doesn't print anything at the screen if the application didn't configure the logging subsystem. Change-Id: I67d9e13a07c822c54dd16ac9ae7716747a24dd73
Diffstat (limited to 'stevedore/tests/test_callback.py')
-rw-r--r--stevedore/tests/test_callback.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/stevedore/tests/test_callback.py b/stevedore/tests/test_callback.py
index d80c7f2..47ea262 100644
--- a/stevedore/tests/test_callback.py
+++ b/stevedore/tests/test_callback.py
@@ -15,7 +15,7 @@ def test_extension_failure_custom_callback():
on_load_failure_callback=failure_callback)
extensions = list(em.extensions)
assert len(extensions) > 0
- assert len(errors) == 1
- (manager, entrypoint, error) = errors[0]
- assert manager is em
- assert isinstance(error, IOError)
+ assert len(errors) == 2
+ for manager, entrypoint, error in errors:
+ assert manager is em
+ assert isinstance(error, (IOError, ImportError))