From bfc62bc3ef29bd17726eac068ca77a26866f622e Mon Sep 17 00:00:00 2001 From: Julien Castiaux Date: Tue, 26 Mar 2024 11:22:28 +0100 Subject: [PATCH] [FIX] base: cron indeterministic test Upon calling `invalidate_recordset` the current recordset present is flushed. That recordset can be active=True which override active=False set `_process_job()`. Flushing the recordset *before* calling `_process_job` makes sure that there is no dangling data to be flushed. closes odoo/odoo#159262 Signed-off-by: Julien Castiaux (juc) --- odoo/addons/base/tests/test_ir_cron.py | 1 + 1 file changed, 1 insertion(+) diff --git a/odoo/addons/base/tests/test_ir_cron.py b/odoo/addons/base/tests/test_ir_cron.py index 96da0fee42a..6dba0c087f5 100644 --- a/odoo/addons/base/tests/test_ir_cron.py +++ b/odoo/addons/base/tests/test_ir_cron.py @@ -263,6 +263,7 @@ class TestIrCron(TransactionCase, CronMixinCase): def test_cron_null_interval(self): self.cron.interval_number = 0 + self.cron.flush_recordset() with self.assertLogs('odoo.addons.base.models.ir_cron', 'ERROR'): self.cron._process_job(get_db_name(), self.env.cr, self.cron.read(load=False)[0]) self.cron.invalidate_recordset(['active'])