From 0b451dc0858e112333fe9797fa9f2685f6873aeb Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 24 Jun 2025 21:01:06 +1000 Subject: [PATCH] Tweak plugin load error messages (#9839) * Tweak plugin load error messages * Update unit tests --- src/backend/InvenTree/plugin/registry.py | 6 +++--- src/backend/InvenTree/plugin/test_plugin.py | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/backend/InvenTree/plugin/registry.py b/src/backend/InvenTree/plugin/registry.py index 45ea1da45f..83bd91d3d9 100644 --- a/src/backend/InvenTree/plugin/registry.py +++ b/src/backend/InvenTree/plugin/registry.py @@ -603,7 +603,7 @@ class PluginsRegistry: raise e except Exception as error: handle_error( - error, log_name='init' + error, log_name=f'{plg_name}:init_plugin' ) # log error and raise it -> disable plugin logger.warning('Plugin `%s` could not be loaded', plg_name) @@ -629,7 +629,7 @@ class PluginsRegistry: if v := plg_i.MAX_VERSION: _msg += _(f'Plugin requires at most version {v}') # Log to error stack - log_error(_msg, reference='init') + log_error(_msg, reference=f'{p}:init_plugin') else: safe_reference(plugin=plg_i, key=plg_key) else: # pragma: no cover @@ -666,7 +666,7 @@ class PluginsRegistry: except Exception as error: # Handle the error, log it and try again if attempts == 0: - handle_error(error, log_name='init', do_raise=True) + handle_error(error, log_name='init_plugins', do_raise=True) logger.exception( '[PLUGIN] Encountered an error with %s:\n%s', diff --git a/src/backend/InvenTree/plugin/test_plugin.py b/src/backend/InvenTree/plugin/test_plugin.py index e7eb2aea2f..a34ec24967 100644 --- a/src/backend/InvenTree/plugin/test_plugin.py +++ b/src/backend/InvenTree/plugin/test_plugin.py @@ -280,7 +280,7 @@ class RegistryTests(TestCase): # Reload to rediscover plugins registry.reload_plugins(full_reload=True, collect=True) - self.assertEqual(len(registry.errors), 2) + self.assertEqual(len(registry.errors), 3) # There should be at least one discovery error in the module `broken_file` self.assertGreater(len(registry.errors.get('discovery')), 0) @@ -290,9 +290,10 @@ class RegistryTests(TestCase): ) # There should be at least one load error with an intentional KeyError - self.assertGreater(len(registry.errors.get('init')), 0) + self.assertGreater(len(registry.errors.get('Test:init_plugin')), 0) self.assertEqual( - registry.errors.get('init')[0]['broken_sample'], "'This is a dummy error'" + registry.errors.get('Test:init_plugin')[0]['broken_sample'], + "'This is a dummy error'", ) @override_settings(PLUGIN_TESTING=True, PLUGIN_TESTING_SETUP=True)