When using an old python config which accidentally had p.input_files be [['file.root']] instead of ['file.root'], I got a seg fault during initial running and translating of the python configuration. This could be avoided by improving the translating procedure. There are a few different levels of fixes I could implement.
- Include more
PyCheck calls within the current ConfigurePython to make sure the inputs are the correct type.
- Rework
ConfigurePython so that the translation will work even if the wrong type is used. Types would then be flagged as wrong during getParameter calls. (This is what ldmx-sw Framework does)
- (in addition to either of the above options) Introduce a base python configuration class which requires a type definition for all class members. This is more of a seismic redesign which would enforce a rewrite of the current config scripts.
When using an old python config which accidentally had
p.input_filesbe[['file.root']]instead of['file.root'], I got a seg fault during initial running and translating of the python configuration. This could be avoided by improving the translating procedure. There are a few different levels of fixes I could implement.PyCheckcalls within the currentConfigurePythonto make sure the inputs are the correct type.ConfigurePythonso that the translation will work even if the wrong type is used. Types would then be flagged as wrong duringgetParametercalls. (This is what ldmx-sw Framework does)