diff options
| author | Adrian Torres <adt@odoo.com> | 2020-03-13 14:03:15 +0000 |
|---|---|---|
| committer | Raphael Collet <rco@odoo.com> | 2020-03-30 13:42:04 +0000 |
| commit | 96223568c445bc1d378fa4d8833f90d3dad8ec7e (patch) | |
| tree | c243eebd600089a940d0399b927710525c9ee0b1 | |
| parent | 73dc42d6d598785e381305c30b6b5149cd4e9309 (diff) | |
[FIX] core: invalidate registry at the start of setup_models
This is necessary in order to create models on-the-fly within tests and
to test improper Model / Field creation: registry.reset_changes will
only perform the reset of the registry if it is invalidated, however if
the setup of models crashes before it is invalidated (as is the case of
a test), the reset_changes will not be triggered and thus the registry
will be left dirty for subsequent tests.
| -rw-r--r-- | odoo/modules/registry.py | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/odoo/modules/registry.py b/odoo/modules/registry.py index 8d443138502..c4bc64adfe2 100644 --- a/odoo/modules/registry.py +++ b/odoo/modules/registry.py @@ -235,6 +235,7 @@ class Registry(Mapping): This must be called after loading modules and before using the ORM. """ lazy_property.reset_all(self) + self.registry_invalidated = True env = odoo.api.Environment(cr, SUPERUSER_ID, {}) if env.all.tocompute: @@ -303,8 +304,6 @@ class Registry(Mapping): for model in models: model._setup_complete() - self.registry_invalidated = True - def post_init(self, func, *args, **kwargs): """ Register a function to call at the end of :meth:`~.init_models`. """ self._post_init_queue.append(partial(func, *args, **kwargs)) |
