From 9d0eaae1a3558699cdd603b940763a0fd33d254c Mon Sep 17 00:00:00 2001 From: Plamen Dimitrov Date: Mon, 8 Oct 2018 18:44:00 +0800 Subject: [PATCH] Be a bit more informative about plugin loading failures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Plamen Dimitrov Signed-off-by: Lukáš Doktor --- avocado/core/output.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/avocado/core/output.py b/avocado/core/output.py index 3b23fc58..957338a0 100644 --- a/avocado/core/output.py +++ b/avocado/core/output.py @@ -20,6 +20,7 @@ import logging import os import re import sys +import traceback from six import string_types, iterkeys @@ -703,12 +704,16 @@ def log_plugin_failures(failures): :class:`avocado.core.dispatcher.Dispatcher` attribute `load_failures` """ - msg_fmt = 'Failed to load plugin from module "%s": %s' + msg_fmt = 'Failed to load plugin from module "%s": %s :\n%s' silenced = settings.get_value('plugins', 'skip_broken_plugin_notification', list, []) for failure in failures: if failure[0].module_name in silenced: continue + if hasattr(failure[1], "__traceback__"): + str_tb = ''.join(traceback.format_tb(failure[1].__traceback__)) + else: + str_tb = "Traceback not available" LOG_UI.error(msg_fmt, failure[0].module_name, - failure[1].__repr__()) + failure[1].__repr__(), str_tb) -- GitLab