Skip to content

Commit f3ec56d

Browse files
authored
Merge pull request #1705 from SuperSandro2000/show-error
Do not swallow error when importing plugins
2 parents 5732a41 + 483c715 commit f3ec56d

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

supervisor/options.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -374,9 +374,9 @@ def get_plugins(self, parser, factory_key, section_prefix):
374374
(section, factory_key))
375375
try:
376376
factory = self.import_spec(factory_spec)
377-
except (AttributeError, ImportError):
378-
raise ValueError('%s cannot be resolved within [%s]' % (
379-
factory_spec, section))
377+
except (AttributeError, ImportError) as e:
378+
raise ValueError('%s cannot be resolved within [%s]: %s' % (
379+
factory_spec, section, e))
380380

381381
extras = {}
382382
for k in parser.options(section):
@@ -743,9 +743,9 @@ def get(section, opt, default, **kwargs):
743743
'supervisor.dispatchers:default_handler')
744744
try:
745745
result_handler = self.import_spec(result_handler)
746-
except (AttributeError, ImportError):
747-
raise ValueError('%s cannot be resolved within [%s]' % (
748-
result_handler, section))
746+
except (AttributeError, ImportError) as e:
747+
raise ValueError('%s cannot be resolved within [%s]: %s' % (
748+
result_handler, section, e))
749749

750750
pool_event_names = [x.upper() for x in
751751
list_of_strings(get(section, 'events', ''))]

supervisor/tests/test_options.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2644,7 +2644,8 @@ def test_event_listener_pool_result_handler_unimportable_ImportError(self):
26442644
except ValueError as exc:
26452645
self.assertEqual(exc.args[0],
26462646
'thisishopefullynotanimportablepackage:nonexistent cannot be '
2647-
'resolved within [eventlistener:cat]')
2647+
'resolved within [eventlistener:cat]: No module named '
2648+
'\'thisishopefullynotanimportablepackage\'')
26482649

26492650
def test_event_listener_pool_result_handler_unimportable_AttributeError(self):
26502651
text = lstrip("""\
@@ -2663,7 +2664,8 @@ def test_event_listener_pool_result_handler_unimportable_AttributeError(self):
26632664
except ValueError as exc:
26642665
self.assertEqual(exc.args[0],
26652666
'supervisor.tests.base:nonexistent cannot be '
2666-
'resolved within [eventlistener:cat]')
2667+
'resolved within [eventlistener:cat]: module '
2668+
'\'supervisor.tests.base\' has no attribute \'nonexistent\'')
26672669

26682670
def test_event_listener_pool_noeventsline(self):
26692671
text = lstrip("""\
@@ -3216,7 +3218,7 @@ def test_rpcinterfaces_from_parser_factory_not_importable(self):
32163218
self.fail('nothing raised')
32173219
except ValueError as exc:
32183220
self.assertEqual(exc.args[0], 'nonexistent cannot be resolved '
3219-
'within [rpcinterface:dummy]')
3221+
'within [rpcinterface:dummy]: No module named \'nonexistent\'')
32203222

32213223
def test_clear_autochildlogdir(self):
32223224
dn = tempfile.mkdtemp()

0 commit comments

Comments
 (0)