diff --git a/module_analysis/post_init_hook.py b/module_analysis/post_init_hook.py index e509c55f3..3e3b86ef0 100644 --- a/module_analysis/post_init_hook.py +++ b/module_analysis/post_init_hook.py @@ -6,9 +6,8 @@ from odoo import SUPERUSER_ID, api def analyse_installed_modules(cr, registry): - with api.Environment.manage(): - env = api.Environment(cr, SUPERUSER_ID, {}) - installed_modules = env["ir.module.module"].search( - ["|", ("state", "=", "installed"), ("name", "=", "module_analysis")] - ) - installed_modules.button_analyse_code() + env = api.Environment(cr, SUPERUSER_ID, {}) + installed_modules = env["ir.module.module"].search( + ["|", ("state", "=", "installed"), ("name", "=", "module_analysis")] + ) + installed_modules.button_analyse_code() diff --git a/module_analysis/tests/test_module.py b/module_analysis/tests/test_module.py index 2908d0f95..811eaebd9 100644 --- a/module_analysis/tests/test_module.py +++ b/module_analysis/tests/test_module.py @@ -2,15 +2,21 @@ # @author: Sylvain LE GAL (https://twitter.com/legalsylvain) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo.tests.common import TransactionCase, at_install, post_install +from odoo.tests.common import TransactionCase, tagged -@at_install(False) -@post_install(True) +@tagged("-at_install", "post_install") class TestModule(TransactionCase): - def setUp(self): - super().setUp() - self.IrModuleModule = self.env["ir.module.module"] + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.IrModuleModule = cls.env["ir.module.module"] + # Remove lib because it breaks tests in case of installation of modules with + # pip + cls.env["ir.config_parameter"].set_param( + "module_analysis.exclude_directories", "demo,test,tests,doc,description" + ) + cls.IrModuleModule.cron_analyse_code() def test_installed_modules(self): installed_modules = self.IrModuleModule.search(