From e65859c161eb2528084d7cfc47c8df42f4e94f66 Mon Sep 17 00:00:00 2001 From: Xavier-Do Date: Fri, 24 Jan 2020 12:39:39 +0100 Subject: [PATCH] [FIX] runbot: catch ValueError instead of RunbotException in safe_eval --- runbot/models/build_config.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/runbot/models/build_config.py b/runbot/models/build_config.py index 8518844c..c71e95ae 100644 --- a/runbot/models/build_config.py +++ b/runbot/models/build_config.py @@ -263,10 +263,15 @@ class ConfigStep(models.Model): eval_ctx = self.make_python_ctx(build) try: safe_eval(self.python_code.strip(), eval_ctx, mode="exec", nocopy=True) - except RunbotException as e: + except ValueError as e: + save_eval_value_error_re = r': "(.*)" while evaluating\n.*' message = e.args[0] - build._log("run", message, level='ERROR') - build._kill(result='ko') + groups = re.match(save_eval_value_error_re, message) + if groups: + build._log("run", groups[1], level='ERROR') + build._kill(result='ko') + else: + raise def _is_docker_step(self):