From 5740c93e388e1cdd805a95bb052b927467f5bd9d Mon Sep 17 00:00:00 2001 From: Christophe Monniez Date: Fri, 28 Jun 2024 15:09:19 +0200 Subject: [PATCH] [FIX] runbot: add missing opcode The MAKE_CELL opcode appeared in python 3.11 and is needed in some python steps when using closures and generators. Like: `(all(s > e for e in [1,2]) for s in [0,1])` --- runbot/models/build_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runbot/models/build_config.py b/runbot/models/build_config.py index 666221d1..80a1b4c6 100644 --- a/runbot/models/build_config.py +++ b/runbot/models/build_config.py @@ -19,7 +19,7 @@ from odoo.tools.safe_eval import safe_eval, test_python_expr, _SAFE_OPCODES, to_ # to simplify some python step by wraping the content in a function to allow return statement and get closer to other # steps -_SAFE_OPCODES |= set(to_opcodes(['LOAD_DEREF', 'STORE_DEREF', 'LOAD_CLOSURE'])) +_SAFE_OPCODES |= set(to_opcodes(['LOAD_DEREF', 'STORE_DEREF', 'LOAD_CLOSURE', 'MAKE_CELL'])) _logger = logging.getLogger(__name__)