From 93fa2c818bcaef06704ea88cde082f7216ca837c Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 6 Mar 2025 11:20:05 +0100 Subject: [PATCH] config: validate value and default of parameters The Parameter Properties 'value', 'default' and 'constant' have ValueType, so they are not checked in the setProperty call. We have to do this explicitly in Module._add_accessible. Change-Id: I1e35adf2fe539411b4aebacd813adb07497de95b Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35797 Tested-by: Jenkins Automated Tests Reviewed-by: Alexander Zaft Reviewed-by: Markus Zolliker --- frappy/modulebase.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappy/modulebase.py b/frappy/modulebase.py index 670015f..260a152 100644 --- a/frappy/modulebase.py +++ b/frappy/modulebase.py @@ -450,9 +450,12 @@ class Module(HasAccessibles): self.parameters[name] = accessible if isinstance(accessible, Command): self.commands[name] = accessible - if cfg: + if cfg is not None: try: for propname, propvalue in cfg.items(): + if propname in {'value', 'default', 'constant'}: + # these properties have ValueType(), but should be checked for datatype + accessible.datatype(cfg[propname]) accessible.setProperty(propname, propvalue) except KeyError: self.errors.append(f"'{name}' has no property '{propname}'")