diff --git a/avocado/core/dispatcher.py b/avocado/core/dispatcher.py index 1f7ab88fb2a39c46d44884faae2319e67ccb35d8..12a2026e0ae6f75714049e3bd9a01f6801f1bd0b 100644 --- a/avocado/core/dispatcher.py +++ b/avocado/core/dispatcher.py @@ -27,7 +27,8 @@ class Dispatcher(ExtensionManager): self.load_failures = [] super(Dispatcher, self).__init__(namespace=namespace, invoke_on_load=True, - on_load_failure_callback=self.store_load_failure) + on_load_failure_callback=self.store_load_failure, + propagate_map_exceptions=True) @staticmethod def store_load_failure(manager, entrypoint, exception): diff --git a/avocado/core/loader.py b/avocado/core/loader.py index 5d6035e9eeb8541f3fd46b6867462be70fc482a1..e83916d884e08859202e701782e576789f87ab12 100644 --- a/avocado/core/loader.py +++ b/avocado/core/loader.py @@ -102,7 +102,8 @@ class TestLoaderProxy(object): def register_plugin(self, plugin): try: if issubclass(plugin, TestLoader): - self.registered_plugins.append(plugin) + if plugin not in self.registered_plugins: + self.registered_plugins.append(plugin) else: raise ValueError except ValueError: