diff --git a/src/rougail/annotator/family.py b/src/rougail/annotator/family.py
index a5925ce8d..46b77ed21 100644
--- a/src/rougail/annotator/family.py
+++ b/src/rougail/annotator/family.py
@@ -141,7 +141,8 @@ class Annotator(Walk):
family.path
)
self.objectspace.informations.add(family.path, "dynamic_variable", path)
- self.objectspace.informations.add(family.path, "ymlfiles", family.xmlfiles)
+ if family.xmlfiles:
+ self.objectspace.informations.add(family.path, "ymlfiles", family.xmlfiles)
def change_modes(self):
"""change the mode of variables"""
diff --git a/src/rougail/config/__init__.py b/src/rougail/config/__init__.py
index 9c43def2e..e4f69c1cb 100644
--- a/src/rougail/config/__init__.py
+++ b/src/rougail/config/__init__.py
@@ -235,13 +235,14 @@ class RConfigLeadership:
return dict(zip(self.leader, self.followers))
-class FakeRougailConvert(RougailConvert):
+class StaticRougailConvert(RougailConvert):
def __init__(
self,
add_extra_options: bool,
+ rougailconfig: dict={},
) -> None:
self.add_extra_options = add_extra_options
- super().__init__({})
+ super().__init__(rougailconfig)
def load_config(self) -> None:
self.sort_structural_files_all = False
@@ -258,7 +259,6 @@ class FakeRougailConvert(RougailConvert):
self.structurals = ["commandline"]
self.user_data = []
self.output = None
- self.add_extra_options = self.add_extra_options
self.tiramisu_cache = False
# self.tiramisu_cache = "a.py"
self.load_unexist_redefine = False
@@ -277,6 +277,16 @@ def get_common_rougail_config(
- '1.1'
mandatory: false
+types:
+ description: {_("File with personalize types")}
+ help: {_("This file contains personalize types in Rougail format for structure files")}
+ type: unix_filename
+ params:
+ allow_relative: true
+ test_existence: true
+ multi: true
+ mandatory: false
+
functions_files:
description: {_("File with functions")}
help: {_("This file contains filters and additional Jinja2 functions usable in structure files")}
@@ -538,18 +548,18 @@ def _rougail_config(
add_extra_options: bool = True,
) -> "OptionDescription":
processes, processes_empty, rougail_options = get_common_rougail_config(backward_compatibility=backward_compatibility)
- convert = FakeRougailConvert(add_extra_options)
+ convert = StaticRougailConvert(add_extra_options)
convert.init()
convert.namespace = None
convert.parse_root_file(
- "rougail.config",
+ ["rougail.config"],
"",
"1.1",
YAML().load(rougail_options),
)
for process_empty in processes_empty:
convert.parse_root_file(
- "rougail.config",
+ ["rougail.config"],
"",
"1.1",
YAML().load(process_empty),
@@ -569,7 +579,7 @@ def _rougail_config(
options = obj["options"]
for option in options:
convert.parse_root_file(
- f'rougail.config.{obj["name"]}',
+ [f'rougail.config.{obj["name"]}'],
"",
"1.1",
YAML().load(option),
diff --git a/src/rougail/convert/__init__.py b/src/rougail/convert/__init__.py
index 178b9b75e..7728a7ec4 100644
--- a/src/rougail/convert/__init__.py
+++ b/src/rougail/convert/__init__.py
@@ -20,6 +20,7 @@ from tiramisu import Config
from warnings import warn
from .convert import RougailConvert
+from ..types import rougail_type
from ..config import RougailConfig
from ..user_data import UserData
from ..tiramisu import tiramisu_display_name
@@ -35,7 +36,8 @@ class Rougail(UserData):
if rougailconfig is None:
rougailconfig = RougailConfig
self.rougailconfig = rougailconfig
- self.converted = RougailConvert(self.rougailconfig)
+ types = rougail_type(self.rougailconfig)
+ self.converted = RougailConvert(self.rougailconfig, *types)
self.config = None
def get_root_option(self):
diff --git a/src/rougail/convert/convert.py b/src/rougail/convert/convert.py
index 78d14e7b0..41f94aafd 100644
--- a/src/rougail/convert/convert.py
+++ b/src/rougail/convert/convert.py
@@ -260,7 +260,7 @@ class ParserVariable:
path: str,
obj: dict,
family_is_leadership: bool,
- filename: str,
+ sources: list[str],
) -> Literal["variable", "family"]:
"""Check object to determine if it's a variable or a family"""
# it's already has a variable or a family
@@ -274,12 +274,12 @@ class ParserVariable:
# check type attributes
obj_type = self.get_family_or_variable_type(obj)
if obj_type:
- if obj_type in self.family_types:
+ if obj_type in self.family_types or obj_type in self.custom_family_types:
return "family"
- if obj_type in self.variable_types:
+ if obj_type in self.variable_types or obj_type in self.custom_variable_types:
return "variable"
msg = _("unknown type {0} for {1}").format(obj_type, path)
- raise DictConsistencyError(msg, 43, [filename])
+ raise DictConsistencyError(msg, 43, sources)
# in a leadership there is only variable
if family_is_leadership:
return "variable"
@@ -305,7 +305,7 @@ class ParserVariable:
else:
if self.version == "1.0":
msg = f'Invalid value for the variable "{path}": "{obj}"'
- raise DictConsistencyError(msg, 102, [filename])
+ raise DictConsistencyError(msg, 102, sources)
return "variable"
return "family"
@@ -334,7 +334,7 @@ class ParserVariable:
###############################################################################################
def family_or_variable(
self,
- filename: str,
+ sources: list[str],
name: str,
subpath: str,
obj: dict,
@@ -347,19 +347,19 @@ class ParserVariable:
) -> None:
if name.startswith("_"):
msg = f'the variable or family name "{name}" is incorrect, it must not starts with "_" character'
- raise DictConsistencyError(msg, 16, [filename])
+ raise DictConsistencyError(msg, 16, sources)
if not subpath:
path = name
else:
path = f"{subpath}.{name}"
if self.version == "0.1" and not isinstance(obj, dict) and obj is not None:
msg = f'the variable "{path}" has a wrong type "{type(obj)}"'
- raise DictConsistencyError(msg, 17, [filename])
+ raise DictConsistencyError(msg, 17, sources)
typ = self.is_family_or_variable(
path,
obj,
family_is_leadership,
- filename,
+ sources,
)
logging.info("family_or_variable: %s is a %s", path, typ)
if typ == "family":
@@ -367,9 +367,10 @@ class ParserVariable:
else:
parser = self.parse_variable
parser(
- filename,
+ sources,
name,
path,
+ subpath,
obj,
comment=comment,
first_variable=first_variable,
@@ -380,9 +381,10 @@ class ParserVariable:
def parse_family(
self,
- filename: str,
+ sources: list[str],
name: str,
path: str,
+ subpath: str,
obj: Optional[Dict[str, Any]],
*,
comment: Optional[str] = None,
@@ -400,8 +402,9 @@ class ParserVariable:
exists = obj.pop("exists", None)
else:
exists = None
+ redefine = obj.pop("redefine", False)
obj_type = self.get_family_or_variable_type(obj)
- force_to_attrs = list(self.list_attributes(obj, filename, obj_type))
+ force_to_attrs = list(self.list_attributes(obj, sources, obj_type))
for key, value in obj.items():
if key in force_to_attrs:
if key.startswith("_"):
@@ -411,20 +414,34 @@ class ParserVariable:
subfamily_obj[key] = value
if self.version != "1.0" and not family_obj and comment:
family_obj["description"] = comment
-
+ if not redefine and not exists:
+ c_obj_type = family_obj.get("type")
+ if c_obj_type in self.custom_family_types:
+ redefine = True
+ custom = self.custom_family_types[c_obj_type].copy()
+ self.family_or_variable(
+ custom.pop("xmlfiles"),
+ name,
+ subpath,
+ custom,
+ "", # comment
+ family_is_dynamic=family_is_dynamic,
+ parent_dynamic=parent_dynamic,
+ )
+ family_obj["type"] = self.paths[path].type
if path in self.paths:
# it's just for modify subfamily or subvariable, do not redefine
if family_obj:
- if exists in [None, True] and not obj.pop("redefine", False):
+ if exists in [None, True] and not redefine:
msg = _('family "{0}" define multiple time').format(path)
raise DictConsistencyError(
- msg, 32, self.paths[path].xmlfiles + [filename]
+ msg, 32, self.paths[path].xmlfiles + sources
)
# convert to Calculation objects
self.parse_parameters(
path,
obj,
- filename,
+ sources,
family_is_dynamic,
typ="family",
)
@@ -436,16 +453,15 @@ class ParserVariable:
parent_dynamic,
force=True,
)
- self.paths[path].xmlfiles.append(filename)
+ self.paths[path].xmlfiles.extend(sources)
force_not_first = True
if self.paths[path].type == "dynamic":
family_is_dynamic = True
parent_dynamic = path
else:
- redefine = family_obj.pop("redefine", None)
if not self.load_unexist_redefine and exists is None and redefine:
raise Exception(
- f'cannot redefine the inexisting family "{path}" in {filename}'
+ f'cannot redefine the inexisting family "{path}" in {display_list(sources)}'
)
if not self.load_unexist_redefine and exists is True:
return
@@ -464,13 +480,13 @@ class ParserVariable:
path += "{{ identifier }}"
else:
msg = f'dynamic family name must have "{{{{ identifier }}}}" in his name for "{path}"'
- raise DictConsistencyError(msg, 13, [filename])
+ raise DictConsistencyError(msg, 13, sources)
parent_dynamic = path
self.add_family(
path,
name,
family_obj,
- filename,
+ sources,
family_is_dynamic,
parent_dynamic,
)
@@ -480,9 +496,12 @@ class ParserVariable:
for idx, key in enumerate(subfamily_obj):
value = subfamily_obj[key]
first_variable = not force_not_first and idx == 0
- comment = self.get_comment(key, obj)
+ if isinstance(obj, CommentedMap):
+ comment = self.get_comment(key, obj)
+ else:
+ comment = ""
self.family_or_variable(
- filename,
+ sources,
key,
path,
value,
@@ -496,7 +515,7 @@ class ParserVariable:
def list_attributes(
self,
obj: Dict[str, Any],
- filename: str,
+ sources: list[str],
obj_type: str,
) -> Iterator[str]:
"""List attributes"""
@@ -506,7 +525,7 @@ class ParserVariable:
raise DictConsistencyError(
f"a key is not in string format: {key}",
103,
- [filename],
+ sources,
)
if key in force_to_variable:
continue
@@ -543,7 +562,7 @@ class ParserVariable:
path: str,
name: str,
family: dict,
- filename: str,
+ sources: list[str],
family_is_dynamic: bool,
parent_dynamic: str,
) -> None:
@@ -551,7 +570,7 @@ class ParserVariable:
family["path"] = path
family["namespace"] = self.namespace
family["version"] = self.version
- family["xmlfiles"] = [filename]
+ family["xmlfiles"] = sources
obj_type = self.get_family_or_variable_type(family)
if obj_type == "dynamic":
family_obj = self.dynamic
@@ -575,7 +594,6 @@ class ParserVariable:
"allow_none": True,
}
del family["variable"]
- # FIXME only for 1.0
if "variable" in family:
family["dynamic"] = {
"type": "variable",
@@ -585,7 +603,7 @@ class ParserVariable:
}
del family["variable"]
if self.version != "1.0":
- warning = f'"variable" attribute in dynamic family "{ path }" is depreciated in {filename}'
+ warning = f'"variable" attribute in dynamic family "{ path }" is depreciated in {display_list(sources)}'
warn(
warning,
DeprecationWarning,
@@ -601,7 +619,7 @@ class ParserVariable:
self.parse_parameters(
path,
family,
- filename,
+ sources,
family_is_dynamic,
typ="family",
)
@@ -613,7 +631,7 @@ class ParserVariable:
parent_dynamic,
)
except ValidationError as err:
- raise Exception(f'invalid family "{path}" in "{filename}": {err}') from err
+ raise Exception(f'invalid family "{path}" in "{display_list(sources)}": {err}') from err
self.set_name(
self.paths[path],
"optiondescription_",
@@ -628,9 +646,10 @@ class ParserVariable:
def parse_variable(
self,
- filename: str,
+ sources: list[str],
name: str,
path: str,
+ subpath: str,
obj: Optional[Dict[str, Any]],
*,
comment: Optional[str] = None,
@@ -654,25 +673,33 @@ class ParserVariable:
f'"{path}" is not a valid variable, there are additional '
f'attributes: "{", ".join(extra_attrs)}"',
65,
- [filename],
+ sources,
)
self.parse_parameters(
path,
obj,
- filename,
+ sources,
family_is_dynamic,
)
- self.parse_params(path, obj, filename)
- self.parse_secret_manager(path, obj, filename, family_is_dynamic)
+ self.parse_params(path, obj, sources)
+ self.parse_secret_manager(path, obj, sources, family_is_dynamic)
exists = obj.pop("exists", None)
+ redefine = obj.pop("redefine", False)
+ if not redefine and not exists:
+ obj_type = obj.get("type")
+ if obj_type in self.custom_variable_types:
+ redefine = True
+ custom = self.custom_variable_types[obj_type].copy()
+ self.add_variable(name, path, custom, custom['xmlfiles'].copy(), family_is_dynamic, parent_dynamic, family_is_leadership, first_variable)
+ del obj["type"]
if path in self.paths:
if not self.load_unexist_redefine:
if exists is False:
return
- if not obj.pop("redefine", False):
+ if not redefine:
msg = _('variable "{0}" define multiple time').format(path)
raise DictConsistencyError(
- msg, 45, self.paths[path].xmlfiles + [filename]
+ msg, 45, self.paths[path].xmlfiles + sources
)
self.paths.add(
path,
@@ -681,30 +708,23 @@ class ParserVariable:
parent_dynamic,
force=True,
)
- self.paths[path].xmlfiles.append(filename)
+ self.paths[path].xmlfiles.extend(sources)
else:
if not self.load_unexist_redefine and exists is True:
# this variable must exist
# but it's not the case
# so do nothing
return
- redefine = obj.pop("redefine", False)
if not self.load_unexist_redefine and redefine:
msg = f'cannot redefine the inexisting variable "{path}"'
- raise DictConsistencyError(msg, 46, [filename])
- obj["path"] = path
- self.add_variable(name, obj, filename, family_is_dynamic, parent_dynamic)
- if family_is_leadership:
- if first_variable:
- self.leaders.append(path)
- else:
- self.followers.append(path)
+ raise DictConsistencyError(msg, 46, sources)
+ self.add_variable(name, path, obj, sources, family_is_dynamic, parent_dynamic, family_is_leadership, first_variable)
def parse_parameters(
self,
path: str,
obj: dict,
- filename: str,
+ sources: list[str],
family_is_dynamic: bool,
*,
typ: str = "variable",
@@ -728,11 +748,11 @@ class ParserVariable:
value,
path,
family_is_dynamic,
- [filename],
+ sources,
)
except ValidationError as err:
raise Exception(
- f'the {typ} "{path}" in "{filename}" has an invalid "{key}": {err}'
+ f'the {typ} "{path}" in "{display_list(sources)}" has an invalid "{key}": {err}'
) from err
continue
if not isinstance(value, list):
@@ -752,17 +772,17 @@ class ParserVariable:
val,
path,
family_is_dynamic,
- [filename],
+ sources,
inside_list=True,
index=idx,
)
except ValidationError as err:
raise Exception(
- f'the {typ} "{path}" in "{filename}" has an invalid "{key}" '
+ f'the {typ} "{path}" in "{display_list(sources)}" has an invalid "{key}" '
f"at index {idx}: {err}"
) from err
- def parse_params(self, path, obj, filename):
+ def parse_params(self, path, obj, sources):
"""Parse variable params"""
if "params" not in obj:
return
@@ -770,7 +790,7 @@ class ParserVariable:
raise DictConsistencyError(
_("params must be a dict for {0}").format(path),
55,
- [filename],
+ sources,
)
params = []
for key, val in obj["params"].items():
@@ -784,7 +804,7 @@ class ParserVariable:
attribute=None,
family_is_dynamic=None,
namespace=self.namespace,
- xmlfiles=[filename],
+ xmlfiles=sources,
)
)
except ValidationError as err:
@@ -793,11 +813,11 @@ class ParserVariable:
key, path, err
),
54,
- [filename],
+ sources,
) from err
obj["params"] = params
- def parse_secret_manager(self, path, obj, filename, family_is_dynamic):
+ def parse_secret_manager(self, path, obj, sources, family_is_dynamic):
"""Parse variable secret_manager"""
if "secret_manager" not in obj:
return
@@ -805,7 +825,7 @@ class ParserVariable:
raise DictConsistencyError(
_("secret_manager must be a dict for {0}").format(path),
64,
- [filename],
+ sources,
)
secret_manager = {
"type": "jinja",
@@ -818,26 +838,25 @@ class ParserVariable:
secret_manager,
path,
family_is_dynamic,
- [filename],
+ sources,
)
def add_variable(
self,
name: str,
+ path: str,
variable: dict,
- filename: str,
+ sources: list[str],
family_is_dynamic: bool,
parent_dynamic: Optional[str],
+ family_is_leadership: bool,
+ first_variable: bool,
) -> None:
- if "{ suffix" in variable["path"]:
- raise Exception()
"""Add a new variable"""
- if not isinstance(filename, list):
- filename = [filename]
-
variable["namespace"] = self.namespace
variable["version"] = self.version
- variable["xmlfiles"] = filename
+ variable["xmlfiles"] = sources
+ variable["path"] = path
variable_type = self.get_family_or_variable_type(variable)
obj = {
"symlink": SymLink,
@@ -847,7 +866,7 @@ class ParserVariable:
variable_obj = obj(name=name, **variable)
except ValidationError as err:
raise Exception(
- f'invalid variable "{variable["path"]}" in "{filename}": {err}'
+ f'invalid variable "{variable["path"]}" in "{display_list(sources)}": {err}'
) from err
self.paths.add(
variable["path"],
@@ -865,6 +884,11 @@ class ParserVariable:
variable_obj,
"option_",
)
+ if family_is_leadership:
+ if first_variable:
+ self.leaders.append(path)
+ else:
+ self.followers.append(path)
def del_family(
self,
@@ -1017,9 +1041,15 @@ class RougailConvert(ParserVariable):
supported_version = ["1.0", "1.1"]
- def __init__(self, rougailconfig) -> None:
+ def __init__(self,
+ rougailconfig,
+ custom_variable_types: dict={},
+ custom_family_types: dict={},
+ ) -> None:
self.annotator = False
self.has_namespace = False
+ self.custom_variable_types = custom_variable_types
+ self.custom_family_types = custom_family_types
super().__init__(rougailconfig)
def search_calculation(
@@ -1057,9 +1087,10 @@ class RougailConvert(ParserVariable):
namespace_path = self.namespace
self.version = ""
self.parse_family(
- "",
+ [],
self.namespace,
namespace_path,
+ namespace_path,
{
"description": namespace_description,
},
@@ -1080,7 +1111,7 @@ class RougailConvert(ParserVariable):
def parse_root_file(
self,
- filename: str,
+ sources: list[str],
path: str,
version: str,
objects: dict,
@@ -1089,7 +1120,7 @@ class RougailConvert(ParserVariable):
for name, obj in objects.items():
comment = self.get_comment(name, objects)
self.family_or_variable(
- filename,
+ sources,
name,
path,
obj,
@@ -1099,7 +1130,7 @@ class RougailConvert(ParserVariable):
def validate_file_version(
self,
obj: dict,
- filename: str,
+ sources: list[str],
) -> None:
"""version is mandatory in YAML file"""
if obj is None:
@@ -1116,11 +1147,11 @@ class RougailConvert(ParserVariable):
version = default_version
else:
msg = '"version" attribut is mandatory in YAML file'
- raise DictConsistencyError(msg, 27, [filename])
+ raise DictConsistencyError(msg, 27, sources)
if version not in self.supported_version:
msg = f'version "{version}" is not supported, list of supported versions: {display_list(self.supported_version, separator="or", add_quote=True)}'
- raise DictConsistencyError(msg, 28, [filename])
+ raise DictConsistencyError(msg, 28, sources)
return version
def annotate(
diff --git a/src/rougail/structural_commandline/annotator.py b/src/rougail/structural_commandline/annotator.py
index 0e35035b6..7a6b7b00c 100644
--- a/src/rougail/structural_commandline/annotator.py
+++ b/src/rougail/structural_commandline/annotator.py
@@ -82,8 +82,11 @@ class Annotator(Walk):
self.objectspace.version = variable.version
self.objectspace.add_variable(
alternative_name,
- {"type": "symlink", "path": path, "opt": variable},
+ path,
+ {"type": "symlink", "opt": variable},
variable.xmlfiles,
False,
False,
+ False,
+ False,
)
diff --git a/src/rougail/structural_directory/__init__.py b/src/rougail/structural_directory/__init__.py
index 61f858225..b67ae0760 100644
--- a/src/rougail/structural_directory/__init__.py
+++ b/src/rougail/structural_directory/__init__.py
@@ -148,7 +148,7 @@ class Walker:
filename,
)
self.convert.parse_root_file(
- filename,
+ [filename],
path,
version,
objects,
diff --git a/src/rougail/tiramisu.py b/src/rougail/tiramisu.py
index 25a6cf8f7..eac47b36c 100644
--- a/src/rougail/tiramisu.py
+++ b/src/rougail/tiramisu.py
@@ -332,14 +332,14 @@ def tiramisu_display_name(
description_type = values.get_information(
context_subconfig, "description_type", "name_and_description"
)
- if description_type in ["description", "name_and_description"]:
+ if description_type in ["description", "name_and_description", "path_and_description"]:
doc = values.get_information(subconfig, "doc", None)
description = doc if doc and doc != kls.impl_getname() else ""
if "{{ identifier }}" in description and subconfig.identifiers:
description = description.replace("{{ identifier }}", str(subconfig.identifiers[-1]))
- if description_type in ["name", "path", "name_and_description"]:
+ if description_type in ["name", "path", "name_and_description", "path_and_description"]:
path = get_path()
- if description_type == "name_and_description":
+ if description_type in ["name_and_description", "path_and_description"]:
if description:
if with_quote:
description = f'"{path}" ({description})'
diff --git a/src/rougail/types.py b/src/rougail/types.py
new file mode 100644
index 000000000..6acacb291
--- /dev/null
+++ b/src/rougail/types.py
@@ -0,0 +1,74 @@
+"""
+Silique (https://www.silique.fr)
+Copyright (C) 2025
+
+This program is free software: you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published by the
+Free Software Foundation, either version 3 of the License, or (at your
+option) any later version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program. If not, see .
+"""
+from .config import StaticRougailConvert
+from .i18n import _
+
+
+class TypeRougailConvert(StaticRougailConvert):
+ def __init__(
+ self,
+ main_structural_directories: list[str],
+ ) -> None:
+ super().__init__(False, {"sort_structural_files_all": True,
+ "main_namespace": None,
+ "main_structural_directories": main_structural_directories,
+ })
+
+ def load_config(self) -> None:
+ super().load_config()
+ self.add_extra_options = self.add_extra_options
+ self.sort_structural_files_all = False
+ self.structurals = ["directory"]
+
+
+def rougail_type(rougailconfig):
+ types = rougailconfig["types"]
+ if not types:
+ return {}, {}
+ convert = TypeRougailConvert(types)
+ convert.init()
+ convert.parse_directories()
+ return ({typ: to_dict_variable(convert.paths[typ]) for typ in convert.variables},
+ {typ: to_dict_family(typ, convert.paths, convert.parents, convert.families) for typ in convert.families},
+ )
+
+
+def to_dict_variable(obj, with_files=True):
+ if with_files:
+ keys = ['name', 'path']
+ else:
+ keys = ['name', 'path', 'xmlfiles']
+ return {key: value for key, value in dict(obj).items() if key not in keys and value is not None}
+
+
+def to_dict_family(family_name, paths, parents, families, root=True):
+ ret = to_dict_variable(paths[family_name], root)
+ for variable_path in parents[family_name]:
+ variable = paths[variable_path]
+ variable_name = variable.name
+ if variable_path in families:
+ if variable.type == "leadership":
+ raise DictConsistencyError(_("type is not compatible with leadership family"), variable.xmlfiles)
+ if variable.type == "dynamic":
+ raise DictConsistencyError(_("type is not compatible with dynamic family"), variable.xmlfiles)
+ if variable_name in ret:
+ ret["_" + variable_name] = ret.pop(variable_name)
+ ret[variable_name] = to_dict_family(variable_name, paths, parents, families, False)
+ else:
+ ret[variable_name] = to_dict_variable(variable, False)
+ return ret
diff --git a/tests/dictionaries/00_0no_variable/tiramisu/base.py b/tests/dictionaries/00_0no_variable/tiramisu/base.py
index be1234a12..d9e243d06 100644
--- a/tests/dictionaries/00_0no_variable/tiramisu/base.py
+++ b/tests/dictionaries/00_0no_variable/tiramisu/base.py
@@ -10,5 +10,5 @@ except:
ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_0no_variable_default_version/tiramisu/base.py b/tests/dictionaries/00_0no_variable_default_version/tiramisu/base.py
index be1234a12..d9e243d06 100644
--- a/tests/dictionaries/00_0no_variable_default_version/tiramisu/base.py
+++ b/tests/dictionaries/00_0no_variable_default_version/tiramisu/base.py
@@ -10,5 +10,5 @@ except:
ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_0no_variable_remove_version/tiramisu/base.py b/tests/dictionaries/00_0no_variable_remove_version/tiramisu/base.py
index be1234a12..d9e243d06 100644
--- a/tests/dictionaries/00_0no_variable_remove_version/tiramisu/base.py
+++ b/tests/dictionaries/00_0no_variable_remove_version/tiramisu/base.py
@@ -10,5 +10,5 @@ except:
ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_0version_underscore/tiramisu/base.py b/tests/dictionaries/00_0version_underscore/tiramisu/base.py
index 2cea10c3c..88836bfc8 100644
--- a/tests/dictionaries/00_0version_underscore/tiramisu/base.py
+++ b/tests/dictionaries/00_0version_underscore/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="version", doc="a variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_0version_underscore/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_1empty_variable/tiramisu/base.py b/tests/dictionaries/00_1empty_variable/tiramisu/base.py
index 501fc32da..6437de9b4 100644
--- a/tests/dictionaries/00_1empty_variable/tiramisu/base.py
+++ b/tests/dictionaries/00_1empty_variable/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="empty", doc="empty", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_1empty_variable/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_2default_calculated/tiramisu/base.py b/tests/dictionaries/00_2default_calculated/tiramisu/base.py
index 7beebfd15..7817668b4 100644
--- a/tests/dictionaries/00_2default_calculated/tiramisu/base.py
+++ b/tests/dictionaries/00_2default_calculated/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.var2'] = "{{ _.var1 }}\n"
option_2 = StrOption(name="var1", doc="a first variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/00_2default_calculated/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), '_.var1': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_2default_calculated_multi/tiramisu/base.py b/tests/dictionaries/00_2default_calculated_multi/tiramisu/base.py
index a2c643481..aeec1ec4e 100644
--- a/tests/dictionaries/00_2default_calculated_multi/tiramisu/base.py
+++ b/tests/dictionaries/00_2default_calculated_multi/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.var2'] = "{% for val in _.var1 %}\n{{ val }}\n{% endfor %}\n"
option_2 = StrOption(name="var1", doc="a first variable", multi=True, default=["no", "yes", "maybe"], default_multi="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_multi/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/00_2default_calculated_multi/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), '_.var1': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_multi/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_2default_calculated_params_permissive/tiramisu/base.py b/tests/dictionaries/00_2default_calculated_params_permissive/tiramisu/base.py
index 4210f8688..4d5e00c65 100644
--- a/tests/dictionaries/00_2default_calculated_params_permissive/tiramisu/base.py
+++ b/tests/dictionaries/00_2default_calculated_params_permissive/tiramisu/base.py
@@ -15,5 +15,5 @@ option_3 = StrOption(name="var1", doc="a first variable", multi=True, default=["
option_4 = StrOption(name="var2", doc="a first variable", multi=True, default_multi="a_value", properties=frozenset({"force_default_on_freeze", "frozen", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_params_permissive/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leadership", doc="leadership", children=[option_3, option_4], properties=frozenset({"hidden", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_params_permissive/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/00_2default_calculated_params_permissive/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), 'var1': ParamOption(option_3)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_params_permissive/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_2default_calculated_variable/tiramisu/base.py b/tests/dictionaries/00_2default_calculated_variable/tiramisu/base.py
index 4786a3ff8..52fef8bdf 100644
--- a/tests/dictionaries/00_2default_calculated_variable/tiramisu/base.py
+++ b/tests/dictionaries/00_2default_calculated_variable/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = DomainnameOption(name="var1", doc="a first variable", multi=True, type="domainname", allow_ip=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_variable/rougail/00-base.yml'], 'type': 'domainname'})
option_3 = DomainnameOption(name="var2", doc="a second variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_2)), kwargs={'__internal_multi': ParamValue(True)})), type="domainname", allow_ip=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_variable/rougail/00-base.yml'], 'type': 'domainname'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_2default_calculated_variable_description/tiramisu/base.py b/tests/dictionaries/00_2default_calculated_variable_description/tiramisu/base.py
index 3b3c648d3..d4ba70593 100644
--- a/tests/dictionaries/00_2default_calculated_variable_description/tiramisu/base.py
+++ b/tests/dictionaries/00_2default_calculated_variable_description/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a first variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_variable_description/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", default=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_variable_description/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_2default_calculated_variable_description_multi_line/tiramisu/base.py b/tests/dictionaries/00_2default_calculated_variable_description_multi_line/tiramisu/base.py
index 9226f3b84..bd1247006 100644
--- a/tests/dictionaries/00_2default_calculated_variable_description_multi_line/tiramisu/base.py
+++ b/tests/dictionaries/00_2default_calculated_variable_description_multi_line/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a first variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_variable_description_multi_line/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", default=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_variable_description_multi_line/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var3", doc="a new variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_variable_description_multi_line/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_2default_calculated_variable_transitive/tiramisu/base.py b/tests/dictionaries/00_2default_calculated_variable_transitive/tiramisu/base.py
index e051a894b..c3f50b0e7 100644
--- a/tests/dictionaries/00_2default_calculated_variable_transitive/tiramisu/base.py
+++ b/tests/dictionaries/00_2default_calculated_variable_transitive/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = DomainnameOption(name="var1", doc="a first variable", multi=True, type="domainname", allow_ip=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_variable_transitive/rougail/00-base.yml'], 'type': 'domainname'})
option_3 = DomainnameOption(name="var2", doc="a second variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_2)), kwargs={'__internal_multi': ParamValue(True)})), type="domainname", allow_ip=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_2default_calculated_variable_transitive/rougail/00-base.yml'], 'type': 'domainname'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_4load_subfolder/tiramisu/base.py b/tests/dictionaries/00_4load_subfolder/tiramisu/base.py
index ec066ba21..1fe95617b 100644
--- a/tests/dictionaries/00_4load_subfolder/tiramisu/base.py
+++ b/tests/dictionaries/00_4load_subfolder/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_4load_subfolder/rougail/99-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_4load_subfolder/rougail2/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_5load_notype/tiramisu/base.py b/tests/dictionaries/00_5load_notype/tiramisu/base.py
index 712cbc1a0..80447ad31 100644
--- a/tests/dictionaries/00_5load_notype/tiramisu/base.py
+++ b/tests/dictionaries/00_5load_notype/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="without_type", doc="a variable", default="non", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_5load_notype/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6boolean/tiramisu/base.py b/tests/dictionaries/00_6boolean/tiramisu/base.py
index d0467e9e1..6cf3fe3b0 100644
--- a/tests/dictionaries/00_6boolean/tiramisu/base.py
+++ b/tests/dictionaries/00_6boolean/tiramisu/base.py
@@ -16,5 +16,5 @@ option_4 = BoolOption(name="var3", doc="the third variable", default=True, prope
option_5 = BoolOption(name="var4", doc="the forth variable", default=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6boolean/rougail/00-base.yml'], 'type': 'boolean'})
option_6 = BoolOption(name="var5", doc="the fifth variable", default=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6boolean/rougail/00-base.yml'], 'type': 'boolean'})
option_7 = BoolOption(name="var6", doc="the sixth variable", default=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6boolean/rougail/00-base.yml'], 'type': 'boolean'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6boolean_no_mandatory/tiramisu/base.py b/tests/dictionaries/00_6boolean_no_mandatory/tiramisu/base.py
index fe918584d..5f456382f 100644
--- a/tests/dictionaries/00_6boolean_no_mandatory/tiramisu/base.py
+++ b/tests/dictionaries/00_6boolean_no_mandatory/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="variable", doc="a variable", default=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6boolean_no_mandatory/rougail/00-base.yml'], 'type': 'boolean'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6choice/tiramisu/base.py b/tests/dictionaries/00_6choice/tiramisu/base.py
index 9d58f9087..1f91f897b 100644
--- a/tests/dictionaries/00_6choice/tiramisu/base.py
+++ b/tests/dictionaries/00_6choice/tiramisu/base.py
@@ -16,5 +16,5 @@ option_4 = ChoiceOption(name="var3", doc="the third variable", values=("a", "b",
option_5 = ChoiceOption(name="var4", doc="the forth variable", values=(None, "b", "c"), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice/rougail/00-base.yml'], 'type': 'choice'})
option_6 = ChoiceOption(name="var5", doc="the fifth variable", values=("a", "b", "c"), default="a", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice/rougail/00-base.yml'], 'type': 'choice'})
option_7 = ChoiceOption(name="var6", doc="the sixth variable", values=(1, 2, 3), default=1, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6choice_calculation/tiramisu/base.py b/tests/dictionaries/00_6choice_calculation/tiramisu/base.py
index 7d86a301d..8184935d3 100644
--- a/tests/dictionaries/00_6choice_calculation/tiramisu/base.py
+++ b/tests/dictionaries/00_6choice_calculation/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['choices_rougail.var'] = "{% for n in trange(0, 10) %}\n{{ n }}\n{% endfor %}\n"
option_2 = ChoiceOption(name="var", doc="a variable", values=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("choices_rougail.var"), '__internal_type': ParamValue("integer"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/00_6choice_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("choices"), '__internal_variable': ParamValue("rougail.var")})), default=9, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_calculation/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6choice_link/tiramisu/base.py b/tests/dictionaries/00_6choice_link/tiramisu/base.py
index e9ff54e92..991fbbda3 100644
--- a/tests/dictionaries/00_6choice_link/tiramisu/base.py
+++ b/tests/dictionaries/00_6choice_link/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = ChoiceOption(name="var1", doc="the first variable", values=("a", "b", "c"), properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_link/rougail/00-base.yml'], 'type': 'choice'})
option_3 = ChoiceOption(name="var2", doc="the second variable", values=("a", "b", "c"), default=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_link/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6choice_variable/tiramisu/base.py b/tests/dictionaries/00_6choice_variable/tiramisu/base.py
index f8e3c713e..f3b2dc9f8 100644
--- a/tests/dictionaries/00_6choice_variable/tiramisu/base.py
+++ b/tests/dictionaries/00_6choice_variable/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a second variable", multi=True, default=["a", "b", "c"], default_multi="a", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_variable/rougail/00-base.yml'], 'type': 'string'})
option_3 = ChoiceOption(name="var2", doc="a first variable", values=Calculation(func['calc_value'], Params((ParamOption(option_2)))), default="a", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_variable/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6choice_variable_link/tiramisu/base.py b/tests/dictionaries/00_6choice_variable_link/tiramisu/base.py
index 1386a7dbc..96c4a6c7c 100644
--- a/tests/dictionaries/00_6choice_variable_link/tiramisu/base.py
+++ b/tests/dictionaries/00_6choice_variable_link/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a second variable", multi=True, default=["a", "b", "c"], default_multi="a", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_variable_link/rougail/00-base.yml'], 'type': 'string'})
option_3 = ChoiceOption(name="var2", doc="a first variable", values=Calculation(func['calc_value'], Params((ParamOption(option_2)))), default="a", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_variable_link/rougail/00-base.yml'], 'type': 'choice'})
option_4 = ChoiceOption(name="var3", doc="a third variable", values=Calculation(func['calc_value'], Params((ParamOption(option_2)))), default=Calculation(func['calc_value'], Params((ParamOption(option_3)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_variable_link/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6choice_variable_link2/tiramisu/base.py b/tests/dictionaries/00_6choice_variable_link2/tiramisu/base.py
index 19c5b4739..ea0bc9d49 100644
--- a/tests/dictionaries/00_6choice_variable_link2/tiramisu/base.py
+++ b/tests/dictionaries/00_6choice_variable_link2/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var1", doc="a second variable", multi=True, default=[
option_3 = ChoiceOption(name="var2", doc="a first variable", values=Calculation(func['calc_value'], Params((ParamOption(option_2)))), default="a", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_variable_link2/rougail/00-base.yml'], 'type': 'choice'})
option_5 = ChoiceOption(name="var3", doc="a third variable", values=Calculation(func['calc_value'], Params((ParamOption(option_2)))), default=Calculation(func['calc_value'], Params((ParamOption(option_3)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_variable_link2/rougail/00-base.yml'], 'type': 'choice'})
optiondescription_4 = OptionDescription(name="family", doc="family", children=[option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6choice_variable_link2/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6custom/tiramisu/base.py b/tests/dictionaries/00_6custom/tiramisu/base.py
index 2e651e511..0ee1a964c 100644
--- a/tests/dictionaries/00_6custom/tiramisu/base.py
+++ b/tests/dictionaries/00_6custom/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = CustomOption(name="custom1", doc="the first variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6custom/rougail/00-base.yml'], 'type': 'custom'})
option_3 = CustomOption(name="custom2", doc="the seconf variable", default="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6custom/rougail/00-base.yml'], 'type': 'custom'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6domainname/tiramisu/base.py b/tests/dictionaries/00_6domainname/tiramisu/base.py
index 396179ed1..606abc8bb 100644
--- a/tests/dictionaries/00_6domainname/tiramisu/base.py
+++ b/tests/dictionaries/00_6domainname/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = DomainnameOption(name="variable", doc="a domain name variable", default="my.domain.name", type="domainname", allow_ip=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6domainname/rougail/00-base.yml'], 'type': 'domainname'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6domainname_params/tiramisu/base.py b/tests/dictionaries/00_6domainname_params/tiramisu/base.py
index d1b1be643..41fdcd67f 100644
--- a/tests/dictionaries/00_6domainname_params/tiramisu/base.py
+++ b/tests/dictionaries/00_6domainname_params/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = DomainnameOption(name="variable", doc="a domain name variable", default="my.domain.name", type="domainname", allow_ip=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6domainname_params/rougail/00-base.yml'], 'type': 'domainname'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6float/tiramisu/base.py b/tests/dictionaries/00_6float/tiramisu/base.py
index 4fee61091..f37e53f75 100644
--- a/tests/dictionaries/00_6float/tiramisu/base.py
+++ b/tests/dictionaries/00_6float/tiramisu/base.py
@@ -16,5 +16,5 @@ option_4 = FloatOption(name="var3", doc="the third variable", default=0.0, prope
option_5 = FloatOption(name="var4", doc="the forth variable", default=10.1, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6float/rougail/00-base.yml'], 'type': 'float'})
option_6 = FloatOption(name="var5", doc="the fifth variable", default=10.1, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6float/rougail/00-base.yml'], 'type': 'float'})
option_7 = FloatOption(name="var6", doc="the sixth variable", default=10.1, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6float/rougail/00-base.yml'], 'type': 'float'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6integer/tiramisu/base.py b/tests/dictionaries/00_6integer/tiramisu/base.py
index b9a176355..23d59c1c5 100644
--- a/tests/dictionaries/00_6integer/tiramisu/base.py
+++ b/tests/dictionaries/00_6integer/tiramisu/base.py
@@ -16,5 +16,5 @@ option_4 = IntOption(name="var3", doc="the third variable", default=0, propertie
option_5 = IntOption(name="var4", doc="this forth variable", default=10, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6integer/rougail/00-base.yml'], 'type': 'integer'})
option_6 = IntOption(name="var5", doc="the fifth variable", default=10, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6integer/rougail/00-base.yml'], 'type': 'integer'})
option_7 = IntOption(name="var6", doc="the sixth variable", default=10, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6integer/rougail/00-base.yml'], 'type': 'integer'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6ip/tiramisu/base.py b/tests/dictionaries/00_6ip/tiramisu/base.py
index 99c970d35..19fb53905 100644
--- a/tests/dictionaries/00_6ip/tiramisu/base.py
+++ b/tests/dictionaries/00_6ip/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = IPOption(name="var1", doc="an IP", default="1.1.1.1", allow_reserved=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6ip/rougail/00-base.yml'], 'type': 'ip'})
option_3 = IPOption(name="var2", doc="an IP in CIDR format", default="1.1.1.1/24", allow_reserved=True, cidr=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6ip/rougail/00-base.yml'], 'type': 'ip', 'examples': ('192.168.0.128/25',)})
option_4 = IPOption(name="var3", doc="an IP in CIDR format with obsolete CIDR type", default="1.1.1.1/24", cidr=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6ip/rougail/00-base.yml'], 'type': 'cidr'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6network/tiramisu/base.py b/tests/dictionaries/00_6network/tiramisu/base.py
index d9f273c0f..ee62acf3e 100644
--- a/tests/dictionaries/00_6network/tiramisu/base.py
+++ b/tests/dictionaries/00_6network/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = NetworkOption(name="var1", doc="an network", default="1.1.1.0", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6network/rougail/00-base.yml'], 'type': 'network'})
option_3 = NetworkOption(name="var2", doc="an network in CIDR format", default="1.1.1.0/24", cidr=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6network/rougail/00-base.yml'], 'type': 'network'})
option_4 = NetworkOption(name="var3", doc="an network in CIDR format with obsolete CIDR type", default="1.1.1.0/24", cidr=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6network/rougail/00-base.yml'], 'type': 'network_cidr'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6number/tiramisu/base.py b/tests/dictionaries/00_6number/tiramisu/base.py
index 4dd8b7144..eacad00a8 100644
--- a/tests/dictionaries/00_6number/tiramisu/base.py
+++ b/tests/dictionaries/00_6number/tiramisu/base.py
@@ -16,5 +16,5 @@ option_4 = IntOption(name="var3", doc="the third variable", default=0, propertie
option_5 = IntOption(name="var4", doc="this forth variable", default=10, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6number/rougail/00-base.yml'], 'type': 'integer'})
option_6 = IntOption(name="var5", doc="the fifth variable", default=10, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6number/rougail/00-base.yml'], 'type': 'integer'})
option_7 = IntOption(name="var6", doc="the sixth variable", default=10, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6number/rougail/00-base.yml'], 'type': 'integer'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6port/tiramisu/base.py b/tests/dictionaries/00_6port/tiramisu/base.py
index d27ef2a39..8d8ce7e14 100644
--- a/tests/dictionaries/00_6port/tiramisu/base.py
+++ b/tests/dictionaries/00_6port/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = PortOption(name="variable1", doc="a port variable", allow_private=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6port/rougail/00-base.yml'], 'type': 'port'})
option_3 = PortOption(name="variable2", doc="a port variable with default value", default="8080", allow_private=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6port/rougail/00-base.yml'], 'type': 'port'})
option_4 = PortOption(name="variable3", doc="a port variable with integer default value", default="8080", allow_private=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6port/rougail/00-base.yml'], 'type': 'port'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6regexp/tiramisu/base.py b/tests/dictionaries/00_6regexp/tiramisu/base.py
index c92b02d55..542024f54 100644
--- a/tests/dictionaries/00_6regexp/tiramisu/base.py
+++ b/tests/dictionaries/00_6regexp/tiramisu/base.py
@@ -16,5 +16,5 @@ class Regexp_option_2(RegexpOption):
Regexp_option_2._regexp = re_compile(r"^#(?:[0-9a-f]{3}){1,2}$")
option_2 = Regexp_option_2(name="var", doc="a first variable", default="#a1a1a1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6regexp/rougail/00-base.yml'], 'type': 'regexp', 'test': ('#b1b1b1', '#b2b2b2')})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6regexp_link/tiramisu/base.py b/tests/dictionaries/00_6regexp_link/tiramisu/base.py
index b9a8a819d..0d44038f3 100644
--- a/tests/dictionaries/00_6regexp_link/tiramisu/base.py
+++ b/tests/dictionaries/00_6regexp_link/tiramisu/base.py
@@ -22,5 +22,5 @@ Regexp_option_3._regexp = re_compile(r"^#(?:[0-9a-f]{3}){1,2}$")
option_2 = Regexp_option_2(name="var1", doc="a first variable", default="#a1a1a1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6regexp_link/rougail/00-base.yml'], 'type': 'regexp', 'test': ('#b1b1b1', '#b2b2b2')})
option_3 = Regexp_option_3(name="var2", doc="a second variable", default=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6regexp_link/rougail/00-base.yml'], 'type': 'regexp', 'test': ('#b2b1b1', '#b3b2b2')})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6secret/tiramisu/base.py b/tests/dictionaries/00_6secret/tiramisu/base.py
index 8de3eb4de..ba3a984c1 100644
--- a/tests/dictionaries/00_6secret/tiramisu/base.py
+++ b/tests/dictionaries/00_6secret/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = PasswordOption(name="secret1", doc="the first variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6secret/rougail/00-base.yml'], 'type': 'secret'})
option_3 = PasswordOption(name="secret2", doc="the second variable", default="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6secret/rougail/00-base.yml'], 'type': 'secret'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6secret_param/tiramisu/base.py b/tests/dictionaries/00_6secret_param/tiramisu/base.py
index b97b6a16b..aa5ed64cf 100644
--- a/tests/dictionaries/00_6secret_param/tiramisu/base.py
+++ b/tests/dictionaries/00_6secret_param/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = PasswordOption(name="secret1", doc="the first variable", min_len=10, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6secret_param/rougail/00-base.yml'], 'type': 'secret'})
option_3 = PasswordOption(name="secret2", doc="the second variable", default="value", max_len=10, forbidden_char=['$', '^'], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6secret_param/rougail/00-base.yml'], 'type': 'secret'})
option_4 = PasswordOption(name="secret3", doc="the third variable", default="value", max_len=10, forbidden_char=['$'], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6secret_param/rougail/00-base.yml'], 'type': 'secret'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_6string/tiramisu/base.py b/tests/dictionaries/00_6string/tiramisu/base.py
index 90521ba7d..24f8cffd5 100644
--- a/tests/dictionaries/00_6string/tiramisu/base.py
+++ b/tests/dictionaries/00_6string/tiramisu/base.py
@@ -18,5 +18,5 @@ option_6 = StrOption(name="var5", doc="the fifth variable", default="value", pro
option_7 = StrOption(name="var6", doc="the sixth variable", default="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6string/rougail/00-base.yml'], 'type': 'string'})
option_8 = StrOption(name="var7", doc="the seventh variable", default="8080", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6string/rougail/00-base.yml'], 'type': 'string'})
option_9 = StrOption(name="var8", doc="the height variable", default="true", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_6string/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7, option_8, option_9], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7, option_8, option_9], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_7choice_quote/tiramisu/base.py b/tests/dictionaries/00_7choice_quote/tiramisu/base.py
index fd8c4a794..14d91e3ea 100644
--- a/tests/dictionaries/00_7choice_quote/tiramisu/base.py
+++ b/tests/dictionaries/00_7choice_quote/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = ChoiceOption(name="var", doc="A choice", values=("quote'", "quote\"", "quote\"'"), default="quote'", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7choice_quote/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_7help/tiramisu/base.py b/tests/dictionaries/00_7help/tiramisu/base.py
index 34aa64820..9e0218f49 100644
--- a/tests/dictionaries/00_7help/tiramisu/base.py
+++ b/tests/dictionaries/00_7help/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="the first variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7help/rougail/00-base.yml'], 'type': 'string', 'help': 'Multi line\n\nHelp\n\nWith useful information'})
option_3 = StrOption(name="var2", doc="the second variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7help/rougail/00-base.yml'], 'type': 'string', 'help': 'Multi line\nHelp\nWith useful information'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_7help_quote/tiramisu/base.py b/tests/dictionaries/00_7help_quote/tiramisu/base.py
index 0d04d476e..87b0820a9 100644
--- a/tests/dictionaries/00_7help_quote/tiramisu/base.py
+++ b/tests/dictionaries/00_7help_quote/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="the first variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7help_quote/rougail/00-base.yml'], 'type': 'string', 'help': "message with '"})
option_3 = StrOption(name="var2", doc="the second variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7help_quote/rougail/00-base.yml'], 'type': 'string', 'help': 'message with "'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_7help_sup/tiramisu/base.py b/tests/dictionaries/00_7help_sup/tiramisu/base.py
index 41b2e66f0..a7e9cf7da 100644
--- a/tests/dictionaries/00_7help_sup/tiramisu/base.py
+++ b/tests/dictionaries/00_7help_sup/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="the first ", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7help_sup/rougail/00-base.yml'], 'type': 'string', 'help': 'Multi line\n\n\n\nWith useful information'})
option_3 = StrOption(name="var2", doc="the second ", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7help_sup/rougail/00-base.yml'], 'type': 'string', 'help': 'Multi line\n\nWith useful information'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_7value_doublequote/tiramisu/base.py b/tests/dictionaries/00_7value_doublequote/tiramisu/base.py
index 8f527ae4a..bfea8ccac 100644
--- a/tests/dictionaries/00_7value_doublequote/tiramisu/base.py
+++ b/tests/dictionaries/00_7value_doublequote/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", default="quote\"", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7value_doublequote/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_7value_doublequote2/tiramisu/base.py b/tests/dictionaries/00_7value_doublequote2/tiramisu/base.py
index 17952724d..b03b97362 100644
--- a/tests/dictionaries/00_7value_doublequote2/tiramisu/base.py
+++ b/tests/dictionaries/00_7value_doublequote2/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", default="quote'\"", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7value_doublequote2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_7value_doublequote3/tiramisu/base.py b/tests/dictionaries/00_7value_doublequote3/tiramisu/base.py
index dc575ddee..026464851 100644
--- a/tests/dictionaries/00_7value_doublequote3/tiramisu/base.py
+++ b/tests/dictionaries/00_7value_doublequote3/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", default="quote\\\"\\'", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7value_doublequote3/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_7value_quote/tiramisu/base.py b/tests/dictionaries/00_7value_quote/tiramisu/base.py
index b9024c242..959556d9f 100644
--- a/tests/dictionaries/00_7value_quote/tiramisu/base.py
+++ b/tests/dictionaries/00_7value_quote/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", default="quote'", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_7value_quote/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_8calculation_information/tiramisu/base.py b/tests/dictionaries/00_8calculation_information/tiramisu/base.py
index a21e2b223..71cd52fbe 100644
--- a/tests/dictionaries/00_8calculation_information/tiramisu/base.py
+++ b/tests/dictionaries/00_8calculation_information/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.variable'] = "{{test_information }}\n"
option_2 = StrOption(name="variable", doc="a variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.variable"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/00_8calculation_information/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.variable"), 'test_information': ParamInformation("test_information", None)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_8calculation_information/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_8calculation_namespace/tiramisu/base.py b/tests/dictionaries/00_8calculation_namespace/tiramisu/base.py
index d8c394eca..e8d6537f5 100644
--- a/tests/dictionaries/00_8calculation_namespace/tiramisu/base.py
+++ b/tests/dictionaries/00_8calculation_namespace/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", default="Rougail", properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_8calculation_namespace/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_8calculation_param_namespace/tiramisu/base.py b/tests/dictionaries/00_8calculation_param_namespace/tiramisu/base.py
index 17e5fae37..eada2d48f 100644
--- a/tests/dictionaries/00_8calculation_param_namespace/tiramisu/base.py
+++ b/tests/dictionaries/00_8calculation_param_namespace/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.variable'] = "{{ namespace }}"
option_2 = StrOption(name="variable", doc="a variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.variable"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/00_8calculation_param_namespace/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.variable"), 'namespace': ParamValue("Rougail")})), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_8calculation_param_namespace/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_8test/tiramisu/base.py b/tests/dictionaries/00_8test/tiramisu/base.py
index f32972d47..7c6346966 100644
--- a/tests/dictionaries/00_8test/tiramisu/base.py
+++ b/tests/dictionaries/00_8test/tiramisu/base.py
@@ -16,5 +16,5 @@ option_4 = StrOption(name="var3", doc="the third variable", properties=frozenset
option_5 = StrOption(name="var4", doc="the forth variable", properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_8test/rougail/00-base.yml'], 'type': 'string', 'test': (None, 'test1', 'test2')})
option_6 = BoolOption(name="var5", doc="the fifth variable", default=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_8test/rougail/00-base.yml'], 'type': 'boolean', 'test': (False,)})
option_7 = StrOption(name="var6", doc="the sixth variable", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_8test/rougail/00-base.yml'], 'type': 'string', 'test': ('test1', 'test2')})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9choice_variable_multi/tiramisu/base.py b/tests/dictionaries/00_9choice_variable_multi/tiramisu/base.py
index 50f8ecbfa..5a37eb336 100644
--- a/tests/dictionaries/00_9choice_variable_multi/tiramisu/base.py
+++ b/tests/dictionaries/00_9choice_variable_multi/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = ChoiceOption(name="variable1", doc="a first variable", values=("val1", "val2"), multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9choice_variable_multi/rougail/00-base.yml'], 'type': 'choice'})
option_3 = ChoiceOption(name="variable2", doc="a second variable", values=("val1", "val2"), multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9choice_variable_multi/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9choice_variables/tiramisu/base.py b/tests/dictionaries/00_9choice_variables/tiramisu/base.py
index 38a696c5d..9de77b011 100644
--- a/tests/dictionaries/00_9choice_variables/tiramisu/base.py
+++ b/tests/dictionaries/00_9choice_variables/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="source_variable_1", doc="the first source variable", default="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9choice_variables/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="source_variable_2", doc="the second source variable", default="val2", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9choice_variables/rougail/00-base.yml'], 'type': 'string'})
option_4 = ChoiceOption(name="my_variable", doc="a variable", values=(Calculation(func['calc_value'], Params((ParamOption(option_2)))), Calculation(func['calc_value'], Params((ParamOption(option_3))))), default="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9choice_variables/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_calculation/tiramisu/base.py b/tests/dictionaries/00_9default_calculation/tiramisu/base.py
index c32a89078..fa494f165 100644
--- a/tests/dictionaries/00_9default_calculation/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_calculation/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.variable'] = "{{ param1 }}_{{ param2 }}_{{ param3 }}_{{ param4 }}\n"
option_2 = StrOption(name="variable", doc="a variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.variable"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/00_9default_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.variable"), 'param1': ParamValue("string"), 'param2': ParamValue(1), 'param3': ParamValue(True), 'param4': ParamValue(None)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_calculation_information/tiramisu/base.py b/tests/dictionaries/00_9default_calculation_information/tiramisu/base.py
index 7fcfcd798..3ff3da9c4 100644
--- a/tests/dictionaries/00_9default_calculation_information/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_calculation_information/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.var'] = "{{ information }}"
option_2 = StrOption(name="var", doc="a variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/00_9default_calculation_information/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var"), 'information': ParamSelfInformation("test_information", None)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_information/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_calculation_information_other_variable/tiramisu/base.py b/tests/dictionaries/00_9default_calculation_information_other_variable/tiramisu/base.py
index 7532f558e..c19b8ea08 100644
--- a/tests/dictionaries/00_9default_calculation_information_other_variable/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_calculation_information_other_variable/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.var2'] = "{{ information }}\n"
option_2 = StrOption(name="var1", doc="a first variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_information_other_variable/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/00_9default_calculation_information_other_variable/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), 'information': ParamInformation("test_information", None, option=option_2)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_information_other_variable/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_calculation_multi_optional/tiramisu/base.py b/tests/dictionaries/00_9default_calculation_multi_optional/tiramisu/base.py
index 68dcced12..4292a65ad 100644
--- a/tests/dictionaries/00_9default_calculation_multi_optional/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_calculation_multi_optional/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="my_variable", doc="my_variable", default="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_multi_optional/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="my_calculated_variable", doc="my_calculated_variable", multi=True, default=[Calculation(func['calc_value'], Params((ParamOption(option_2))))], default_multi=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_multi_optional/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_calculation_multi_optional2/tiramisu/base.py b/tests/dictionaries/00_9default_calculation_multi_optional2/tiramisu/base.py
index 90d8fb12c..f53a42cda 100644
--- a/tests/dictionaries/00_9default_calculation_multi_optional2/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_calculation_multi_optional2/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="my_variable", doc="my_variable", default="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_multi_optional2/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="my_calculated_variable", doc="my_calculated_variable", multi=True, default=[Calculation(func['calc_value'], Params((ParamOption(option_2))))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_multi_optional2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_calculation_multi_optional_default/tiramisu/base.py b/tests/dictionaries/00_9default_calculation_multi_optional_default/tiramisu/base.py
index 468730175..f767c8cd0 100644
--- a/tests/dictionaries/00_9default_calculation_multi_optional_default/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_calculation_multi_optional_default/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="my_variable", doc="my_variable", default="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_multi_optional_default/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="my_calculated_variable", doc="my_calculated_variable", multi=True, default=[Calculation(func['calc_value'], Params((ParamOption(option_2)))), "value"], default_multi=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_multi_optional_default/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_calculation_optional/tiramisu/base.py b/tests/dictionaries/00_9default_calculation_optional/tiramisu/base.py
index 8607aab7f..6a4fb6978 100644
--- a/tests/dictionaries/00_9default_calculation_optional/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_calculation_optional/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="my_calculated_variable", doc="my_calculated_variable", multi=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_optional/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_calculation_optional_exists/tiramisu/base.py b/tests/dictionaries/00_9default_calculation_optional_exists/tiramisu/base.py
index 75d057ed1..c712be481 100644
--- a/tests/dictionaries/00_9default_calculation_optional_exists/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_calculation_optional_exists/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="my_variable", doc="my_variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_optional_exists/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="my_calculated_variable", doc="my_calculated_variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_2)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_optional_exists/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_calculation_param_optional/tiramisu/base.py b/tests/dictionaries/00_9default_calculation_param_optional/tiramisu/base.py
index 81a9c96f6..d2bfe3fb4 100644
--- a/tests/dictionaries/00_9default_calculation_param_optional/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_calculation_param_optional/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.var1'] = "{% if var2 is defined %} {{ var2 }} {% elif var3 is defined %} {{ var3 }} {% elif var4 is defined %} {{ var4 }} {% else %} {{ _.var2 }} {% endif %} "
option_3 = StrOption(name="var2", doc="a second variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_param_optional/rougail/00-base.yml'], 'type': 'string'})
option_2 = StrOption(name="var1", doc="a first variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/00_9default_calculation_param_optional/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var1"), 'var2': ParamOption(option_3), '_.var2': ParamOption(option_3, notraisepropertyerror=True)})), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_calculation_param_optional/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_information_other_variable/tiramisu/base.py b/tests/dictionaries/00_9default_information_other_variable/tiramisu/base.py
index ea3d85c38..bf5e79750 100644
--- a/tests/dictionaries/00_9default_information_other_variable/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_information_other_variable/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a first variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_information_other_variable/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", default=Calculation(func['calc_value'], Params((ParamInformation("test_information", None, option=option_2)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_information_other_variable/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_information_other_variable2/tiramisu/base.py b/tests/dictionaries/00_9default_information_other_variable2/tiramisu/base.py
index d7c9d0a98..7eda71a16 100644
--- a/tests/dictionaries/00_9default_information_other_variable2/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_information_other_variable2/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a first variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_information_other_variable2/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", default=Calculation(func['calc_value'], Params((ParamInformation("test_information", None, option=option_2)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_information_other_variable2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_integer/tiramisu/base.py b/tests/dictionaries/00_9default_integer/tiramisu/base.py
index 987d8888e..ad96c085f 100644
--- a/tests/dictionaries/00_9default_integer/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_integer/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['choices_rougail.var'] = "{% for item in trange(0, 10) %}\n{{ item }}\n{%- endfor %}\n"
option_2 = ChoiceOption(name="var", doc="a variable", values=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("choices_rougail.var"), '__internal_type': ParamValue("integer"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/00_9default_integer/rougail/00-base.yml']), '__internal_attribute': ParamValue("choices"), '__internal_variable': ParamValue("rougail.var")})), default=9, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_integer/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9default_number/tiramisu/base.py b/tests/dictionaries/00_9default_number/tiramisu/base.py
index 408af538f..e09c60fdc 100644
--- a/tests/dictionaries/00_9default_number/tiramisu/base.py
+++ b/tests/dictionaries/00_9default_number/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['choices_rougail.var'] = "{% for item in trange(0, 10) %}\n{{ item }}\n{%- endfor %}\n"
option_2 = ChoiceOption(name="var", doc="a variable", values=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("choices_rougail.var"), '__internal_type': ParamValue("integer"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/00_9default_number/rougail/00-base.yml']), '__internal_attribute': ParamValue("choices"), '__internal_variable': ParamValue("rougail.var")})), default=9, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9default_number/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/00_9extra/tiramisu/base.py b/tests/dictionaries/00_9extra/tiramisu/base.py
index e07ce7690..223d39be0 100644
--- a/tests/dictionaries/00_9extra/tiramisu/base.py
+++ b/tests/dictionaries/00_9extra/tiramisu/base.py
@@ -12,7 +12,7 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_extra.variable'] = "no"
option_2 = StrOption(name="variable", doc="a variable", default="rougail", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9extra/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_4 = StrOption(name="variable", doc="a variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_extra.variable"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/00_9extra/extra/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("extra.variable")})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9extra/extra/00-base.yml'], 'type': 'string'})
-optiondescription_3 = OptionDescription(name="extra", doc="extra", group_type=groups.namespace, children=[option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_3 = OptionDescription(name="extra", doc="extra", group_type=groups.namespace, children=[option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/00_9extra_calculation/tiramisu/base.py b/tests/dictionaries/00_9extra_calculation/tiramisu/base.py
index 0442f0b56..d6f0db93a 100644
--- a/tests/dictionaries/00_9extra_calculation/tiramisu/base.py
+++ b/tests/dictionaries/00_9extra_calculation/tiramisu/base.py
@@ -13,9 +13,9 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_extra.variable2'] = "{{ rougail.variable }}\n"
dict_env['default_extra.variable3'] = "{{ variable }}\n"
option_2 = StrOption(name="variable", doc="a variable", default="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9extra_calculation/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_4 = StrOption(name="variable1", doc="a first variable", default=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9extra_calculation/extra/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="variable2", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_extra.variable2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/00_9extra_calculation/extra/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("extra.variable2"), 'rougail.variable': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9extra_calculation/extra/00-base.yml'], 'type': 'string'})
option_6 = StrOption(name="variable3", doc="a third variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_extra.variable3"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/00_9extra_calculation/extra/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("extra.variable3"), 'variable': ParamOption(option_2)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9extra_calculation/extra/00-base.yml'], 'type': 'string'})
-optiondescription_3 = OptionDescription(name="extra", doc="extra", group_type=groups.namespace, children=[option_4, option_5, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_3 = OptionDescription(name="extra", doc="extra", group_type=groups.namespace, children=[option_4, option_5, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/00_9extra_ouside/tiramisu/base.py b/tests/dictionaries/00_9extra_ouside/tiramisu/base.py
index 33dfd2d32..ff2c7ab04 100644
--- a/tests/dictionaries/00_9extra_ouside/tiramisu/base.py
+++ b/tests/dictionaries/00_9extra_ouside/tiramisu/base.py
@@ -12,6 +12,6 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_4 = StrOption(name="variable", doc="a variable", default="value in extra", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9extra_ouside/extra/00-base.yml'], 'type': 'string'})
option_2 = StrOption(name="variable", doc="a variable", default=Calculation(func['calc_value'], Params((ParamOption(option_4)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/00_9extra_ouside/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
-optiondescription_3 = OptionDescription(name="extra", doc="extra", group_type=groups.namespace, children=[option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
+optiondescription_3 = OptionDescription(name="extra", doc="extra", group_type=groups.namespace, children=[option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/01_6boolean_multi/tiramisu/base.py b/tests/dictionaries/01_6boolean_multi/tiramisu/base.py
index cb8518c9f..1ac941f56 100644
--- a/tests/dictionaries/01_6boolean_multi/tiramisu/base.py
+++ b/tests/dictionaries/01_6boolean_multi/tiramisu/base.py
@@ -18,5 +18,5 @@ option_6 = BoolOption(name="var5", doc="the fifth variable", multi=True, default
option_7 = BoolOption(name="var6", doc="the sixth variable", multi=True, default=[False], default_multi=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6boolean_multi/rougail/00-base.yml'], 'type': 'boolean'})
option_8 = BoolOption(name="var7", doc="the seventh variable", multi=True, default=[True], default_multi=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6boolean_multi/rougail/00-base.yml'], 'type': 'boolean'})
option_9 = BoolOption(name="var8", doc="the eighth variable", multi=True, default=[True], default_multi=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6boolean_multi/rougail/00-base.yml'], 'type': 'boolean'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7, option_8, option_9], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7, option_8, option_9], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_6custom_multi/tiramisu/base.py b/tests/dictionaries/01_6custom_multi/tiramisu/base.py
index 1b3e397a7..88c8f8b6c 100644
--- a/tests/dictionaries/01_6custom_multi/tiramisu/base.py
+++ b/tests/dictionaries/01_6custom_multi/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = CustomOption(name="custom1", doc="a first custom variable", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6custom_multi/rougail/00-base.yml'], 'type': 'custom'})
option_3 = CustomOption(name="custom2", doc="a second custom variable", multi=True, default=["value"], default_multi="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6custom_multi/rougail/00-base.yml'], 'type': 'custom'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_6float_multi/tiramisu/base.py b/tests/dictionaries/01_6float_multi/tiramisu/base.py
index c3bde3755..07369dc08 100644
--- a/tests/dictionaries/01_6float_multi/tiramisu/base.py
+++ b/tests/dictionaries/01_6float_multi/tiramisu/base.py
@@ -18,5 +18,5 @@ option_6 = FloatOption(name="var5", doc="the fifth variable", multi=True, defaul
option_7 = FloatOption(name="var6", doc="the sixth variable", multi=True, default=[10.1], default_multi=10.1, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6float_multi/rougail/00-base.yml'], 'type': 'float'})
option_8 = FloatOption(name="var7", doc="the seventh variable", multi=True, default=[0.0], default_multi=0.0, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6float_multi/rougail/00-base.yml'], 'type': 'float'})
option_9 = FloatOption(name="var8", doc="the eighth variable", multi=True, default=[0.0], default_multi=0.0, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6float_multi/rougail/00-base.yml'], 'type': 'float'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7, option_8, option_9], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7, option_8, option_9], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_6integer_multi/tiramisu/base.py b/tests/dictionaries/01_6integer_multi/tiramisu/base.py
index 480d00c82..40f366bc7 100644
--- a/tests/dictionaries/01_6integer_multi/tiramisu/base.py
+++ b/tests/dictionaries/01_6integer_multi/tiramisu/base.py
@@ -18,5 +18,5 @@ option_6 = IntOption(name="var5", doc="the fifth variable", multi=True, default=
option_7 = IntOption(name="var6", doc="the sixth variable", multi=True, default=[10], default_multi=10, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6integer_multi/rougail/00-base.yml'], 'type': 'integer'})
option_8 = IntOption(name="var7", doc="the seventh variable", multi=True, default=[0], default_multi=0, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6integer_multi/rougail/00-base.yml'], 'type': 'integer'})
option_9 = IntOption(name="var8", doc="the eighth variable", multi=True, default=[0], default_multi=0, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6integer_multi/rougail/00-base.yml'], 'type': 'integer'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7, option_8, option_9], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7, option_8, option_9], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_6integer_multi_mandatory/tiramisu/base.py b/tests/dictionaries/01_6integer_multi_mandatory/tiramisu/base.py
index bd7133501..0c2f76e05 100644
--- a/tests/dictionaries/01_6integer_multi_mandatory/tiramisu/base.py
+++ b/tests/dictionaries/01_6integer_multi_mandatory/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = IntOption(name="var", doc="the first variable", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6integer_multi_mandatory/rougail/00-base.yml'], 'type': 'integer'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_6string_empty/tiramisu/base.py b/tests/dictionaries/01_6string_empty/tiramisu/base.py
index 066dfae92..bad7f3675 100644
--- a/tests/dictionaries/01_6string_empty/tiramisu/base.py
+++ b/tests/dictionaries/01_6string_empty/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="the second variable", multi=True, default=["value", None], default_multi="value", properties=frozenset({"mandatory", "notempty", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6string_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_6string_multi/tiramisu/base.py b/tests/dictionaries/01_6string_multi/tiramisu/base.py
index d152c4b0d..f618f5edf 100644
--- a/tests/dictionaries/01_6string_multi/tiramisu/base.py
+++ b/tests/dictionaries/01_6string_multi/tiramisu/base.py
@@ -18,5 +18,5 @@ option_6 = StrOption(name="var5", doc="the fifth variable", multi=True, default=
option_7 = StrOption(name="var6", doc="the sixth variable", multi=True, default=["value"], default_multi="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6string_multi/rougail/00-base.yml'], 'type': 'string'})
option_8 = StrOption(name="var7", doc="the seventh variable", multi=True, default=["value"], default_multi="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6string_multi/rougail/00-base.yml'], 'type': 'string'})
option_9 = StrOption(name="var8", doc="the eighth variable", multi=True, default=["value"], default_multi="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6string_multi/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7, option_8, option_9], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6, option_7, option_8, option_9], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_6string_multi_length/tiramisu/base.py b/tests/dictionaries/01_6string_multi_length/tiramisu/base.py
index 84f834105..d0b894e79 100644
--- a/tests/dictionaries/01_6string_multi_length/tiramisu/base.py
+++ b/tests/dictionaries/01_6string_multi_length/tiramisu/base.py
@@ -15,5 +15,5 @@ dict_env['validators_rougail.var2'] = "{% if var | length < 1 %}a minimum of 1 v
dict_env['validators_rougail.var2_0'] = "{% if var | length > 4 %}a maximum of 4 values are needed, but there are {{ var | length }}{% endif %}"
option_2 = StrOption(name="var1", doc="the variable", multi=True, default=["val1", "val2", "val3"], default_multi="val1", validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/01_6string_multi_length/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.var1"), 'var': ParamSelfOption(whole=True), 'description': ParamValue(None)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6string_multi_length/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="the variable", multi=True, default=["val4", "val5"], default_multi="val4", validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/01_6string_multi_length/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.var2"), 'var': ParamSelfOption(whole=True), 'description': ParamValue(None)})), Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.var2_0"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/01_6string_multi_length/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.var2"), 'var': ParamSelfOption(whole=True), 'description': ParamValue(None)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_6string_multi_length/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_7value_multi_doublequote/tiramisu/base.py b/tests/dictionaries/01_7value_multi_doublequote/tiramisu/base.py
index fe7d4e4e4..723232866 100644
--- a/tests/dictionaries/01_7value_multi_doublequote/tiramisu/base.py
+++ b/tests/dictionaries/01_7value_multi_doublequote/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", multi=True, default=["quote\""], default_multi="quote\"", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_7value_multi_doublequote/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_7value_multi_doublequote2/tiramisu/base.py b/tests/dictionaries/01_7value_multi_doublequote2/tiramisu/base.py
index 625ff0b77..651d7c95f 100644
--- a/tests/dictionaries/01_7value_multi_doublequote2/tiramisu/base.py
+++ b/tests/dictionaries/01_7value_multi_doublequote2/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", multi=True, default=["quote'\""], default_multi="quote'\"", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_7value_multi_doublequote2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_7value_multi_quote/tiramisu/base.py b/tests/dictionaries/01_7value_multi_quote/tiramisu/base.py
index e96d13b5a..abaf6aa02 100644
--- a/tests/dictionaries/01_7value_multi_quote/tiramisu/base.py
+++ b/tests/dictionaries/01_7value_multi_quote/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", multi=True, default=["quote'"], default_multi="quote'", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_7value_multi_quote/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_8calculation_information_multi/tiramisu/base.py b/tests/dictionaries/01_8calculation_information_multi/tiramisu/base.py
index c7b77d0dd..972a0b5dc 100644
--- a/tests/dictionaries/01_8calculation_information_multi/tiramisu/base.py
+++ b/tests/dictionaries/01_8calculation_information_multi/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.variable'] = "{% for info in test_information %}\n{{ info }}\n{% endfor %}\n"
option_2 = StrOption(name="variable", doc="a variable", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.variable"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/01_8calculation_information_multi/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.variable"), 'test_information': ParamInformation("test_information_list", [])})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_8calculation_information_multi/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_9choice_variable_multi/tiramisu/base.py b/tests/dictionaries/01_9choice_variable_multi/tiramisu/base.py
index 922fb1ce2..f3faf27c4 100644
--- a/tests/dictionaries/01_9choice_variable_multi/tiramisu/base.py
+++ b/tests/dictionaries/01_9choice_variable_multi/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable1", doc="a first variable", multi=True, default=["a", "b", "c"], default_multi="a", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_9choice_variable_multi/rougail/00-base.yml'], 'type': 'string'})
option_3 = ChoiceOption(name="variable2", doc="a second variable", values=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/01_9choice_variable_multi/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/01_9choice_variable_optional/tiramisu/base.py b/tests/dictionaries/01_9choice_variable_optional/tiramisu/base.py
index 8772fec0c..f64660683 100644
--- a/tests/dictionaries/01_9choice_variable_optional/tiramisu/base.py
+++ b/tests/dictionaries/01_9choice_variable_optional/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = ChoiceOption(name="variable", doc="a variable", values=("a", "b", "c"), default="c", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/01_9choice_variable_optional/rougail/00-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/02_0tags/tiramisu/base.py b/tests/dictionaries/02_0tags/tiramisu/base.py
index 5b4fa7f9e..658f91a4b 100644
--- a/tests/dictionaries/02_0tags/tiramisu/base.py
+++ b/tests/dictionaries/02_0tags/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="the first variable", properties=frozenset({"basic", "mandatory", "one_tag"}), informations={'ymlfiles': ['../rougail-tests/structures/02_0tags/rougail/00-base.yml'], 'type': 'string', 'tags': ('one_tag',)})
option_3 = StrOption(name="var2", doc="the second variable", properties=frozenset({"basic", "mandatory", "one_tag", "second_tag"}), informations={'ymlfiles': ['../rougail-tests/structures/02_0tags/rougail/00-base.yml'], 'type': 'string', 'tags': ('one_tag', 'second_tag')})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_0type_param/tiramisu/base.py b/tests/dictionaries/04_0type_param/tiramisu/base.py
index 44f46045a..04cff1d9e 100644
--- a/tests/dictionaries/04_0type_param/tiramisu/base.py
+++ b/tests/dictionaries/04_0type_param/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = IntOption(name="int", doc="A limited number", default=10, min_number=0, max_number=100, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_0type_param/rougail/00-base.yml'], 'type': 'integer'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_0type_param_integer/tiramisu/base.py b/tests/dictionaries/04_0type_param_integer/tiramisu/base.py
index 24f866b27..fb84eaeaa 100644
--- a/tests/dictionaries/04_0type_param_integer/tiramisu/base.py
+++ b/tests/dictionaries/04_0type_param_integer/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = IntOption(name="int", doc="A limited integer", default=10, min_integer=0, max_integer=100, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_0type_param_integer/rougail/00-base.yml'], 'type': 'integer'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_1auto_save/tiramisu/base.py b/tests/dictionaries/04_1auto_save/tiramisu/base.py
index 64dfbeed0..0c4068d48 100644
--- a/tests/dictionaries/04_1auto_save/tiramisu/base.py
+++ b/tests/dictionaries/04_1auto_save/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="an auto save variable", default="no", properties=frozenset({"basic", "force_store_value", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1auto_save/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_1auto_save_and_calculated/tiramisu/base.py b/tests/dictionaries/04_1auto_save_and_calculated/tiramisu/base.py
index 6450b0984..9c6e4e4b8 100644
--- a/tests/dictionaries/04_1auto_save_and_calculated/tiramisu/base.py
+++ b/tests/dictionaries/04_1auto_save_and_calculated/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a first variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1auto_save_and_calculated/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", default=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"basic", "force_store_value", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1auto_save_and_calculated/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_1auto_save_and_calculated_hidden/tiramisu/base.py b/tests/dictionaries/04_1auto_save_and_calculated_hidden/tiramisu/base.py
index 834408e52..ad7d0227e 100644
--- a/tests/dictionaries/04_1auto_save_and_calculated_hidden/tiramisu/base.py
+++ b/tests/dictionaries/04_1auto_save_and_calculated_hidden/tiramisu/base.py
@@ -15,5 +15,5 @@ dict_env['hidden_rougail.var2'] = "{% if _.var1 == \"yes\" %}\n_.var1 is yes\n{%
dict_env['frozen_rougail.var2'] = "{% if _.var1 == \"yes\" %}\n_.var1 is yes\n{% endif %}\n"
option_2 = StrOption(name="var1", doc="a first variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1auto_save_and_calculated_hidden/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_1auto_save_and_calculated_hidden/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2")})), properties=frozenset({"basic", "force_store_value", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("only if the variable var1 has value \"yes\"")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_1auto_save_and_calculated_hidden/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.var2"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.var1': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("only if the variable var1 has value \"yes\"")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_1auto_save_and_calculated_hidden/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.var2"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.var1': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_1auto_save_and_calculated_hidden/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_1auto_save_and_hidden/tiramisu/base.py b/tests/dictionaries/04_1auto_save_and_hidden/tiramisu/base.py
index c0358c39b..15cfd5b4f 100644
--- a/tests/dictionaries/04_1auto_save_and_hidden/tiramisu/base.py
+++ b/tests/dictionaries/04_1auto_save_and_hidden/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="autosave variable", default="yes", properties=frozenset({"basic", "force_store_value", "frozen", "hidden"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1auto_save_and_hidden/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_1default_calculation_hidden/tiramisu/base.py b/tests/dictionaries/04_1default_calculation_hidden/tiramisu/base.py
index 286be9ef0..36814ee96 100644
--- a/tests/dictionaries/04_1default_calculation_hidden/tiramisu/base.py
+++ b/tests/dictionaries/04_1default_calculation_hidden/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['default_rougail.var3'] = "{% if _.var1 == 'value' or _.var2 == 'blah'
option_2 = StrOption(name="var1", doc="a first variable", default="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue("value"), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var3", doc="a third variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var3"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_1default_calculation_hidden/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var3"), '_.var2': ParamOption(option_3, notraisepropertyerror=True), '_.var1': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_1default_calculation_hidden_2/tiramisu/base.py b/tests/dictionaries/04_1default_calculation_hidden_2/tiramisu/base.py
index 9e1ee0eff..144539319 100644
--- a/tests/dictionaries/04_1default_calculation_hidden_2/tiramisu/base.py
+++ b/tests/dictionaries/04_1default_calculation_hidden_2/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['default_rougail.var3'] = "{% if _.var2 is propertyerror %}\nvalue\n{%
option_2 = StrOption(name="var1", doc="a first variable", default="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_2/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue("value"), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_2/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var3", doc="a third variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var3"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_1default_calculation_hidden_2/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var3"), '_.var2': ParamOption(option_3, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_1default_calculation_hidden_3/tiramisu/base.py b/tests/dictionaries/04_1default_calculation_hidden_3/tiramisu/base.py
index 3e387eadf..af62bbad8 100644
--- a/tests/dictionaries/04_1default_calculation_hidden_3/tiramisu/base.py
+++ b/tests/dictionaries/04_1default_calculation_hidden_3/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['default_rougail.var3'] = "{% if _.var1 == 'value' or _.var2 == 'blah'
option_2 = StrOption(name="var1", doc="a first variable", default="value", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_3/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue("value"), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_3/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var3", doc="a third variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var3"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_1default_calculation_hidden_3/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var3"), '_.var2': ParamOption(option_3, notraisepropertyerror=True), '_.var1': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_3/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_1default_calculation_hidden_4/tiramisu/base.py b/tests/dictionaries/04_1default_calculation_hidden_4/tiramisu/base.py
index c077c6d59..3d96daedf 100644
--- a/tests/dictionaries/04_1default_calculation_hidden_4/tiramisu/base.py
+++ b/tests/dictionaries/04_1default_calculation_hidden_4/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['default_rougail.var3'] = "{% if _.var1 == 'value' or _.var2 == 'blah'
option_2 = StrOption(name="var1", doc="a first variable", default="value", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_4/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue("value"), 'inverse': ParamValue(True)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_4/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var3", doc="a third variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var3"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_1default_calculation_hidden_4/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var3"), '_.var2': ParamOption(option_3, notraisepropertyerror=True), '_.var1': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_4/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_1default_calculation_hidden_5/tiramisu/base.py b/tests/dictionaries/04_1default_calculation_hidden_5/tiramisu/base.py
index e29130e6d..b54c3a78f 100644
--- a/tests/dictionaries/04_1default_calculation_hidden_5/tiramisu/base.py
+++ b/tests/dictionaries/04_1default_calculation_hidden_5/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a first variable", default="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_5/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", default=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_5/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var3", doc="a third variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_3), 'prop': ParamValue("disabled"), 'when': ParamValue("value"), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_5/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_1default_calculation_hidden_6/tiramisu/base.py b/tests/dictionaries/04_1default_calculation_hidden_6/tiramisu/base.py
index 0bc69c65e..40cb782fe 100644
--- a/tests/dictionaries/04_1default_calculation_hidden_6/tiramisu/base.py
+++ b/tests/dictionaries/04_1default_calculation_hidden_6/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a first variable", default="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_6/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", default=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_6/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var3", doc="a third variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_3), 'prop': ParamValue("disabled"), 'when': ParamValue("value"), 'inverse': ParamValue(True)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_1default_calculation_hidden_6/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation/tiramisu/base.py
index 8e595db8c..d419b9008 100644
--- a/tests/dictionaries/04_5disabled_calculation/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation/tiramisu/base.py
@@ -15,5 +15,5 @@ dict_env['disabled_rougail.variable2'] = "{% if _.condition == \"yes\" %}\ncondi
option_2 = StrOption(name="condition", doc="a conditional variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="variable1", doc="a first variable", properties=frozenset({"basic", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if condition is egal to \"yes\"")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.variable1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.variable1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="variable2", doc="a second variable", properties=frozenset({"basic", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if condition is egal to \"yes\"")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.variable2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.variable2"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_boolean/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_boolean/tiramisu/base.py
index 6f5c911da..9515aa437 100644
--- a/tests/dictionaries/04_5disabled_calculation_boolean/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_boolean/tiramisu/base.py
@@ -15,5 +15,5 @@ dict_env['disabled_rougail.variable2'] = "{{ _.condition != \"yes\" }}"
option_2 = StrOption(name="condition", doc="a conditional variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_boolean/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="variable1", doc="a first variable", properties=frozenset({"basic", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if condition is egal to \"yes\"")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.variable1"), '__internal_type': ParamValue("boolean"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_boolean/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.variable1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_boolean/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="variable2", doc="a seconde variable", properties=frozenset({"basic", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if condition is not egal to \"yes\"")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.variable2"), '__internal_type': ParamValue("boolean"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_boolean/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.variable2"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_boolean/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_default/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_default/tiramisu/base.py
index 85e211eaf..c2bb39ea4 100644
--- a/tests/dictionaries/04_5disabled_calculation_default/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_default/tiramisu/base.py
@@ -17,5 +17,5 @@ dict_env['disabled_rougail.var2'] = "{% if rougail.condition == \"yes\" %}\ncond
option_2 = StrOption(name="condition", doc="a condition", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_default/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var1", doc="a first variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_default/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var1"), '_.condition': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_default/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_default/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var2", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_default/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_default/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.var2"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_default/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_multi/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_multi/tiramisu/base.py
index 842f9fd2f..c641c1fbe 100644
--- a/tests/dictionaries/04_5disabled_calculation_multi/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_multi/tiramisu/base.py
@@ -15,5 +15,5 @@ dict_env['disabled_rougail.variable2'] = "{% if _.condition == \"yes\" %}\ncondi
option_2 = StrOption(name="condition", doc="a conditional variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_multi/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="variable1", doc="a first variable", multi=True, properties=frozenset({"basic", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if condition is egal to \"yes\"")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.variable1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_multi/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.variable1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_multi/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="variable2", doc="a second variable", multi=True, properties=frozenset({"basic", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if condition is egal to \"yes\"")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.variable2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_multi/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.variable2"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_multi/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_optional/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_optional/tiramisu/base.py
index 0069232a8..2d3e89cf3 100644
--- a/tests/dictionaries/04_5disabled_calculation_optional/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_optional/tiramisu/base.py
@@ -17,5 +17,5 @@ dict_env['frozen_rougail.var2'] = "{% if condition is not defined %}\ncondition
option_2 = StrOption(name="condition", doc="a condition", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_optional/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var1", doc="a first variable", properties=frozenset({"force_default_on_freeze", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("calculation from an unknown variable")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_optional/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("calculation from an unknown variable")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_optional/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_optional/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var2", doc="a second variable", properties=frozenset({"force_default_on_freeze", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("calculation from an condition variable")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_optional/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.var2"), 'condition': ParamOption(option_2), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("calculation from an condition variable")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5disabled_calculation_optional/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.var2"), 'condition': ParamOption(option_2), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_optional/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_optional_default/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_optional_default/tiramisu/base.py
index 23a1c8d5b..dbe2cdac8 100644
--- a/tests/dictionaries/04_5disabled_calculation_optional_default/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_optional_default/tiramisu/base.py
@@ -15,5 +15,5 @@ option_3 = StrOption(name="var1", doc="a first variable", properties=frozenset({
option_4 = StrOption(name="var2", doc="a first variable", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_optional_default/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="var3", doc="a second variable", properties=frozenset({"force_default_on_freeze", "standard", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("hidden"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property']), Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("frozen"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_optional_default/rougail/00-base.yml'], 'type': 'string'})
option_6 = StrOption(name="var4", doc="a forth variable", properties=frozenset({"force_default_on_freeze", "standard", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("hidden"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property']), Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("frozen"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_optional_default/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4, option_5, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable/tiramisu/base.py
index 9cc4613ab..e5958d67d 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="condition", doc="a condition", default=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable10/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable10/tiramisu/base.py
index 008aacf1f..cc8cfe97e 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable10/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable10/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="condition", doc="a condition", default=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable10/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable10/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable2/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable2/tiramisu/base.py
index db54beae8..b20371fb1 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable2/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable2/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="condition", doc="a condition", default=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable2/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable3/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable3/tiramisu/base.py
index bf9a4fe7e..5d3333ca9 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable3/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable3/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="condition", doc="a condition", default="yes", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable3/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue("yes"), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable3/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable4/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable4/tiramisu/base.py
index 8d44f0d93..ea4311568 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable4/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable4/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="condition", doc="a condition", default="yes", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable4/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue("yes"), 'inverse': ParamValue(True)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable4/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable5/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable5/tiramisu/base.py
index ebb202118..6dc53b157 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable5/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable5/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="condition", doc="a condition", default=False, properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable5/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable5/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable6/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable6/tiramisu/base.py
index 8ac7984f4..984d8cd8f 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable6/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable6/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="condition", doc="a condition", default=False, properties=frozenset({"disabled", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable6/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2, notraisepropertyerror=True), 'prop': ParamValue("disabled"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable6/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable7/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable7/tiramisu/base.py
index 3ab0ed26e..4ca17554e 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable7/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable7/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="condition", doc="a condition", default=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable7/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable7/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable8/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable8/tiramisu/base.py
index 18b353701..fc0ac3557 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable8/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable8/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="condition", doc="a condition", default=True, properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable8/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("disabled"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable8/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable9/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable9/tiramisu/base.py
index 276eaede1..fa7c56019 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable9/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable9/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="condition", doc="a condition", default=True, properties=frozenset({"disabled", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable9/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2, notraisepropertyerror=True), 'prop': ParamValue("disabled"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable9/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5disabled_calculation_variable_multi/tiramisu/base.py b/tests/dictionaries/04_5disabled_calculation_variable_multi/tiramisu/base.py
index d915fc78b..3352917e4 100644
--- a/tests/dictionaries/04_5disabled_calculation_variable_multi/tiramisu/base.py
+++ b/tests/dictionaries/04_5disabled_calculation_variable_multi/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="condition", doc="a condition", default=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable_multi/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = StrOption(name="variable", doc="a variable", multi=True, properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), '__internal_multi': ParamValue(True), 'prop': ParamValue("disabled"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5disabled_calculation_variable_multi/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5hidden_calculation/tiramisu/base.py b/tests/dictionaries/04_5hidden_calculation/tiramisu/base.py
index 4a3c67ca8..3ddf41014 100644
--- a/tests/dictionaries/04_5hidden_calculation/tiramisu/base.py
+++ b/tests/dictionaries/04_5hidden_calculation/tiramisu/base.py
@@ -17,5 +17,5 @@ dict_env['frozen_rougail.var2'] = "{% if rougail.condition == \"yes\" %}\ncondit
option_2 = StrOption(name="condition", doc="the condition", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5hidden_calculation/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var1", doc="a first variable", default="no", properties=frozenset({"force_default_on_freeze", "mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5hidden_calculation/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var2", doc="a second variable", default="no", properties=frozenset({"force_default_on_freeze", "mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.var2"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.var2"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5hidden_calculation/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5hidden_calculation2/tiramisu/base.py b/tests/dictionaries/04_5hidden_calculation2/tiramisu/base.py
index d4463de1d..4456cc81e 100644
--- a/tests/dictionaries/04_5hidden_calculation2/tiramisu/base.py
+++ b/tests/dictionaries/04_5hidden_calculation2/tiramisu/base.py
@@ -19,5 +19,5 @@ dict_env['frozen_rougail.var2'] = "{% if rougail.condition != \"yes\" %}\ncondit
option_2 = StrOption(name="condition", doc="a condition", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5hidden_calculation2/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var1", doc="a first variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation2/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var1"), '_.condition': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"force_default_on_freeze", "mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation2/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation2/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5hidden_calculation2/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var2", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation2/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"force_default_on_freeze", "mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation2/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.var2"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation2/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.var2"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5hidden_calculation2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5hidden_calculation_default_calculation/tiramisu/base.py b/tests/dictionaries/04_5hidden_calculation_default_calculation/tiramisu/base.py
index 162351b6d..ec0f46b86 100644
--- a/tests/dictionaries/04_5hidden_calculation_default_calculation/tiramisu/base.py
+++ b/tests/dictionaries/04_5hidden_calculation_default_calculation/tiramisu/base.py
@@ -19,5 +19,5 @@ dict_env['frozen_rougail.var2'] = "{% if rougail.condition == \"yes\" %}\ncondit
option_2 = StrOption(name="condition", doc="a condition", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5hidden_calculation_default_calculation/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var1", doc="a first variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation_default_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var1"), '_.condition': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"force_default_on_freeze", "mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation_default_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation_default_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5hidden_calculation_default_calculation/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var2", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation_default_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"force_default_on_freeze", "mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation_default_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.var2"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5hidden_calculation_default_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.var2"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/04_5hidden_calculation_default_calculation/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5validators/tiramisu/base.py b/tests/dictionaries/04_5validators/tiramisu/base.py
index 2615fd5de..397b9df6f 100644
--- a/tests/dictionaries/04_5validators/tiramisu/base.py
+++ b/tests/dictionaries/04_5validators/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['validators_rougail.int'] = "{% if _.int > 100 %}\nvalue is too high\n{% endif %}\n"
option_2 = IntOption(name="int", doc="An integer", validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.int"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5validators/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.int"), 'description': ParamValue(None), '_.int': ParamSelfOption(whole=False)}))], properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators/rougail/00-base.yml'], 'type': 'integer'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5validators_differ/tiramisu/base.py b/tests/dictionaries/04_5validators_differ/tiramisu/base.py
index ebef18894..0a67d6037 100644
--- a/tests/dictionaries/04_5validators_differ/tiramisu/base.py
+++ b/tests/dictionaries/04_5validators_differ/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['validators_rougail.var1'] = "{% if _.var1 == _.var2 %}\nvar1 must be different than var2\n{% endif %}\n"
option_3 = StrOption(name="var2", doc="A second variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_differ/rougail/00-base.yml'], 'type': 'string'})
option_2 = StrOption(name="var1", doc="a first variable", default="oui", validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5validators_differ/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.var1"), 'description': ParamValue(None), '_.var2': ParamOption(option_3, notraisepropertyerror=True), '_.var1': ParamSelfOption(whole=False)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_differ/rougail/00-base.yml'], 'type': 'string', 'test': ('another_value',)})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5validators_multi/tiramisu/base.py b/tests/dictionaries/04_5validators_multi/tiramisu/base.py
index 251365850..7ae75ed89 100644
--- a/tests/dictionaries/04_5validators_multi/tiramisu/base.py
+++ b/tests/dictionaries/04_5validators_multi/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['validators_rougail.var1'] = "{% if _.var1 | length > 9 %}\nlength must be less than 10\n{% endif %}\n"
option_2 = StrOption(name="var1", doc="a second variable", multi=True, default=["no", "yes"], default_multi="no", validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5validators_multi/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.var1"), 'description': ParamValue(None), '_.var1': ParamSelfOption(whole=False)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_multi/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5validators_multi2/tiramisu/base.py b/tests/dictionaries/04_5validators_multi2/tiramisu/base.py
index 459d43e95..4bf81c769 100644
--- a/tests/dictionaries/04_5validators_multi2/tiramisu/base.py
+++ b/tests/dictionaries/04_5validators_multi2/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['validators_rougail.var1'] = "{% if values | length > 2 %}\nlength must be less than 3\n{% endif %}\n"
option_2 = StrOption(name="var1", doc="a second variable", multi=True, default=["no", "yes"], default_multi="no", validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5validators_multi2/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.var1"), 'values': ParamSelfOption(whole=True), 'description': ParamValue(None)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_multi2/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5validators_multi3/tiramisu/base.py b/tests/dictionaries/04_5validators_multi3/tiramisu/base.py
index a6cee79d0..1ab3dea40 100644
--- a/tests/dictionaries/04_5validators_multi3/tiramisu/base.py
+++ b/tests/dictionaries/04_5validators_multi3/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['validators_rougail.var1'] = "{% if _.var1 != index %}\n value != than index\n{% endif %}"
option_2 = IntOption(name="var1", doc="a second variable", multi=True, default=[0, 1, 2], default_multi=0, validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5validators_multi3/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.var1"), 'index': ParamIndex(), 'description': ParamValue(None), '_.var1': ParamSelfOption(whole=False)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_multi3/rougail/00-base.yml'], 'type': 'integer', 'test': (0,)})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5validators_warnings/tiramisu/base.py b/tests/dictionaries/04_5validators_warnings/tiramisu/base.py
index f2e482973..6ecb46650 100644
--- a/tests/dictionaries/04_5validators_warnings/tiramisu/base.py
+++ b/tests/dictionaries/04_5validators_warnings/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['validators_rougail.int'] = "{% if _.int > 100 %}\n value is too high\n{% endif %}"
option_2 = IntOption(name="int", doc="An integer", default=1000, validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.int"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5validators_warnings/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.int"), 'description': ParamValue(None), '_.int': ParamSelfOption(whole=False)}), warnings_only=True)], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_warnings/rougail/00-base.yml'], 'type': 'integer'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/04_5validators_warnings_all/tiramisu/base.py b/tests/dictionaries/04_5validators_warnings_all/tiramisu/base.py
index dae9ab34b..5e8160ef6 100644
--- a/tests/dictionaries/04_5validators_warnings_all/tiramisu/base.py
+++ b/tests/dictionaries/04_5validators_warnings_all/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = IntOption(name="int", doc="An integer", default=1000, warnings_only=True, min_integer=10, max_integer=100, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_warnings_all/rougail/00-base.yml'], 'type': 'integer'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/05_0multi_not_uniq/tiramisu/base.py b/tests/dictionaries/05_0multi_not_uniq/tiramisu/base.py
index 28fd19918..bdea7f190 100644
--- a/tests/dictionaries/05_0multi_not_uniq/tiramisu/base.py
+++ b/tests/dictionaries/05_0multi_not_uniq/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a variable", multi=True, default=["non"], default_multi="non", properties=frozenset({"mandatory", "notunique", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/05_0multi_not_uniq/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/05_0multi_uniq/tiramisu/base.py b/tests/dictionaries/05_0multi_uniq/tiramisu/base.py
index ff49909e3..080e70396 100644
--- a/tests/dictionaries/05_0multi_uniq/tiramisu/base.py
+++ b/tests/dictionaries/05_0multi_uniq/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", multi=True, default=["non"], default_multi="non", properties=frozenset({"mandatory", "standard", "unique"}), informations={'ymlfiles': ['../rougail-tests/structures/05_0multi_uniq/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/12_1auto_save_expert/tiramisu/base.py b/tests/dictionaries/12_1auto_save_expert/tiramisu/base.py
index 0b46c6f2d..8e572ef62 100644
--- a/tests/dictionaries/12_1auto_save_expert/tiramisu/base.py
+++ b/tests/dictionaries/12_1auto_save_expert/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="a variable", default="no", properties=frozenset({"advanced", "force_store_value", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/12_1auto_save_expert/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"advanced"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"advanced"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_0redefine_description/tiramisu/base.py b/tests/dictionaries/16_0redefine_description/tiramisu/base.py
index ab1dfee33..e28d9bcf7 100644
--- a/tests/dictionaries/16_0redefine_description/tiramisu/base.py
+++ b/tests/dictionaries/16_0redefine_description/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="Redefined", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_0redefine_description/rougail/00-base.yml', '../rougail-tests/structures/16_0redefine_description/rougail/01-redefine.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_2family_redefine_calculation/tiramisu/base.py b/tests/dictionaries/16_2family_redefine_calculation/tiramisu/base.py
index 05131c0f1..4f81555b2 100644
--- a/tests/dictionaries/16_2family_redefine_calculation/tiramisu/base.py
+++ b/tests/dictionaries/16_2family_redefine_calculation/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['disabled_rougail.family'] = "true\n"
option_3 = StrOption(name="var1", doc="var1", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_2family_redefine_calculation/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = OptionDescription(name="family", doc="family", children=[option_3], properties=frozenset({"basic", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue(None)), kwargs={'__internal_jinja': ParamValue("disabled_rougail.family"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/16_2family_redefine_calculation/rougail/01-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.family"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/16_2family_redefine_calculation/rougail/00-base.yml', '../rougail-tests/structures/16_2family_redefine_calculation/rougail/01-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_2family_redefine_disabled/tiramisu/base.py b/tests/dictionaries/16_2family_redefine_disabled/tiramisu/base.py
index c50210b69..015a96c97 100644
--- a/tests/dictionaries/16_2family_redefine_disabled/tiramisu/base.py
+++ b/tests/dictionaries/16_2family_redefine_disabled/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var1", doc="var1", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_2family_redefine_disabled/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = OptionDescription(name="family", doc="family", children=[option_3], properties=frozenset({"basic", "disabled"}), informations={'ymlfiles': ['../rougail-tests/structures/16_2family_redefine_disabled/rougail/00-base.yml', '../rougail-tests/structures/16_2family_redefine_disabled/rougail/01-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_3family_empty_at_ends/tiramisu/base.py b/tests/dictionaries/16_3family_empty_at_ends/tiramisu/base.py
index 53ff62d98..56903a003 100644
--- a/tests/dictionaries/16_3family_empty_at_ends/tiramisu/base.py
+++ b/tests/dictionaries/16_3family_empty_at_ends/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var1", doc="var1", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_3family_empty_at_ends/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = OptionDescription(name="family", doc="family", children=[option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/16_3family_empty_at_ends/rougail/00-base.yml', '../rougail-tests/structures/16_3family_empty_at_ends/rougail/01-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5exists_nonexists/tiramisu/base.py b/tests/dictionaries/16_5exists_nonexists/tiramisu/base.py
index b92e5f8d9..477f57126 100644
--- a/tests/dictionaries/16_5exists_nonexists/tiramisu/base.py
+++ b/tests/dictionaries/16_5exists_nonexists/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5exists_nonexists/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a new variable", default="yes", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5exists_nonexists/rougail/01-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5exists_redefine/tiramisu/base.py b/tests/dictionaries/16_5exists_redefine/tiramisu/base.py
index 13af78988..30e364ae1 100644
--- a/tests/dictionaries/16_5exists_redefine/tiramisu/base.py
+++ b/tests/dictionaries/16_5exists_redefine/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a first variable", default="yes", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5exists_redefine/rougail/00-base.yml', '../rougail-tests/structures/16_5exists_redefine/rougail/01-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5redefine_calculation/tiramisu/base.py b/tests/dictionaries/16_5redefine_calculation/tiramisu/base.py
index 4d6358a40..6d9c04d17 100644
--- a/tests/dictionaries/16_5redefine_calculation/tiramisu/base.py
+++ b/tests/dictionaries/16_5redefine_calculation/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.variable'] = "yes"
option_2 = StrOption(name="variable", doc="a variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.variable"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/16_5redefine_calculation/rougail/01-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.variable")})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_calculation/rougail/00-base.yml', '../rougail-tests/structures/16_5redefine_calculation/rougail/01-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5redefine_choice/tiramisu/base.py b/tests/dictionaries/16_5redefine_choice/tiramisu/base.py
index 477aee248..7560d8a26 100644
--- a/tests/dictionaries/16_5redefine_choice/tiramisu/base.py
+++ b/tests/dictionaries/16_5redefine_choice/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = ChoiceOption(name="variable", doc="a variable", values=("a", "b"), properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_choice/rougail/00-base.yml', '../rougail-tests/structures/16_5redefine_choice/rougail/01-redefine.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5redefine_default/tiramisu/base.py b/tests/dictionaries/16_5redefine_default/tiramisu/base.py
index 8d5d69a2e..280e3d287 100644
--- a/tests/dictionaries/16_5redefine_default/tiramisu/base.py
+++ b/tests/dictionaries/16_5redefine_default/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", default="yes", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_default/rougail/00-base.yml', '../rougail-tests/structures/16_5redefine_default/rougail/01-redefine.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5redefine_default_calculation/tiramisu/base.py b/tests/dictionaries/16_5redefine_default_calculation/tiramisu/base.py
index b76284f58..fdb7092a9 100644
--- a/tests/dictionaries/16_5redefine_default_calculation/tiramisu/base.py
+++ b/tests/dictionaries/16_5redefine_default_calculation/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_default_calculation/rougail/00-base.yml', '../rougail-tests/structures/16_5redefine_default_calculation/rougail/01-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5redefine_family/tiramisu/base.py b/tests/dictionaries/16_5redefine_family/tiramisu/base.py
index d4da88b06..d84626a12 100644
--- a/tests/dictionaries/16_5redefine_family/tiramisu/base.py
+++ b/tests/dictionaries/16_5redefine_family/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_family/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = OptionDescription(name="family", doc="new description", children=[option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_family/rougail/00-base.yml', '../rougail-tests/structures/16_5redefine_family/rougail/01-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5redefine_help/tiramisu/base.py b/tests/dictionaries/16_5redefine_help/tiramisu/base.py
index 9e299488b..6130fd0cc 100644
--- a/tests/dictionaries/16_5redefine_help/tiramisu/base.py
+++ b/tests/dictionaries/16_5redefine_help/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="variable", doc="redefine help", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_help/rougail/00-base.yml', '../rougail-tests/structures/16_5redefine_help/rougail/01-base.yml'], 'type': 'string', 'help': 'redefine help ok'})
optiondescription_2 = OptionDescription(name="family", doc="a family", children=[option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_help/rougail/00-base.yml', '../rougail-tests/structures/16_5redefine_help/rougail/01-base.yml'], 'help': 'redefine help family ok'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5redefine_hidden/tiramisu/base.py b/tests/dictionaries/16_5redefine_hidden/tiramisu/base.py
index b2c0c3341..508b043f8 100644
--- a/tests/dictionaries/16_5redefine_hidden/tiramisu/base.py
+++ b/tests/dictionaries/16_5redefine_hidden/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", default="no", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_hidden/rougail/00-base.yml', '../rougail-tests/structures/16_5redefine_hidden/rougail/01-redefine.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5redefine_multi/tiramisu/base.py b/tests/dictionaries/16_5redefine_multi/tiramisu/base.py
index 627fab9e4..2d62e22fd 100644
--- a/tests/dictionaries/16_5redefine_multi/tiramisu/base.py
+++ b/tests/dictionaries/16_5redefine_multi/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="variable", doc="a variable", multi=True, default=["non"], default_multi="non", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_multi/rougail/00-base.yml', '../rougail-tests/structures/16_5redefine_multi/rougail/01-redefine.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5redefine_remove_disable_calculation/tiramisu/base.py b/tests/dictionaries/16_5redefine_remove_disable_calculation/tiramisu/base.py
index e6474ea82..366bfea9b 100644
--- a/tests/dictionaries/16_5redefine_remove_disable_calculation/tiramisu/base.py
+++ b/tests/dictionaries/16_5redefine_remove_disable_calculation/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="condition", doc="a condition", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_remove_disable_calculation/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5redefine_remove_disable_calculation/rougail/00-base.yml', '../rougail-tests/structures/16_5redefine_remove_disable_calculation/rougail/01-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_5test_redefine/tiramisu/base.py b/tests/dictionaries/16_5test_redefine/tiramisu/base.py
index 0136cde3b..f56c7932a 100644
--- a/tests/dictionaries/16_5test_redefine/tiramisu/base.py
+++ b/tests/dictionaries/16_5test_redefine/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var1", doc="a first variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5test_redefine/rougail/00-base.yml', '../rougail-tests/structures/16_5test_redefine/rougail/10-base.yml'], 'type': 'string', 'test': ('test1',)})
option_3 = StrOption(name="var2", doc="a second variable", default="non", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5test_redefine/rougail/00-base.yml', '../rougail-tests/structures/16_5test_redefine/rougail/10-base.yml'], 'type': 'string', 'test': ('test1',)})
option_4 = StrOption(name="var3", doc="a third variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_5test_redefine/rougail/00-base.yml', '../rougail-tests/structures/16_5test_redefine/rougail/10-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_6choice_redefine/tiramisu/base.py b/tests/dictionaries/16_6choice_redefine/tiramisu/base.py
index 9ee0daac3..c2c9590e1 100644
--- a/tests/dictionaries/16_6choice_redefine/tiramisu/base.py
+++ b/tests/dictionaries/16_6choice_redefine/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = ChoiceOption(name="var", doc="A choice", values=("a", "c"), default="c", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/16_6choice_redefine/rougail/00-base.yml', '../rougail-tests/structures/16_6choice_redefine/rougail/01-base.yml'], 'type': 'choice'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_6exists_family/tiramisu/base.py b/tests/dictionaries/16_6exists_family/tiramisu/base.py
index be1234a12..d9e243d06 100644
--- a/tests/dictionaries/16_6exists_family/tiramisu/base.py
+++ b/tests/dictionaries/16_6exists_family/tiramisu/base.py
@@ -10,5 +10,5 @@ except:
ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16_6exists_redefine_family/tiramisu/base.py b/tests/dictionaries/16_6exists_redefine_family/tiramisu/base.py
index 8d674fffe..1041b435b 100644
--- a/tests/dictionaries/16_6exists_redefine_family/tiramisu/base.py
+++ b/tests/dictionaries/16_6exists_redefine_family/tiramisu/base.py
@@ -14,5 +14,5 @@ option_3 = StrOption(name="variable1", doc="a variable", properties=frozenset({"
optiondescription_2 = OptionDescription(name="family1", doc="new description", children=[option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/16_6exists_redefine_family/rougail/00-base.yml', '../rougail-tests/structures/16_6exists_redefine_family/rougail/01-base.yml']})
option_5 = StrOption(name="variable2", doc="a second variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16_6exists_redefine_family/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = OptionDescription(name="family2", doc="a second family", children=[option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/16_6exists_redefine_family/rougail/00-base.yml', '../rougail-tests/structures/16_6exists_redefine_family/rougail/01-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, optiondescription_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, optiondescription_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/16exists_exists/tiramisu/base.py b/tests/dictionaries/16exists_exists/tiramisu/base.py
index 34aca70dc..01d58bcec 100644
--- a/tests/dictionaries/16exists_exists/tiramisu/base.py
+++ b/tests/dictionaries/16exists_exists/tiramisu/base.py
@@ -11,5 +11,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="Description", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/16exists_exists/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/17_5redefine_leadership/tiramisu/base.py b/tests/dictionaries/17_5redefine_leadership/tiramisu/base.py
index dc2534690..076302664 100644
--- a/tests/dictionaries/17_5redefine_leadership/tiramisu/base.py
+++ b/tests/dictionaries/17_5redefine_leadership/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/17_5redefine_leadership/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="follower", doc="a follower", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/17_5redefine_leadership/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4], properties=frozenset({"hidden", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/17_5redefine_leadership/rougail/00-base.yml', '../rougail-tests/structures/17_5redefine_leadership/rougail/01-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_0empty_family/tiramisu/base.py b/tests/dictionaries/20_0empty_family/tiramisu/base.py
index be1234a12..d9e243d06 100644
--- a/tests/dictionaries/20_0empty_family/tiramisu/base.py
+++ b/tests/dictionaries/20_0empty_family/tiramisu/base.py
@@ -10,5 +10,5 @@ except:
ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_0family_append/tiramisu/base.py b/tests/dictionaries/20_0family_append/tiramisu/base.py
index 9d20c2ea5..ee257bb86 100644
--- a/tests/dictionaries/20_0family_append/tiramisu/base.py
+++ b/tests/dictionaries/20_0family_append/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var1", doc="The first variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0family_append/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var2", doc="The second variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0family_append/rougail/01-base.yml'], 'type': 'string'})
optiondescription_2 = OptionDescription(name="family", doc="A family", children=[option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0family_append/rougail/00-base.yml', '../rougail-tests/structures/20_0family_append/rougail/01-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_0family_underscore/tiramisu/base.py b/tests/dictionaries/20_0family_underscore/tiramisu/base.py
index b08200c9c..64ae4ee3c 100644
--- a/tests/dictionaries/20_0family_underscore/tiramisu/base.py
+++ b/tests/dictionaries/20_0family_underscore/tiramisu/base.py
@@ -23,5 +23,5 @@ optiondescription_11 = OptionDescription(name="hidden", doc="an hidden family",
option_14 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"force_default_on_freeze", "frozen", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0family_underscore/rougail/00-base.yml'], 'type': 'string'})
optiondescription_13 = OptionDescription(name="disabled", doc="an disabled family", children=[option_14], properties=frozenset({"disabled", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0family_underscore/rougail/00-base.yml']})
optiondescription_2 = OptionDescription(name="my_family", doc="This is a great family", children=[optiondescription_3, optiondescription_5, optiondescription_7, optiondescription_9, optiondescription_11, optiondescription_13], properties=frozenset({"disabled", "hidden", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0family_underscore/rougail/00-base.yml'], 'help': 'This is a great family'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_0multi_family/tiramisu/base.py b/tests/dictionaries/20_0multi_family/tiramisu/base.py
index 8c8a6920c..b072904b1 100644
--- a/tests/dictionaries/20_0multi_family/tiramisu/base.py
+++ b/tests/dictionaries/20_0multi_family/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_4 = StrOption(name="variable", doc="a variable", properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = OptionDescription(name="subfamily", doc="a sub family", children=[option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family/rougail/00-base.yml']})
optiondescription_2 = OptionDescription(name="family", doc="a family", children=[optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_0multi_family_basic/tiramisu/base.py b/tests/dictionaries/20_0multi_family_basic/tiramisu/base.py
index 4e7939049..c691a5658 100644
--- a/tests/dictionaries/20_0multi_family_basic/tiramisu/base.py
+++ b/tests/dictionaries/20_0multi_family_basic/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_4 = StrOption(name="variable", doc="a variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family_basic/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = OptionDescription(name="subfamily", doc="a sub family", children=[option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family_basic/rougail/00-base.yml']})
optiondescription_2 = OptionDescription(name="family", doc="a family", children=[optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family_basic/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_0multi_family_expert/tiramisu/base.py b/tests/dictionaries/20_0multi_family_expert/tiramisu/base.py
index d43ad33ee..bae277020 100644
--- a/tests/dictionaries/20_0multi_family_expert/tiramisu/base.py
+++ b/tests/dictionaries/20_0multi_family_expert/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_4 = StrOption(name="variable", doc="a variable", properties=frozenset({"advanced"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family_expert/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = OptionDescription(name="subfamily", doc="a sub family", children=[option_4], properties=frozenset({"advanced"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family_expert/rougail/00-base.yml']})
optiondescription_2 = OptionDescription(name="family", doc="a family", children=[optiondescription_3], properties=frozenset({"advanced"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family_expert/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"advanced"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"advanced"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_0multi_family_order/tiramisu/base.py b/tests/dictionaries/20_0multi_family_order/tiramisu/base.py
index 52fabb77c..a48a5f69e 100644
--- a/tests/dictionaries/20_0multi_family_order/tiramisu/base.py
+++ b/tests/dictionaries/20_0multi_family_order/tiramisu/base.py
@@ -16,5 +16,5 @@ option_6 = StrOption(name="variable", doc="a variable", properties=frozenset({"b
optiondescription_5 = OptionDescription(name="subfamily", doc="a sub family", children=[option_6], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family_order/rougail/00-base.yml']})
option_7 = StrOption(name="variable2", doc="a second variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family_order/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = OptionDescription(name="family", doc="a family", children=[option_4, optiondescription_5, option_7], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0multi_family_order/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_0validators_differ_redefine/tiramisu/base.py b/tests/dictionaries/20_0validators_differ_redefine/tiramisu/base.py
index f2d2da77d..b118b90be 100644
--- a/tests/dictionaries/20_0validators_differ_redefine/tiramisu/base.py
+++ b/tests/dictionaries/20_0validators_differ_redefine/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['validators_rougail.var3'] = "{% if _.var3 == _.var2 %}\nvar3 must be d
option_2 = StrOption(name="var1", doc="a first variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0validators_differ_redefine/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var2", doc="a second variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0validators_differ_redefine/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var3", doc="a third variable", default="yes", validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.var3"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/20_0validators_differ_redefine/rougail/01-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.var3"), 'description': ParamValue(None), '_.var3': ParamSelfOption(whole=False), '_.var2': ParamOption(option_3, notraisepropertyerror=True)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_0validators_differ_redefine/rougail/00-base.yml', '../rougail-tests/structures/20_0validators_differ_redefine/rougail/01-base.yml'], 'type': 'string', 'test': ('yes',)})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_1empty_subfamily/tiramisu/base.py b/tests/dictionaries/20_1empty_subfamily/tiramisu/base.py
index be1234a12..d9e243d06 100644
--- a/tests/dictionaries/20_1empty_subfamily/tiramisu/base.py
+++ b/tests/dictionaries/20_1empty_subfamily/tiramisu/base.py
@@ -10,5 +10,5 @@ except:
ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_2family_looks_like_dynamic/tiramisu/base.py b/tests/dictionaries/20_2family_looks_like_dynamic/tiramisu/base.py
index 19c8553d1..b38a0dac8 100644
--- a/tests/dictionaries/20_2family_looks_like_dynamic/tiramisu/base.py
+++ b/tests/dictionaries/20_2family_looks_like_dynamic/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="dynamic", doc="dynamic", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_2family_looks_like_dynamic/rougail/00-base.yml'], 'type': 'string'})
option_4 = BoolOption(name="var", doc="a variable", default=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_2family_looks_like_dynamic/rougail/00-base.yml'], 'type': 'boolean'})
optiondescription_2 = OptionDescription(name="my_family", doc="my_family", children=[option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_2family_looks_like_dynamic/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_2family_looks_like_variable/tiramisu/base.py b/tests/dictionaries/20_2family_looks_like_variable/tiramisu/base.py
index c0ad2348a..5f0641c16 100644
--- a/tests/dictionaries/20_2family_looks_like_variable/tiramisu/base.py
+++ b/tests/dictionaries/20_2family_looks_like_variable/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = BoolOption(name="default", doc="default", default=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_2family_looks_like_variable/rougail/00-base.yml'], 'type': 'boolean'})
optiondescription_2 = OptionDescription(name="my_family", doc="my_family", children=[option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_2family_looks_like_variable/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/20_9default_information_parent/tiramisu/base.py b/tests/dictionaries/20_9default_information_parent/tiramisu/base.py
index 3adee1562..f8c65d85f 100644
--- a/tests/dictionaries/20_9default_information_parent/tiramisu/base.py
+++ b/tests/dictionaries/20_9default_information_parent/tiramisu/base.py
@@ -15,5 +15,5 @@ information_0 = ParamInformation("test_information", None)
option_4 = StrOption(name="var2", doc="a second variable", default=Calculation(func['calc_value'], Params((information_0))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/20_9default_information_parent/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = OptionDescription(name="family", doc="family", children=[option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/20_9default_information_parent/rougail/00-base.yml']})
information_0.set_option(optiondescription_2)
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/24_0family_hidden_condition/tiramisu/base.py b/tests/dictionaries/24_0family_hidden_condition/tiramisu/base.py
index 3b91f1470..51b8b14af 100644
--- a/tests/dictionaries/24_0family_hidden_condition/tiramisu/base.py
+++ b/tests/dictionaries/24_0family_hidden_condition/tiramisu/base.py
@@ -15,5 +15,5 @@ dict_env['hidden_rougail.family'] = "{% if rougail.condition == \"yes\" %}\ncond
option_2 = StrOption(name="condition", doc="the variable use has condition", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var1", doc="a variable", properties=frozenset({"basic", "force_default_on_freeze", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.family.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_condition/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.family.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = OptionDescription(name="family", doc="possibly hidden family", children=[option_4], properties=frozenset({"basic", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.family"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_condition/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.family"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/24_0family_hidden_condition_boolean/tiramisu/base.py b/tests/dictionaries/24_0family_hidden_condition_boolean/tiramisu/base.py
index e095aa0b7..c01585557 100644
--- a/tests/dictionaries/24_0family_hidden_condition_boolean/tiramisu/base.py
+++ b/tests/dictionaries/24_0family_hidden_condition_boolean/tiramisu/base.py
@@ -15,5 +15,5 @@ dict_env['hidden_rougail.family'] = "{% if not rougail.condition %}\ncondition i
option_2 = BoolOption(name="condition", doc="a conditional variable", default=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_boolean/rougail/00-base.yml'], 'type': 'boolean'})
option_4 = StrOption(name="variable", doc="a variable", properties=frozenset({"force_default_on_freeze", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if not condition")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.family.variable"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_condition_boolean/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.family.variable"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_boolean/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = OptionDescription(name="family", doc="a family", children=[option_4], properties=frozenset({"standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if not condition")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.family"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_condition_boolean/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.family"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_boolean/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/24_0family_hidden_condition_sub_family/tiramisu/base.py b/tests/dictionaries/24_0family_hidden_condition_sub_family/tiramisu/base.py
index a23f91937..eb4049f02 100644
--- a/tests/dictionaries/24_0family_hidden_condition_sub_family/tiramisu/base.py
+++ b/tests/dictionaries/24_0family_hidden_condition_sub_family/tiramisu/base.py
@@ -16,5 +16,5 @@ option_2 = StrOption(name="condition", doc="the variable use has condition", def
option_5 = StrOption(name="var1", doc="a variable", properties=frozenset({"basic", "force_default_on_freeze", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.family.subfamily.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_condition_sub_family/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.family.subfamily.var1"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_sub_family/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = OptionDescription(name="subfamily", doc="subfamily", children=[option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_sub_family/rougail/00-base.yml']})
optiondescription_3 = OptionDescription(name="family", doc="possibly hidden family", children=[optiondescription_4], properties=frozenset({"basic", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.family"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_condition_sub_family/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.family"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_sub_family/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/24_0family_hidden_condition_variable_sub_family/tiramisu/base.py b/tests/dictionaries/24_0family_hidden_condition_variable_sub_family/tiramisu/base.py
index 8af1fd27d..017968e0b 100644
--- a/tests/dictionaries/24_0family_hidden_condition_variable_sub_family/tiramisu/base.py
+++ b/tests/dictionaries/24_0family_hidden_condition_variable_sub_family/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = BoolOption(name="condition", doc="the variable use has condition", de
option_5 = StrOption(name="var1", doc="a variable", properties=frozenset({"force_default_on_freeze", "standard", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("frozen"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_variable_sub_family/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = OptionDescription(name="subfamily", doc="a subfamily", children=[option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_variable_sub_family/rougail/00-base.yml']})
optiondescription_3 = OptionDescription(name="family", doc="possibly hidden family", children=[optiondescription_4], properties=frozenset({"standard", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("hidden"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_variable_sub_family/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/24_0family_hidden_condition_with_variable/tiramisu/base.py b/tests/dictionaries/24_0family_hidden_condition_with_variable/tiramisu/base.py
index 8380782c9..aa56b356c 100644
--- a/tests/dictionaries/24_0family_hidden_condition_with_variable/tiramisu/base.py
+++ b/tests/dictionaries/24_0family_hidden_condition_with_variable/tiramisu/base.py
@@ -18,5 +18,5 @@ option_2 = BoolOption(name="condition1", doc="a first conditional variable", def
option_3 = BoolOption(name="condition2", doc="a second conditional variable", default=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_with_variable/rougail/00-base.yml'], 'type': 'boolean'})
option_5 = StrOption(name="variable", doc="a variable", properties=frozenset({"force_default_on_freeze", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition2 is false")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.family.variable"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_condition_with_variable/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.family.variable"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition2': ParamOption(option_3, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition1 is false")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.family.variable"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_condition_with_variable/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.family.variable"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition1': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help']), Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition2 is false")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.family.variable_0"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_condition_with_variable/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.family.variable"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition2': ParamOption(option_3, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_with_variable/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = OptionDescription(name="family", doc="a family", children=[option_5], properties=frozenset({"standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition1 is false")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.family"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_condition_with_variable/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.family"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition1': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_condition_with_variable/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/24_0family_hidden_param_condition_sub_family/tiramisu/base.py b/tests/dictionaries/24_0family_hidden_param_condition_sub_family/tiramisu/base.py
index 34932b952..9101d680d 100644
--- a/tests/dictionaries/24_0family_hidden_param_condition_sub_family/tiramisu/base.py
+++ b/tests/dictionaries/24_0family_hidden_param_condition_sub_family/tiramisu/base.py
@@ -16,5 +16,5 @@ option_2 = StrOption(name="condition", doc="the variable use has condition", def
option_5 = StrOption(name="var1", doc="a variable", properties=frozenset({"basic", "force_default_on_freeze", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.family.sub_family.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_param_condition_sub_family/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.family.sub_family.var1"), 'condition': ParamOption(option_2), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_param_condition_sub_family/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = OptionDescription(name="sub_family", doc="a subfamily", children=[option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_param_condition_sub_family/rougail/00-base.yml']})
optiondescription_3 = OptionDescription(name="family", doc="possibly hidden family", children=[optiondescription_4], properties=frozenset({"basic", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.family"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_hidden_param_condition_sub_family/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.family"), 'condition': ParamOption(option_2), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_hidden_param_condition_sub_family/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/24_0family_mandatory_condition/tiramisu/base.py b/tests/dictionaries/24_0family_mandatory_condition/tiramisu/base.py
index 5b411cff1..10edb228e 100644
--- a/tests/dictionaries/24_0family_mandatory_condition/tiramisu/base.py
+++ b/tests/dictionaries/24_0family_mandatory_condition/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['mandatory_rougail.var'] = "{% if _.condition == \"yes\" %}\ncondition is yes\n{% endif %}\n"
option_2 = StrOption(name="condition", doc="a condition", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_mandatory_condition/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var", doc="a variable", properties=frozenset({"standard", Calculation(func['jinja_to_property'], Params((ParamValue("mandatory"), ParamValue("only if rougail.condition has the value \"yes\"")), kwargs={'__internal_jinja': ParamValue("mandatory_rougail.var"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_0family_mandatory_condition/rougail/00-base.yml']), '__internal_attribute': ParamValue("mandatory"), '__internal_variable': ParamValue("rougail.var"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_mandatory_condition/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/24_0family_mandatory_condition_variable/tiramisu/base.py b/tests/dictionaries/24_0family_mandatory_condition_variable/tiramisu/base.py
index 3d8c60f9c..ddd1f281a 100644
--- a/tests/dictionaries/24_0family_mandatory_condition_variable/tiramisu/base.py
+++ b/tests/dictionaries/24_0family_mandatory_condition_variable/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = BoolOption(name="condition", doc="a condition", default=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_mandatory_condition_variable/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = StrOption(name="var", doc="a variable", properties=frozenset({"standard", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_2), 'prop': ParamValue("mandatory"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_0family_mandatory_condition_variable/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/24_7validators_variable_optional/tiramisu/base.py b/tests/dictionaries/24_7validators_variable_optional/tiramisu/base.py
index 74146f872..bb84ae3f3 100644
--- a/tests/dictionaries/24_7validators_variable_optional/tiramisu/base.py
+++ b/tests/dictionaries/24_7validators_variable_optional/tiramisu/base.py
@@ -15,5 +15,5 @@ dict_env['validators_rougail.general.int_0'] = "{% if int3 is defined and _.int
option_4 = IntOption(name="int2", doc="a second integer", default=1, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/24_7validators_variable_optional/rougail/00-base.yml'], 'type': 'integer'})
option_3 = IntOption(name="int", doc="a first integer", validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.general.int"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_7validators_variable_optional/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.general.int"), 'int2': ParamOption(option_4), 'description': ParamValue(None), '_.int': ParamSelfOption(whole=False)})), Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.general.int_0"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/24_7validators_variable_optional/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.general.int"), 'description': ParamValue(None), '_.int': ParamSelfOption(whole=False)}))], properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/24_7validators_variable_optional/rougail/00-base.yml'], 'type': 'integer', 'test': (5,)})
optiondescription_2 = OptionDescription(name="general", doc="a family", children=[option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/24_7validators_variable_optional/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/24_family_disabled_var_hidden/tiramisu/base.py b/tests/dictionaries/24_family_disabled_var_hidden/tiramisu/base.py
index a1c58c471..395a10711 100644
--- a/tests/dictionaries/24_family_disabled_var_hidden/tiramisu/base.py
+++ b/tests/dictionaries/24_family_disabled_var_hidden/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = BoolOption(name="var1", doc="A description", default=True, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/24_family_disabled_var_hidden/rougail/00-base.yml'], 'type': 'boolean'})
option_4 = StrOption(name="var2", doc="A description", properties=frozenset({"basic", "force_default_on_freeze", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_3), 'prop': ParamValue("hidden"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property']), Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_3), 'prop': ParamValue("frozen"), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/24_family_disabled_var_hidden/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = OptionDescription(name="family", doc="family", children=[option_3, option_4], properties=frozenset({"basic", "disabled"}), informations={'ymlfiles': ['../rougail-tests/structures/24_family_disabled_var_hidden/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_0leadership/tiramisu/base.py b/tests/dictionaries/40_0leadership/tiramisu/base.py
index c6afd7d7a..c819dbbb4 100644
--- a/tests/dictionaries/40_0leadership/tiramisu/base.py
+++ b/tests/dictionaries/40_0leadership/tiramisu/base.py
@@ -14,5 +14,5 @@ option_3 = StrOption(name="leader", doc="a leader", multi=True, properties=froze
option_4 = StrOption(name="follower1", doc="a follower", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower2", doc="an other follower", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_0leadership_diff_name/tiramisu/base.py b/tests/dictionaries/40_0leadership_diff_name/tiramisu/base.py
index cf318cbbd..e1becef1a 100644
--- a/tests/dictionaries/40_0leadership_diff_name/tiramisu/base.py
+++ b/tests/dictionaries/40_0leadership_diff_name/tiramisu/base.py
@@ -14,5 +14,5 @@ option_3 = StrOption(name="leader", doc="a leader", multi=True, properties=froze
option_4 = StrOption(name="follower1", doc="a follower", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_diff_name/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower2", doc="an other follower", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_diff_name/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leadership", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_diff_name/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_0leadership_empty/tiramisu/base.py b/tests/dictionaries/40_0leadership_empty/tiramisu/base.py
index be1234a12..d9e243d06 100644
--- a/tests/dictionaries/40_0leadership_empty/tiramisu/base.py
+++ b/tests/dictionaries/40_0leadership_empty/tiramisu/base.py
@@ -10,5 +10,5 @@ except:
ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_0leadership_follower_default_calculation/tiramisu/base.py b/tests/dictionaries/40_0leadership_follower_default_calculation/tiramisu/base.py
index 8e93d9137..45213cf14 100644
--- a/tests/dictionaries/40_0leadership_follower_default_calculation/tiramisu/base.py
+++ b/tests/dictionaries/40_0leadership_follower_default_calculation/tiramisu/base.py
@@ -15,5 +15,5 @@ option_3 = StrOption(name="leader", doc="a leader", multi=True, properties=froze
option_4 = StrOption(name="follower1", doc="a follower", multi=True, default_multi="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_calculation/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower2", doc="a second follower", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.leader.follower2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/40_0leadership_follower_default_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.leader.follower2"), '_.follower1': ParamOption(option_4, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_calculation/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_calculation/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_0leadership_follower_default_submulti/tiramisu/base.py b/tests/dictionaries/40_0leadership_follower_default_submulti/tiramisu/base.py
index 9fc929c13..3320bd128 100644
--- a/tests/dictionaries/40_0leadership_follower_default_submulti/tiramisu/base.py
+++ b/tests/dictionaries/40_0leadership_follower_default_submulti/tiramisu/base.py
@@ -14,5 +14,5 @@ option_3 = StrOption(name="leader", doc="a leader", multi=True, default=["leader
option_4 = StrOption(name="follower1", doc="a follower1", multi=submulti, default_multi=["value"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_submulti/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower2", doc="a follower2", multi=submulti, default_multi=["value1", "value2"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_submulti/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_submulti/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_0leadership_follower_default_submulti_calculation/tiramisu/base.py b/tests/dictionaries/40_0leadership_follower_default_submulti_calculation/tiramisu/base.py
index 4b5ea1dd5..806088788 100644
--- a/tests/dictionaries/40_0leadership_follower_default_submulti_calculation/tiramisu/base.py
+++ b/tests/dictionaries/40_0leadership_follower_default_submulti_calculation/tiramisu/base.py
@@ -14,5 +14,5 @@ option_3 = StrOption(name="leader", doc="the leader", multi=True, default=["lead
option_4 = StrOption(name="follower1", doc="the follower1", multi=submulti, default_multi=["value"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_submulti_calculation/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower2", doc="the follower2", multi=submulti, default=Calculation(func['calc_value'], Params((ParamOption(option_4)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_submulti_calculation/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_submulti_calculation/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_0leadership_follower_default_value/tiramisu/base.py b/tests/dictionaries/40_0leadership_follower_default_value/tiramisu/base.py
index 7b365aa9e..b08c45fcd 100644
--- a/tests/dictionaries/40_0leadership_follower_default_value/tiramisu/base.py
+++ b/tests/dictionaries/40_0leadership_follower_default_value/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_value/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="follower1", doc="a follower with default value", multi=True, default_multi="value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_value/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_follower_default_value/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_0leadership_leader_follower/tiramisu/base.py b/tests/dictionaries/40_0leadership_leader_follower/tiramisu/base.py
index 660a25704..4c849027e 100644
--- a/tests/dictionaries/40_0leadership_leader_follower/tiramisu/base.py
+++ b/tests/dictionaries/40_0leadership_leader_follower/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, default=["value1", "value2"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_leader_follower/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="follower", doc="a follower", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_3)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_leader_follower/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leadership", doc="a leadership", children=[option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_leader_follower/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_0leadership_leader_not_multi/tiramisu/base.py b/tests/dictionaries/40_0leadership_leader_not_multi/tiramisu/base.py
index 76f26aeb4..32b9bb289 100644
--- a/tests/dictionaries/40_0leadership_leader_not_multi/tiramisu/base.py
+++ b/tests/dictionaries/40_0leadership_leader_not_multi/tiramisu/base.py
@@ -17,5 +17,5 @@ option_7 = StrOption(name="follower1", doc="follower1", multi=True, properties=f
option_8 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_leader_not_multi/rougail/00-base.yml'], 'type': 'string'})
optiondescription_5 = Leadership(name="leader", doc="leader", children=[option_6, option_7, option_8], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_leader_not_multi/rougail/00-base.yml']})
optiondescription_4 = OptionDescription(name="general1", doc="general1", children=[optiondescription_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_leader_not_multi/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, optiondescription_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, optiondescription_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_0leadership_reduce/tiramisu/base.py b/tests/dictionaries/40_0leadership_reduce/tiramisu/base.py
index 5596fe656..bd015a764 100644
--- a/tests/dictionaries/40_0leadership_reduce/tiramisu/base.py
+++ b/tests/dictionaries/40_0leadership_reduce/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, default=["value_1", "value_2", "value_3"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_reduce/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
option_4 = StrOption(name="follower", doc="a follower", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_reduce/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leadership", doc="a leadership", children=[option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/40_0leadership_reduce/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_1leadership_append_follower/tiramisu/base.py b/tests/dictionaries/40_1leadership_append_follower/tiramisu/base.py
index 5ee3c2d95..55d88afae 100644
--- a/tests/dictionaries/40_1leadership_append_follower/tiramisu/base.py
+++ b/tests/dictionaries/40_1leadership_append_follower/tiramisu/base.py
@@ -15,5 +15,5 @@ option_4 = StrOption(name="follower1", doc="the follower1", multi=True, properti
option_5 = StrOption(name="follower2", doc="the follower2", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_1leadership_append_follower/rougail/00-base.yml'], 'type': 'string'})
option_6 = StrOption(name="follower3", doc="the follower3", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_1leadership_append_follower/rougail/01-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5, option_6], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/40_1leadership_append_follower/rougail/00-base.yml', '../rougail-tests/structures/40_1leadership_append_follower/rougail/01-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_2leadership_calculation_index/tiramisu/base.py b/tests/dictionaries/40_2leadership_calculation_index/tiramisu/base.py
index 5fee39a8f..b397ea5e5 100644
--- a/tests/dictionaries/40_2leadership_calculation_index/tiramisu/base.py
+++ b/tests/dictionaries/40_2leadership_calculation_index/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, default=["a", "b", "c"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_calculation_index/rougail/00-base.yml'], 'type': 'string'})
option_4 = IntOption(name="follower1", doc="a follower", multi=True, default=Calculation(func['calc_value'], Params((ParamIndex()))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_calculation_index/rougail/00-base.yml'], 'type': 'integer'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_calculation_index/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_2leadership_calculation_index_2/tiramisu/base.py b/tests/dictionaries/40_2leadership_calculation_index_2/tiramisu/base.py
index 7d8cc9ead..4e07ed5e2 100644
--- a/tests/dictionaries/40_2leadership_calculation_index_2/tiramisu/base.py
+++ b/tests/dictionaries/40_2leadership_calculation_index_2/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, default=["a", "b", "c"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_calculation_index_2/rougail/00-base.yml'], 'type': 'string'})
option_4 = IntOption(name="follower1", doc="a follower", multi=True, default=Calculation(func['calc_value'], Params((ParamIndex()))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_calculation_index_2/rougail/00-base.yml'], 'type': 'integer'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_calculation_index_2/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_2leadership_calculation_param_index/tiramisu/base.py b/tests/dictionaries/40_2leadership_calculation_param_index/tiramisu/base.py
index eb0337186..4be44424b 100644
--- a/tests/dictionaries/40_2leadership_calculation_param_index/tiramisu/base.py
+++ b/tests/dictionaries/40_2leadership_calculation_param_index/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['default_rougail.leader.follower1'] = "{{ index }}"
option_3 = StrOption(name="leader", doc="a leader", multi=True, default=["a", "b", "c"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_calculation_param_index/rougail/00-base.yml'], 'type': 'string'})
option_4 = IntOption(name="follower1", doc="a follower", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.leader.follower1"), '__internal_type': ParamValue("integer"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/40_2leadership_calculation_param_index/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.leader.follower1"), 'index': ParamIndex()})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_calculation_param_index/rougail/00-base.yml'], 'type': 'integer'})
optiondescription_2 = Leadership(name="leader", doc="leadership", children=[option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_calculation_param_index/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_2leadership_leader_calculation/tiramisu/base.py b/tests/dictionaries/40_2leadership_leader_calculation/tiramisu/base.py
index 64222b45f..45ca79911 100644
--- a/tests/dictionaries/40_2leadership_leader_calculation/tiramisu/base.py
+++ b/tests/dictionaries/40_2leadership_leader_calculation/tiramisu/base.py
@@ -15,5 +15,5 @@ option_3 = StrOption(name="leader", doc="a leader", multi=True, default=Calculat
option_4 = StrOption(name="follower1", doc="a first follower", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_leader_calculation/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower2", doc="a second follower", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_leader_calculation/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/40_2leadership_leader_calculation/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_6leadership_follower_multi/tiramisu/base.py b/tests/dictionaries/40_6leadership_follower_multi/tiramisu/base.py
index eed5c2e40..1a46288be 100644
--- a/tests/dictionaries/40_6leadership_follower_multi/tiramisu/base.py
+++ b/tests/dictionaries/40_6leadership_follower_multi/tiramisu/base.py
@@ -14,5 +14,5 @@ option_3 = StrOption(name="leader", doc="The leader", multi=True, properties=fro
option_4 = StrOption(name="follower1", doc="The first follower", multi=submulti, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_6leadership_follower_multi/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower2", doc="The second follower", multi=submulti, default_multi=["value"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_6leadership_follower_multi/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leadership", doc="A leadership", children=[option_3, option_4, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/40_6leadership_follower_multi/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_6leadership_follower_multi_no_mandatory/tiramisu/base.py b/tests/dictionaries/40_6leadership_follower_multi_no_mandatory/tiramisu/base.py
index 33df42ba8..7ce39f7b7 100644
--- a/tests/dictionaries/40_6leadership_follower_multi_no_mandatory/tiramisu/base.py
+++ b/tests/dictionaries/40_6leadership_follower_multi_no_mandatory/tiramisu/base.py
@@ -14,5 +14,5 @@ option_3 = StrOption(name="leader", doc="The leader", multi=True, properties=fro
option_4 = StrOption(name="follower1", doc="The first follower", multi=submulti, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/40_6leadership_follower_multi_no_mandatory/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower2", doc="The second follower", multi=submulti, default_multi=["value"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_6leadership_follower_multi_no_mandatory/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leadership", doc="A leadership", children=[option_3, option_4, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/40_6leadership_follower_multi_no_mandatory/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_8calculation_boolean/tiramisu/base.py b/tests/dictionaries/40_8calculation_boolean/tiramisu/base.py
index cfa3cefe5..78bff6591 100644
--- a/tests/dictionaries/40_8calculation_boolean/tiramisu/base.py
+++ b/tests/dictionaries/40_8calculation_boolean/tiramisu/base.py
@@ -15,5 +15,5 @@ dict_env['default_rougail.multi2'] = "{% if not _.bool %}\nTrue\nFalse\n{% else
option_2 = BoolOption(name="bool", doc="a boolean variable", default=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_boolean/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = BoolOption(name="multi1", doc="a first multi variable", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.multi1"), '__internal_type': ParamValue("boolean"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/40_8calculation_boolean/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.multi1"), '_.bool': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_boolean/rougail/00-base.yml'], 'type': 'boolean'})
option_4 = BoolOption(name="multi2", doc="a second multi variable", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.multi2"), '__internal_type': ParamValue("boolean"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/40_8calculation_boolean/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.multi2"), '_.bool': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_boolean/rougail/00-base.yml'], 'type': 'boolean'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_8calculation_boolean_return_none/tiramisu/base.py b/tests/dictionaries/40_8calculation_boolean_return_none/tiramisu/base.py
index db7bc0527..ade743c2d 100644
--- a/tests/dictionaries/40_8calculation_boolean_return_none/tiramisu/base.py
+++ b/tests/dictionaries/40_8calculation_boolean_return_none/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['default_rougail.var2'] = "{% if rougail.var1 == 'no' %}\nfalse\n{% endif %}\n"
option_2 = StrOption(name="var1", doc="a first variable", default="yes", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_boolean_return_none/rougail/00-base.yml'], 'type': 'string'})
option_3 = BoolOption(name="var2", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("boolean"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/40_8calculation_boolean_return_none/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), 'rougail.var1': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_boolean_return_none/rougail/00-base.yml'], 'type': 'boolean'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_8calculation_integer/tiramisu/base.py b/tests/dictionaries/40_8calculation_integer/tiramisu/base.py
index c002dc8de..78d976493 100644
--- a/tests/dictionaries/40_8calculation_integer/tiramisu/base.py
+++ b/tests/dictionaries/40_8calculation_integer/tiramisu/base.py
@@ -15,5 +15,5 @@ dict_env['default_rougail.int2'] = "{% if not rougail.bool %}3{% else %}4{% endi
option_2 = BoolOption(name="bool", doc="a boolean variable", default=False, properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_integer/rougail/00-base.yml'], 'type': 'boolean'})
option_3 = IntOption(name="int1", doc="first integer variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.int1"), '__internal_type': ParamValue("integer"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/40_8calculation_integer/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.int1"), 'rougail.bool': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_integer/rougail/00-base.yml'], 'type': 'integer'})
option_4 = IntOption(name="int2", doc="second integer variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.int2"), '__internal_type': ParamValue("integer"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/40_8calculation_integer/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.int2"), 'rougail.bool': ParamOption(option_2, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_integer/rougail/00-base.yml'], 'type': 'integer'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_8calculation_multi_variable/tiramisu/base.py b/tests/dictionaries/40_8calculation_multi_variable/tiramisu/base.py
index 83af86a0e..3564ece1f 100644
--- a/tests/dictionaries/40_8calculation_multi_variable/tiramisu/base.py
+++ b/tests/dictionaries/40_8calculation_multi_variable/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var2", doc="a second variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_multi_variable/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var3", doc="a third variable", default="yes", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_multi_variable/rougail/00-base.yml'], 'type': 'string'})
option_2 = StrOption(name="var", doc="a first variable", multi=True, default=[Calculation(func['calc_value'], Params((ParamOption(option_3)))), Calculation(func['calc_value'], Params((ParamOption(option_4))))], default_multi=Calculation(func['calc_value'], Params((ParamOption(option_3)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_multi_variable/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_8calculation_multi_variable_parent/tiramisu/base.py b/tests/dictionaries/40_8calculation_multi_variable_parent/tiramisu/base.py
index e840329c8..85d1c86b5 100644
--- a/tests/dictionaries/40_8calculation_multi_variable_parent/tiramisu/base.py
+++ b/tests/dictionaries/40_8calculation_multi_variable_parent/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="a variable", default="no", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_multi_variable_parent/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="a calculated variable", default=Calculation(func['calc_value'], Params((ParamOption(option_2)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_multi_variable_parent/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = OptionDescription(name="fam1", doc="a family", children=[option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_multi_variable_parent/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_8calculation_multi_variable_parent2/tiramisu/base.py b/tests/dictionaries/40_8calculation_multi_variable_parent2/tiramisu/base.py
index a07d9eb71..0eac83f01 100644
--- a/tests/dictionaries/40_8calculation_multi_variable_parent2/tiramisu/base.py
+++ b/tests/dictionaries/40_8calculation_multi_variable_parent2/tiramisu/base.py
@@ -14,5 +14,5 @@ option_3 = StrOption(name="var", doc="a variable", default="no", properties=froz
optiondescription_2 = OptionDescription(name="fam1", doc="first family", children=[option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_multi_variable_parent2/rougail/00-base.yml']})
option_5 = StrOption(name="var", doc="a variable", default=Calculation(func['calc_value'], Params((ParamOption(option_3)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_multi_variable_parent2/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = OptionDescription(name="fam2", doc="second family", children=[option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_8calculation_multi_variable_parent2/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, optiondescription_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, optiondescription_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9calculation_variable_leader_follower_multi_inside/tiramisu/base.py b/tests/dictionaries/40_9calculation_variable_leader_follower_multi_inside/tiramisu/base.py
index 103854e1a..b6299c0fe 100644
--- a/tests/dictionaries/40_9calculation_variable_leader_follower_multi_inside/tiramisu/base.py
+++ b/tests/dictionaries/40_9calculation_variable_leader_follower_multi_inside/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, default=["value1", "value2"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9calculation_variable_leader_follower_multi_inside/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="follower", doc="a follower", multi=submulti, default_multi=[Calculation(func['calc_value'], Params((ParamOption(option_3))))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9calculation_variable_leader_follower_multi_inside/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leadership", doc="a leadership", children=[option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9calculation_variable_leader_follower_multi_inside/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9leadership-calculation-outside-follower-first/tiramisu/base.py b/tests/dictionaries/40_9leadership-calculation-outside-follower-first/tiramisu/base.py
index b5c9e5f20..a1f8c9f20 100644
--- a/tests/dictionaries/40_9leadership-calculation-outside-follower-first/tiramisu/base.py
+++ b/tests/dictionaries/40_9leadership-calculation-outside-follower-first/tiramisu/base.py
@@ -16,5 +16,5 @@ option_4 = StrOption(name="follower1", doc="a follower", multi=True, default_mul
option_5 = StrOption(name="follower2", doc="an other follower", multi=True, default_multi="val21", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower-first/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower-first/rougail/00-base.yml']})
option_6 = StrOption(name="calculate", doc="a calculated variable", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.calculate"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/40_9leadership-calculation-outside-follower-first/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.calculate"), '_.leader.follower1': ParamOption(option_4, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "notunique", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower-first/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9leadership-calculation-outside-follower-last/tiramisu/base.py b/tests/dictionaries/40_9leadership-calculation-outside-follower-last/tiramisu/base.py
index feb3e3dbe..e66502657 100644
--- a/tests/dictionaries/40_9leadership-calculation-outside-follower-last/tiramisu/base.py
+++ b/tests/dictionaries/40_9leadership-calculation-outside-follower-last/tiramisu/base.py
@@ -16,5 +16,5 @@ option_4 = StrOption(name="follower1", doc="a follower", multi=True, default_mul
option_5 = StrOption(name="follower2", doc="an other follower", multi=True, default_multi="val21", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower-last/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower-last/rougail/00-base.yml']})
option_6 = StrOption(name="calculate", doc="a calculated variable", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.calculate"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/40_9leadership-calculation-outside-follower-last/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.calculate"), '_.leader.follower1': ParamOption(option_4, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "notunique", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower-last/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9leadership-calculation-outside-follower-no-mandatory/tiramisu/base.py b/tests/dictionaries/40_9leadership-calculation-outside-follower-no-mandatory/tiramisu/base.py
index 9438ed360..34be12029 100644
--- a/tests/dictionaries/40_9leadership-calculation-outside-follower-no-mandatory/tiramisu/base.py
+++ b/tests/dictionaries/40_9leadership-calculation-outside-follower-no-mandatory/tiramisu/base.py
@@ -14,5 +14,5 @@ option_3 = StrOption(name="leader", doc="leader", multi=True, default=["a", "b"]
option_4 = StrOption(name="follower", doc="follower", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower-no-mandatory/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="leader", children=[option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower-no-mandatory/rougail/00-base.yml']})
option_5 = StrOption(name="variable", doc="variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_4)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"notempty", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower-no-mandatory/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9leadership-calculation-outside-follower/tiramisu/base.py b/tests/dictionaries/40_9leadership-calculation-outside-follower/tiramisu/base.py
index 9e5b7f4b3..a051af3a9 100644
--- a/tests/dictionaries/40_9leadership-calculation-outside-follower/tiramisu/base.py
+++ b/tests/dictionaries/40_9leadership-calculation-outside-follower/tiramisu/base.py
@@ -15,5 +15,5 @@ option_4 = StrOption(name="follower1", doc="a follower", multi=True, default_mul
option_5 = StrOption(name="follower2", doc="an other follower", multi=True, default_multi="val21", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower/rougail/00-base.yml']})
option_6 = StrOption(name="calculate", doc="a calculated variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_4)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "notunique", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-follower/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9leadership-calculation-outside-leader-first/tiramisu/base.py b/tests/dictionaries/40_9leadership-calculation-outside-leader-first/tiramisu/base.py
index 5d6f022ae..40367a610 100644
--- a/tests/dictionaries/40_9leadership-calculation-outside-leader-first/tiramisu/base.py
+++ b/tests/dictionaries/40_9leadership-calculation-outside-leader-first/tiramisu/base.py
@@ -16,5 +16,5 @@ option_4 = StrOption(name="follower1", doc="a follower", multi=True, default_mul
option_5 = StrOption(name="follower2", doc="an other follower", multi=True, default_multi="val21", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-leader-first/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-leader-first/rougail/00-base.yml']})
option_6 = StrOption(name="calculate", doc="a calculated variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.calculate"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/40_9leadership-calculation-outside-leader-first/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.calculate"), '_.leader.leader': ParamOption(option_3, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-leader-first/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9leadership-calculation-outside-leader-last/tiramisu/base.py b/tests/dictionaries/40_9leadership-calculation-outside-leader-last/tiramisu/base.py
index 783e9ad9a..249df78f9 100644
--- a/tests/dictionaries/40_9leadership-calculation-outside-leader-last/tiramisu/base.py
+++ b/tests/dictionaries/40_9leadership-calculation-outside-leader-last/tiramisu/base.py
@@ -16,5 +16,5 @@ option_4 = StrOption(name="follower1", doc="a follower", multi=True, default_mul
option_5 = StrOption(name="follower2", doc="an other follower", multi=True, default_multi="val21", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-leader-last/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-leader-last/rougail/00-base.yml']})
option_6 = StrOption(name="calculate", doc="a calculated variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.calculate"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/40_9leadership-calculation-outside-leader-last/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.calculate"), '_.leader.leader': ParamOption(option_3, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-leader-last/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9leadership-calculation-outside-leader/tiramisu/base.py b/tests/dictionaries/40_9leadership-calculation-outside-leader/tiramisu/base.py
index e3122f629..821dc678f 100644
--- a/tests/dictionaries/40_9leadership-calculation-outside-leader/tiramisu/base.py
+++ b/tests/dictionaries/40_9leadership-calculation-outside-leader/tiramisu/base.py
@@ -15,5 +15,5 @@ option_4 = StrOption(name="follower1", doc="a follower", multi=True, default_mul
option_5 = StrOption(name="follower2", doc="an other follower", multi=True, default_multi="val21", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-leader/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-leader/rougail/00-base.yml']})
option_6 = StrOption(name="calculate", doc="a calculated variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_3)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-outside-leader/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9leadership-calculation-variable/tiramisu/base.py b/tests/dictionaries/40_9leadership-calculation-variable/tiramisu/base.py
index f0e6e5013..710098ef7 100644
--- a/tests/dictionaries/40_9leadership-calculation-variable/tiramisu/base.py
+++ b/tests/dictionaries/40_9leadership-calculation-variable/tiramisu/base.py
@@ -15,5 +15,5 @@ option_4 = StrOption(name="leader", doc="a leader", multi=True, default=Calculat
option_5 = StrOption(name="follower1", doc="a follower", multi=True, default_multi="val11", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-variable/rougail/00-base.yml'], 'type': 'string'})
option_6 = StrOption(name="follower2", doc="an other follower", multi=True, default_multi="val21", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-variable/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = Leadership(name="leader", doc="a leadership", children=[option_4, option_5, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-variable/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9leadership-calculation-variable_leader_follower/tiramisu/base.py b/tests/dictionaries/40_9leadership-calculation-variable_leader_follower/tiramisu/base.py
index be961aff9..2559cf110 100644
--- a/tests/dictionaries/40_9leadership-calculation-variable_leader_follower/tiramisu/base.py
+++ b/tests/dictionaries/40_9leadership-calculation-variable_leader_follower/tiramisu/base.py
@@ -16,5 +16,5 @@ optiondescription_2 = Leadership(name="leadership_1", doc="a leadership", childr
option_6 = StrOption(name="leader", doc="a leader", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_4)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-variable_leader_follower/rougail/00-base.yml'], 'type': 'string'})
option_7 = StrOption(name="follower", doc="a follower", multi=True, default_multi="val", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-variable_leader_follower/rougail/00-base.yml'], 'type': 'string'})
optiondescription_5 = Leadership(name="leadership_2", doc="a second leadership", children=[option_6, option_7], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-variable_leader_follower/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, optiondescription_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, optiondescription_5], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/40_9leadership-calculation-variable_leader_follower_not_same/tiramisu/base.py b/tests/dictionaries/40_9leadership-calculation-variable_leader_follower_not_same/tiramisu/base.py
index d93c3470d..2baa79342 100644
--- a/tests/dictionaries/40_9leadership-calculation-variable_leader_follower_not_same/tiramisu/base.py
+++ b/tests/dictionaries/40_9leadership-calculation-variable_leader_follower_not_same/tiramisu/base.py
@@ -16,5 +16,5 @@ optiondescription_2 = Leadership(name="leadership_1", doc="a leadership", childr
option_6 = StrOption(name="leader", doc="a leader", multi=True, default=["value1", "value2"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-variable_leader_follower_not_same/rougail/00-base.yml'], 'type': 'string'})
option_7 = StrOption(name="follower", doc="a follower", multi=submulti, default=Calculation(func['calc_value'], Params((ParamOption(option_3)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-variable_leader_follower_not_same/rougail/00-base.yml'], 'type': 'string'})
optiondescription_5 = Leadership(name="leadership_2", doc="a second leadership", children=[option_6, option_7], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/40_9leadership-calculation-variable_leader_follower_not_same/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, optiondescription_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, optiondescription_5], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/41_0choice_leader/tiramisu/base.py b/tests/dictionaries/41_0choice_leader/tiramisu/base.py
index 08daf1b90..c3c44ee08 100644
--- a/tests/dictionaries/41_0choice_leader/tiramisu/base.py
+++ b/tests/dictionaries/41_0choice_leader/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="The leader", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/41_0choice_leader/rougail/00-base.yml'], 'type': 'string'})
option_4 = ChoiceOption(name="follower1", doc="A follower", values=("a", "b", "c"), multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/41_0choice_leader/rougail/00-base.yml'], 'type': 'choice'})
optiondescription_2 = Leadership(name="leader", doc="The leadership", children=[option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/41_0choice_leader/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/44_0leadership_hidden/tiramisu/base.py b/tests/dictionaries/44_0leadership_hidden/tiramisu/base.py
index 087c4f769..894cf86fa 100644
--- a/tests/dictionaries/44_0leadership_hidden/tiramisu/base.py
+++ b/tests/dictionaries/44_0leadership_hidden/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_0leadership_hidden/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="follower", doc="a follower", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_0leadership_hidden/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4], properties=frozenset({"hidden", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_0leadership_hidden/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/44_0leadership_leader_hidden/tiramisu/base.py b/tests/dictionaries/44_0leadership_leader_hidden/tiramisu/base.py
index d06db9c3c..d19c4ae33 100644
--- a/tests/dictionaries/44_0leadership_leader_hidden/tiramisu/base.py
+++ b/tests/dictionaries/44_0leadership_leader_hidden/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_0leadership_leader_hidden/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="follower", doc="a follower", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_0leadership_leader_hidden/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4], properties=frozenset({"hidden", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_0leadership_leader_hidden/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/44_1leadership_append_hidden_follower/tiramisu/base.py b/tests/dictionaries/44_1leadership_append_hidden_follower/tiramisu/base.py
index a598e1921..f2e78a227 100644
--- a/tests/dictionaries/44_1leadership_append_hidden_follower/tiramisu/base.py
+++ b/tests/dictionaries/44_1leadership_append_hidden_follower/tiramisu/base.py
@@ -15,5 +15,5 @@ option_4 = StrOption(name="follower1", doc="the follower1", multi=True, properti
option_5 = StrOption(name="follower2", doc="the follower2", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_1leadership_append_hidden_follower/rougail/00-base.yml'], 'type': 'string'})
option_6 = StrOption(name="follower3", doc="follower3", multi=True, properties=frozenset({"force_default_on_freeze", "frozen", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_1leadership_append_hidden_follower/rougail/01-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4, option_5, option_6], properties=frozenset({"hidden", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_1leadership_append_hidden_follower/rougail/00-base.yml', '../rougail-tests/structures/44_1leadership_append_hidden_follower/rougail/01-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/44_4disabled_calcultion_follower/tiramisu/base.py b/tests/dictionaries/44_4disabled_calcultion_follower/tiramisu/base.py
index 1576646d3..066b5c0d3 100644
--- a/tests/dictionaries/44_4disabled_calcultion_follower/tiramisu/base.py
+++ b/tests/dictionaries/44_4disabled_calcultion_follower/tiramisu/base.py
@@ -15,5 +15,5 @@ option_2 = BoolOption(name="condition", doc="a condition", default=True, propert
option_4 = StrOption(name="leader", doc="aleader", multi=True, default=["a"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_4disabled_calcultion_follower/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower", doc="a follower", multi=True, properties=frozenset({"basic", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.leader.follower"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/44_4disabled_calcultion_follower/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.leader.follower"), 'when': ParamValue(True), 'inverse': ParamValue(False), 'rougail.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/44_4disabled_calcultion_follower/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = Leadership(name="leader", doc="a leadership", children=[option_4, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/44_4disabled_calcultion_follower/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/44_4disabled_calcultion_follower_index/tiramisu/base.py b/tests/dictionaries/44_4disabled_calcultion_follower_index/tiramisu/base.py
index ae10b9c29..1048e8d5d 100644
--- a/tests/dictionaries/44_4disabled_calcultion_follower_index/tiramisu/base.py
+++ b/tests/dictionaries/44_4disabled_calcultion_follower_index/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['disabled_rougail.leadership.follower'] = "{% if not index %}\nthe firs
option_3 = StrOption(name="leader", doc="aleader", multi=True, default=["a", "b"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_4disabled_calcultion_follower_index/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="follower", doc="a follower", multi=True, default_multi="value", properties=frozenset({"mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue(None)), kwargs={'__internal_jinja': ParamValue("disabled_rougail.leadership.follower"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/44_4disabled_calcultion_follower_index/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.leadership.follower"), 'index': ParamIndex(), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/44_4disabled_calcultion_follower_index/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leadership", doc="a leadership", children=[option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_4disabled_calcultion_follower_index/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/44_4leadership_mandatory/tiramisu/base.py b/tests/dictionaries/44_4leadership_mandatory/tiramisu/base.py
index 8c07d1278..1dd51fbf9 100644
--- a/tests/dictionaries/44_4leadership_mandatory/tiramisu/base.py
+++ b/tests/dictionaries/44_4leadership_mandatory/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/44_4leadership_mandatory/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="follower1", doc="a follower", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_4leadership_mandatory/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/44_4leadership_mandatory/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/44_4leadership_mandatory_follower/tiramisu/base.py b/tests/dictionaries/44_4leadership_mandatory_follower/tiramisu/base.py
index d3e9828ce..7c8bfa7cb 100644
--- a/tests/dictionaries/44_4leadership_mandatory_follower/tiramisu/base.py
+++ b/tests/dictionaries/44_4leadership_mandatory_follower/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="leader", doc="a leader", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_4leadership_mandatory_follower/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="follower", doc="a follower", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/44_4leadership_mandatory_follower/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="a leadership", children=[option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/44_4leadership_mandatory_follower/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/44_5leadership_leader_hidden_calculation/tiramisu/base.py b/tests/dictionaries/44_5leadership_leader_hidden_calculation/tiramisu/base.py
index 8de76743f..d92c22ada 100644
--- a/tests/dictionaries/44_5leadership_leader_hidden_calculation/tiramisu/base.py
+++ b/tests/dictionaries/44_5leadership_leader_hidden_calculation/tiramisu/base.py
@@ -17,5 +17,5 @@ option_2 = StrOption(name="condition", doc="a condition", default="no", properti
option_4 = StrOption(name="leader", doc="a leader", multi=True, properties=frozenset({"force_default_on_freeze", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is no")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.leader.leader"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/44_5leadership_leader_hidden_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.leader.leader"), 'when': ParamValue(True), 'inverse': ParamValue(False), '__.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/44_5leadership_leader_hidden_calculation/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower", doc="a follower", multi=True, properties=frozenset({"basic", "force_default_on_freeze", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if condition is no")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.leader.follower"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/44_5leadership_leader_hidden_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.leader.follower"), 'when': ParamValue(True), 'inverse': ParamValue(False), '__.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/44_5leadership_leader_hidden_calculation/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = Leadership(name="leader", doc="a leadership", children=[option_4, option_5], properties=frozenset({"basic", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if condition is no")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.leader.leader"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/44_5leadership_leader_hidden_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.leader.leader"), 'when': ParamValue(True), 'inverse': ParamValue(False), '__.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/44_5leadership_leader_hidden_calculation/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/44_6leadership_follower_disabled_calculation/tiramisu/base.py b/tests/dictionaries/44_6leadership_follower_disabled_calculation/tiramisu/base.py
index da90ec1d3..fbdd96341 100644
--- a/tests/dictionaries/44_6leadership_follower_disabled_calculation/tiramisu/base.py
+++ b/tests/dictionaries/44_6leadership_follower_disabled_calculation/tiramisu/base.py
@@ -15,5 +15,5 @@ option_2 = StrOption(name="condition", doc="a condition", default="yes", propert
option_4 = StrOption(name="leader", doc="a leader", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/44_6leadership_follower_disabled_calculation/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower", doc="a follower", multi=True, properties=frozenset({"basic", "mandatory", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if condition is yes")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.leader.follower"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/44_6leadership_follower_disabled_calculation/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.leader.follower"), 'when': ParamValue(True), 'inverse': ParamValue(False), '__.condition': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/44_6leadership_follower_disabled_calculation/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = Leadership(name="leader", doc="a leadership", children=[option_4, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/44_6leadership_follower_disabled_calculation/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/44_9calculated_default_leadership_leader/tiramisu/base.py b/tests/dictionaries/44_9calculated_default_leadership_leader/tiramisu/base.py
index 5669adcc9..1d724a0b2 100644
--- a/tests/dictionaries/44_9calculated_default_leadership_leader/tiramisu/base.py
+++ b/tests/dictionaries/44_9calculated_default_leadership_leader/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['disabled_rougail.leader.follower'] = "{% if _.leader == \"a\" %}\nthe
option_3 = StrOption(name="leader", doc="a leader", multi=True, default=["a", "b"], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_9calculated_default_leadership_leader/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="follower", doc="a follower", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_3)))), properties=frozenset({"mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue("if the value of \"_.leader\" is \"a\"")), kwargs={'__internal_jinja': ParamValue("disabled_rougail.leader.follower"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/44_9calculated_default_leadership_leader/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.leader.follower"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.leader': ParamOption(option_3, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/44_9calculated_default_leadership_leader/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="leader", children=[option_3, option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/44_9calculated_default_leadership_leader/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic/tiramisu/base.py
index 300744b9d..4767c8fa1 100644
--- a/tests/dictionaries/60_0family_dynamic/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_1_0/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_1_0/tiramisu/base.py
index 4375fc61b..1c01363a8 100644
--- a/tests/dictionaries/60_0family_dynamic_1_0/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_1_0/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="vardyn", doc="Dynamic variable", properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_1_0_empty/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_1_0_empty/tiramisu/base.py
index 704a313e1..0b5f2091b 100644
--- a/tests/dictionaries/60_0family_dynamic_1_0_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_1_0_empty/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0_empty/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
option_4 = StrOption(name="vardyn", doc="Dynamic variable", properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_1_0_type/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_1_0_type/tiramisu/base.py
index 8dbb8f2eb..afe7cd3e4 100644
--- a/tests/dictionaries/60_0family_dynamic_1_0_type/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_1_0_type/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0_type/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="vardyn", doc="A dyn variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0_type/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0_type/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_1_0_type_empty/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_1_0_type_empty/tiramisu/base.py
index 6c999ef0f..41aa36e76 100644
--- a/tests/dictionaries/60_0family_dynamic_1_0_type_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_1_0_type_empty/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0_type_empty/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
option_4 = StrOption(name="vardyn", doc="A dyn variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0_type_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_0_type_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_1_1/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_1_1/tiramisu/base.py
index 34a3d5d58..869791349 100644
--- a/tests/dictionaries/60_0family_dynamic_1_1/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_1_1/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_1/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="vardyn", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_1/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_1/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_1_1_empty/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_1_1_empty/tiramisu/base.py
index 57a686418..7290959f5 100644
--- a/tests/dictionaries/60_0family_dynamic_1_1_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_1_1_empty/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_1_empty/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
option_4 = StrOption(name="vardyn", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_1_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_1_1_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_empty/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_empty/tiramisu/base.py
index 446ea4c5e..5e09c196e 100644
--- a/tests/dictionaries/60_0family_dynamic_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_empty/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_empty/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_forbidden_char/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_forbidden_char/tiramisu/base.py
index 35b281fc2..d6f3b5bf2 100644
--- a/tests/dictionaries/60_0family_dynamic_forbidden_char/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_forbidden_char/tiramisu/base.py
@@ -15,5 +15,5 @@ option_2 = StrOption(name="var", doc="A suffix variable", multi=True, default=["
option_4 = StrOption(name="var1", doc="A dynamic variable", default=Calculation(func['calc_value'], Params((ParamIdentifier()))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_forbidden_char/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="var2", doc="A dynamic variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.dyn{{ identifier }}.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_0family_dynamic_forbidden_char/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}.var2"), 'identifier': ParamIdentifier()})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_forbidden_char/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4, option_5], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_forbidden_char/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_jinja_integer_empty/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_jinja_integer_empty/tiramisu/base.py
index 49f4e4610..ddf6351d9 100644
--- a/tests/dictionaries/60_0family_dynamic_jinja_integer_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_jinja_integer_empty/tiramisu/base.py
@@ -15,5 +15,5 @@ option_2 = IntOption(name="var", doc="a suffix variable", multi=True, properties
option_4 = StrOption(name="var", doc="a variable inside dynamic family", default="val", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_jinja_integer_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_jinja_integer_empty/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="a variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_0family_dynamic_jinja_integer_empty/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), 'rougail.dyn1.var': ParamDynOption(option_4, ["1"], optional=True, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_jinja_integer_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_jinja_number/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_jinja_number/tiramisu/base.py
index 57edeb378..1bc82385c 100644
--- a/tests/dictionaries/60_0family_dynamic_jinja_number/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_jinja_number/tiramisu/base.py
@@ -15,5 +15,5 @@ option_2 = IntOption(name="var", doc="a suffix variable", multi=True, default=[1
option_4 = StrOption(name="var", doc="a variable inside dynamic family", default="val", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_jinja_number/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_jinja_number/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="a variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_0family_dynamic_jinja_number/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), 'rougail.dyn1.var': ParamDynOption(option_4, ["1"], optional=True, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_jinja_number/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_no_description/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_no_description/tiramisu/base.py
index 5fcb7b00a..39f803223 100644
--- a/tests/dictionaries/60_0family_dynamic_no_description/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_no_description/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_no_description/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="var", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_no_description/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_no_description/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_no_description_empty/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_no_description_empty/tiramisu/base.py
index 181ae647a..ec660b362 100644
--- a/tests/dictionaries/60_0family_dynamic_no_description_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_no_description_empty/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_no_description_empty/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
option_4 = StrOption(name="var", doc="var", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_no_description_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_no_description_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_source_hidden/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_source_hidden/tiramisu/base.py
index 8316b50c1..10ca52666 100644
--- a/tests/dictionaries/60_0family_dynamic_source_hidden/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_source_hidden/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_source_hidden/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_source_hidden/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_source_hidden/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_static/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_static/tiramisu/base.py
index c0e3a56c6..af52a2a20 100644
--- a/tests/dictionaries/60_0family_dynamic_static/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_static/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var", doc="a variable inside a dynamic family", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_static/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=["val1", "val2"], children=[option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_static/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_test/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_test/tiramisu/base.py
index ac445cad8..69ab65fdf 100644
--- a/tests/dictionaries/60_0family_dynamic_test/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_test/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_test/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_test/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_test/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_upper_char/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_upper_char/tiramisu/base.py
index 4d30c5f01..c1cd83848 100644
--- a/tests/dictionaries/60_0family_dynamic_upper_char/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_upper_char/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, default=["Val1", "VAL2"], default_multi="Val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_upper_char/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_upper_char/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_upper_char/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_variable_empty/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_variable_empty/tiramisu/base.py
index c0eeec7f7..e3858bffa 100644
--- a/tests/dictionaries/60_0family_dynamic_variable_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_variable_empty/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="a suffix variable", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_empty/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="a variable inside dynamic family", default="val", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_variable_optional/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_variable_optional/tiramisu/base.py
index 73dac043c..9a5399168 100644
--- a/tests/dictionaries/60_0family_dynamic_variable_optional/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_variable_optional/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var", doc="a variable inside dynamic family", default="val", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_optional/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=["a", "b"], children=[option_3], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.unknown_var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_optional/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_variable_suffix/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_variable_suffix/tiramisu/base.py
index 663e119a5..ce6414807 100644
--- a/tests/dictionaries/60_0family_dynamic_variable_suffix/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_variable_suffix/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_suffix/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="A dynamic variable with suffix {{ identifier }}", default="a value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_suffix/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_suffix/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_dynamic_variable_suffix_empty/tiramisu/base.py b/tests/dictionaries/60_0family_dynamic_variable_suffix_empty/tiramisu/base.py
index 8bae3dfa5..c727e5560 100644
--- a/tests/dictionaries/60_0family_dynamic_variable_suffix_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_dynamic_variable_suffix_empty/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A suffix variable", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_suffix_empty/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
option_4 = StrOption(name="var", doc="A dynamic variable with suffix {{ identifier }}", default="a value", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_suffix_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_0family_dynamic_variable_suffix_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_empty/tiramisu/base.py b/tests/dictionaries/60_0family_empty/tiramisu/base.py
index be1234a12..d9e243d06 100644
--- a/tests/dictionaries/60_0family_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_empty/tiramisu/base.py
@@ -10,5 +10,5 @@ except:
ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[], properties=frozenset({"advanced"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_hidden/tiramisu/base.py b/tests/dictionaries/60_0family_hidden/tiramisu/base.py
index 3556100f4..79ed389e5 100644
--- a/tests/dictionaries/60_0family_hidden/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_hidden/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var", doc="a variable", properties=frozenset({"force_default_on_freeze", "frozen", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_hidden/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = OptionDescription(name="family", doc="a family", children=[option_3], properties=frozenset({"hidden", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_hidden/rougail/00-base.yml', '../rougail-tests/structures/60_0family_hidden/rougail/01-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_0family_mode/tiramisu/base.py b/tests/dictionaries/60_0family_mode/tiramisu/base.py
index 1d2048ec7..0ba4d208a 100644
--- a/tests/dictionaries/60_0family_mode/tiramisu/base.py
+++ b/tests/dictionaries/60_0family_mode/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var", doc="A variable", default="non", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_mode/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = OptionDescription(name="family", doc="a family", children=[option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_0family_mode/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_1family_dynamic_jinja/tiramisu/base.py b/tests/dictionaries/60_1family_dynamic_jinja/tiramisu/base.py
index 35bccdd35..d9586e55a 100644
--- a/tests/dictionaries/60_1family_dynamic_jinja/tiramisu/base.py
+++ b/tests/dictionaries/60_1family_dynamic_jinja/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['dynamic_rougail.dyn{{ identifier }}'] = "{% for val in _.var %}\n{{ lo
option_2 = StrOption(name="var", doc="a suffix variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_1family_dynamic_jinja/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="a dynamic variable", default="val", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_1family_dynamic_jinja/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("dynamic_rougail.dyn{{ identifier }}"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/60_1family_dynamic_jinja/rougail/00-base.yml']), '__internal_attribute': ParamValue("dynamic"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}"), '_.var': ParamOption(option_2, notraisepropertyerror=True)})), children=[option_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_1family_dynamic_jinja/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group/tiramisu/base.py b/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group/tiramisu/base.py
index f87357837..0ea153239 100644
--- a/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group/tiramisu/base.py
+++ b/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group/tiramisu/base.py
@@ -16,5 +16,5 @@ option_5 = StrOption(name="var", doc="with a variable", properties=frozenset({"b
optiondescription_4 = OptionDescription(name="family", doc="a family", children=[option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[optiondescription_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group/rougail/00-base.yml']})
option_6 = StrOption(name="var2", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), '_.dynval1.family.var': ParamDynOption(option_5, ["val1"], optional=True, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_2/tiramisu/base.py b/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_2/tiramisu/base.py
index c86ec435b..8334b9b84 100644
--- a/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_2/tiramisu/base.py
+++ b/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_2/tiramisu/base.py
@@ -16,5 +16,5 @@ option_5 = StrOption(name="var", doc="a dynamic variable", default=Calculation(f
optiondescription_4 = OptionDescription(name="family", doc="a family inside dynamic family", children=[option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_2/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[optiondescription_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_2/rougail/00-base.yml']})
option_6 = StrOption(name="var2", doc="a varible outside dynamic family", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_2/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), '_.dynval1.family.var': ParamDynOption(option_5, ["val1"], optional=True, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_2_empty/tiramisu/base.py b/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_2_empty/tiramisu/base.py
index fa2d4c0ed..504837e54 100644
--- a/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_2_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_2_empty/tiramisu/base.py
@@ -16,5 +16,5 @@ option_5 = StrOption(name="var", doc="a dynamic variable", default=Calculation(f
optiondescription_4 = OptionDescription(name="family", doc="a family inside dynamic family", children=[option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_2_empty/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[optiondescription_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_2_empty/rougail/00-base.yml']})
option_6 = StrOption(name="var2", doc="a varible outside dynamic family", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_2_empty/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), '_.dynval1.family.var': ParamDynOption(option_5, ["val1"], optional=True, notraisepropertyerror=True)})), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_2_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_empty/tiramisu/base.py b/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_empty/tiramisu/base.py
index d04013fbd..ea4a1dd6a 100644
--- a/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_2family_dynamic_jinja_fill_sub_group_empty/tiramisu/base.py
@@ -16,5 +16,5 @@ option_5 = StrOption(name="var", doc="with a variable", properties=frozenset({"b
optiondescription_4 = OptionDescription(name="family", doc="a family", children=[option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_empty/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[optiondescription_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_empty/rougail/00-base.yml']})
option_6 = StrOption(name="var2", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_empty/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), '_.dynval1.family.var': ParamDynOption(option_5, ["val1"], optional=True, notraisepropertyerror=True)})), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_jinja_fill_sub_group_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_2family_dynamic_outside_calc/tiramisu/base.py b/tests/dictionaries/60_2family_dynamic_outside_calc/tiramisu/base.py
index d93a83e21..8bc1f8655 100644
--- a/tests/dictionaries/60_2family_dynamic_outside_calc/tiramisu/base.py
+++ b/tests/dictionaries/60_2family_dynamic_outside_calc/tiramisu/base.py
@@ -15,5 +15,5 @@ option_2 = StrOption(name="var1", doc="a suffx variable", multi=True, default=["
option_4 = StrOption(name="var", doc="a dynamic variable", default="val", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_outside_calc/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_outside_calc/rougail/00-base.yml']})
option_5 = StrOption(name="newvar", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.newvar"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_2family_dynamic_outside_calc/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.newvar"), '_.dynval1.var': ParamDynOption(option_4, ["val1"], optional=True, notraisepropertyerror=True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_outside_calc/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_2family_dynamic_outside_calc_empty/tiramisu/base.py b/tests/dictionaries/60_2family_dynamic_outside_calc_empty/tiramisu/base.py
index 559ec9518..aff94b3a7 100644
--- a/tests/dictionaries/60_2family_dynamic_outside_calc_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_2family_dynamic_outside_calc_empty/tiramisu/base.py
@@ -15,5 +15,5 @@ option_2 = StrOption(name="var1", doc="a suffx variable", multi=True, properties
option_4 = StrOption(name="var", doc="a dynamic variable", default="val", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_outside_calc_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_outside_calc_empty/rougail/00-base.yml']})
option_5 = StrOption(name="newvar", doc="a second variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.newvar"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_2family_dynamic_outside_calc_empty/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.newvar"), '_.dynval1.var': ParamDynOption(option_4, ["val1"], optional=True, notraisepropertyerror=True)})), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_2family_dynamic_outside_calc_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc2/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc2/tiramisu/base.py
index 9d0eadbe3..349f9a119 100644
--- a/tests/dictionaries/60_5family_dynamic_calc2/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc2/tiramisu/base.py
@@ -16,5 +16,5 @@ option_2 = StrOption(name="var", doc="A suffix variable", multi=True, default=["
option_3 = StrOption(name="var2", doc="a second variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc2/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="vardyn", doc="a dynamic variable", default="val", properties=frozenset({"force_default_on_freeze", "mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if var2 is no")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.dyn{{ identifier }}.vardyn"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_calc2/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}.vardyn"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.var2': ParamOption(option_3, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc2/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_5], properties=frozenset({"standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if var2 is no")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.dyn{{ identifier }}"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_calc2/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.var2': ParamOption(option_3, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc2/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc2_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc2_empty/tiramisu/base.py
index 43eac1f72..80b5279a9 100644
--- a/tests/dictionaries/60_5family_dynamic_calc2_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc2_empty/tiramisu/base.py
@@ -16,5 +16,5 @@ option_2 = StrOption(name="var", doc="A suffix variable", multi=True, properties
option_3 = StrOption(name="var2", doc="a second variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc2_empty/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="vardyn", doc="a dynamic variable", default="val", properties=frozenset({"force_default_on_freeze", "mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if var2 is no")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.dyn{{ identifier }}.vardyn"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_calc2_empty/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}.vardyn"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.var2': ParamOption(option_3, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc2_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_5], properties=frozenset({"standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if var2 is no")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.dyn{{ identifier }}"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_calc2_empty/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}"), 'when': ParamValue(True), 'inverse': ParamValue(False), '_.var2': ParamOption(option_3, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc2_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_description/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_description/tiramisu/base.py
index 7d2883aae..0f4636c54 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_description/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_description/tiramisu/base.py
@@ -13,6 +13,6 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var", doc="A dynamic variable for {{ identifier }}", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_description/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic famify for {{ identifier }}", identifiers=["val1", "val2"], children=[option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_description/rougail/00-base.yml']})
option_4 = StrOption(name="var1", doc="A new variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamDynOption(option_3, ["val1"]), 'prop': ParamValue("disabled"), 'when': ParamValue("val"), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_description/rougail/00-base.yml'], 'type': 'string'})
-option_5 = StrOption(name="var2", doc="A new variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_3)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_description/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_4, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+option_5 = StrOption(name="var2", doc="A new variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_3)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "notunique", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_description/rougail/00-base.yml'], 'type': 'string'})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_4, option_5], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_description/tiramisu/no_namespace.py b/tests/dictionaries/60_5family_dynamic_calc_description/tiramisu/no_namespace.py
index 6481f58cd..4b6bd587e 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_description/tiramisu/no_namespace.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_description/tiramisu/no_namespace.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A dynamic variable for {{ identifier }}", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_description/rougail/00-base.yml'], 'type': 'string'})
optiondescription_1 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic famify for {{ identifier }}", identifiers=["val1", "val2"], children=[option_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_description/rougail/00-base.yml']})
option_3 = StrOption(name="var1", doc="A new variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamDynOption(option_2, ["val1"]), 'prop': ParamValue("disabled"), 'when': ParamValue("val"), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_description/rougail/00-base.yml'], 'type': 'string'})
-option_4 = StrOption(name="var2", doc="A new variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_2)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_description/rougail/00-base.yml'], 'type': 'string'})
+option_4 = StrOption(name="var2", doc="A new variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_2)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "notunique", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_description/rougail/00-base.yml'], 'type': 'string'})
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, option_3, option_4])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix/tiramisu/base.py
index 25e3da657..cfb9e3ac5 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var1", doc="A suffix variable", multi=True, default=[
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="A variable calculated", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"])))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix2/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix2/tiramisu/base.py
index 6c921c519..8511d7ae0 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix2/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix2/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="a suffix variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix2/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="Suffix has value", default=Calculation(func['calc_value'], Params((ParamIdentifier()))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix2/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix2/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix2_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix2_empty/tiramisu/base.py
index d407bf58e..c242fcd19 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix2_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix2_empty/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="a suffix variable", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix2_empty/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
option_4 = StrOption(name="var", doc="Suffix has value", default=Calculation(func['calc_value'], Params((ParamIdentifier()))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix2_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix2_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix_disabled/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix_disabled/tiramisu/base.py
index 168449969..85eb32db9 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix_disabled/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix_disabled/tiramisu/base.py
@@ -12,5 +12,5 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'prop': ParamValue("disabled"), 'value': ParamIdentifier(), 'when': ParamValue("val1"), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_disabled/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=["val1", "val2"], children=[option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_disabled/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix_disabled2/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix_disabled2/tiramisu/base.py
index fc78b7063..7672fcf52 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix_disabled2/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix_disabled2/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var1", doc="A suffix variable", multi=True, propertie
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "disabled", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_disabled2/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_disabled2/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="A variable calculated", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"], optional=True)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_disabled2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix_empty/tiramisu/base.py
index 79b47dd32..abd31983b 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix_empty/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var1", doc="A suffix variable", multi=True, propertie
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_empty/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="A variable calculated", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"], optional=True)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix_empty_2/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix_empty_2/tiramisu/base.py
index 24f529a3a..b5bd1acef 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix_empty_2/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix_empty_2/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var1", doc="A suffix variable", multi=True, propertie
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_empty_2/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_empty_2/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="A variable calculated", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"], optional=True)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_empty_2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix_empty_3/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix_empty_3/tiramisu/base.py
index d75af2384..7fc81215d 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix_empty_3/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix_empty_3/tiramisu/base.py
@@ -14,5 +14,5 @@ option_5 = StrOption(name="var", doc="A dynamic variable", properties=frozenset(
option_2 = StrOption(name="var2", doc="A variable calculated", default=Calculation(func['calc_value'], Params((ParamDynOption(option_5, ["val1"], optional=True)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_empty_3/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var1", doc="A suffix variable", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_empty_3/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
optiondescription_4 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_3)))), children=[option_5], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_empty_3/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden/tiramisu/base.py
index d459702fa..bab9c1215 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var1", doc="A suffix variable", multi=True, default=[
option_4 = StrOption(name="var", doc="A dynamic variable", default="a value", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_hidden/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_hidden/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="A variable calculated", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"])))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_hidden/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden_boolean/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden_boolean/tiramisu/base.py
index e7a8766ee..798fc0d0b 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden_boolean/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden_boolean/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var1", doc="A suffix variable", multi=True, default=[
option_4 = BoolOption(name="var", doc="A dynamic variable", default=True, properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_hidden_boolean/rougail/00-base.yml'], 'type': 'boolean'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_hidden_boolean/rougail/00-base.yml']})
option_5 = BoolOption(name="var2", doc="A variable calculated", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"])))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_hidden_boolean/rougail/00-base.yml'], 'type': 'boolean'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden_multi/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden_multi/tiramisu/base.py
index 40885049c..4d8e3a47d 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden_multi/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix_hidden_multi/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var1", doc="A suffix variable", multi=True, default=[
option_4 = StrOption(name="var", doc="A dynamic variable", multi=True, default=["a value", "a second value"], default_multi="a value", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_hidden_multi/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_hidden_multi/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="A variable calculated", multi=True, default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"])), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_hidden_multi/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix_param/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix_param/tiramisu/base.py
index 19cc3e9a6..e74fba7cb 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix_param/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix_param/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['default_rougail.dyn{{ identifier }}.var'] = "{{ identifier }}\n"
option_2 = StrOption(name="var", doc="A identifier variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_param/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var", doc="A dynamic variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.dyn{{ identifier }}.var"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_calc_suffix_param/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}.var"), 'identifier': ParamIdentifier()})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_param/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_param/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_suffix_param_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_suffix_param_empty/tiramisu/base.py
index 97d969323..ad6d33341 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_suffix_param_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_suffix_param_empty/tiramisu/base.py
@@ -14,5 +14,5 @@ dict_env['default_rougail.dyn{{ identifier }}.var'] = "{{ identifier }}\n"
option_2 = StrOption(name="var", doc="A identifier variable", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_param_empty/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
option_4 = StrOption(name="var", doc="A dynamic variable", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.dyn{{ identifier }}.var"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_calc_suffix_param_empty/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}.var"), 'identifier': ParamIdentifier()})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_param_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_suffix_param_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_variable/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_variable/tiramisu/base.py
index 351727ee8..5e469540d 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_variable/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_variable/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var1", doc="A suffix variable", multi=True, default=[
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="A variable calculated", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"])))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_variable_disabled/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_variable_disabled/tiramisu/base.py
index 94c19e610..f5320ae42 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_variable_disabled/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_variable_disabled/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var1", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable_disabled/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="var2", doc="A new variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamOption(option_3), 'prop': ParamValue("disabled"), 'when': ParamValue("val1"), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable_disabled/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic famify for {{ identifier }}", identifiers=["val1", "val2"], children=[option_3, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable_disabled/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_variable_disabled_outside/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_variable_disabled_outside/tiramisu/base.py
index 0f5f3bc40..fb003b525 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_variable_disabled_outside/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_variable_disabled_outside/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="var1", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable_disabled_outside/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic famify for {{ identifier }}", identifiers=["val1", "val2"], children=[option_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable_disabled_outside/rougail/00-base.yml']})
option_4 = StrOption(name="var2", doc="A new variable", properties=frozenset({"basic", "mandatory", Calculation(func['variable_to_property'], Params((), kwargs={'value': ParamDynOption(option_3, ["val1"]), 'prop': ParamValue("disabled"), 'when': ParamValue("val1"), 'inverse': ParamValue(False)}), help_function=func['variable_to_property'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable_disabled_outside/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2, option_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_calc_variable_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_calc_variable_empty/tiramisu/base.py
index 1b22ac4ac..72b098f09 100644
--- a/tests/dictionaries/60_5family_dynamic_calc_variable_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_calc_variable_empty/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var1", doc="A suffix variable", multi=True, propertie
option_4 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[option_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable_empty/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="A variable calculated", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"], optional=True)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_calc_variable_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_hidden_suffix/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_hidden_suffix/tiramisu/base.py
index c6c08cbb1..893d9720d 100644
--- a/tests/dictionaries/60_5family_dynamic_hidden_suffix/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_hidden_suffix/tiramisu/base.py
@@ -17,5 +17,5 @@ option_3 = StrOption(name="var", doc="a variable", properties=frozenset({"force_
option_5 = StrOption(name="var", doc="a new variable", properties=frozenset({"force_default_on_freeze", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("frozen"), ParamValue("if suffix == 'val2'")), kwargs={'__internal_jinja': ParamValue("frozen_rougail.dyn{{ identifier }}.family.var"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_hidden_suffix/rougail/00-base.yml']), '__internal_attribute': ParamValue("frozen"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}.family.var"), 'suffix': ParamIdentifier(), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_hidden_suffix/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = OptionDescription(name="family", doc="a family", children=[option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_hidden_suffix/rougail/00-base.yml']})
optiondescription_2 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=["val1", "val2"], children=[option_3, optiondescription_4], properties=frozenset({"standard", Calculation(func['jinja_to_property'], Params((ParamValue("hidden"), ParamValue("if suffix == 'val2'")), kwargs={'__internal_jinja': ParamValue("hidden_rougail.dyn{{ identifier }}"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_hidden_suffix/rougail/00-base.yml']), '__internal_attribute': ParamValue("hidden"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}"), 'suffix': ParamIdentifier(), 'when': ParamValue(True), 'inverse': ParamValue(False)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_hidden_suffix/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_unknown_suffix/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_unknown_suffix/tiramisu/base.py
index f2535cc87..11482a5e3 100644
--- a/tests/dictionaries/60_5family_dynamic_unknown_suffix/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_unknown_suffix/tiramisu/base.py
@@ -17,5 +17,5 @@ option_5 = StrOption(name="var2", doc="a variable 2", default=Calculation(func['
option_6 = StrOption(name="var3", doc="a variable 3", default=Calculation(func['calc_value'], Params((ParamOption(option_4)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_unknown_suffix/rougail/00-base.yml'], 'type': 'string'})
option_7 = StrOption(name="var4", doc="a variable 4", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val4"])))), properties=frozenset({"mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue(None)), kwargs={'__internal_jinja': ParamValue("disabled_rougail.{{ identifier }}_dyn.var4"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_unknown_suffix/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.{{ identifier }}_dyn.var4"), 'when': ParamValue(True), 'inverse': ParamValue(False), '__.var': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_unknown_suffix/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="{{ identifier }}_dyn", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4, option_5, option_6, option_7], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_unknown_suffix/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_unknown_suffix_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_unknown_suffix_empty/tiramisu/base.py
index 685af508f..72c300b5e 100644
--- a/tests/dictionaries/60_5family_dynamic_unknown_suffix_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_unknown_suffix_empty/tiramisu/base.py
@@ -17,5 +17,5 @@ option_5 = StrOption(name="var2", doc="a variable 2", default=Calculation(func['
option_6 = StrOption(name="var3", doc="a variable 3", default=Calculation(func['calc_value'], Params((ParamOption(option_4)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_unknown_suffix_empty/rougail/00-base.yml'], 'type': 'string'})
option_7 = StrOption(name="var4", doc="a variable 4", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val4"])))), properties=frozenset({"mandatory", "standard", Calculation(func['jinja_to_property'], Params((ParamValue("disabled"), ParamValue(None)), kwargs={'__internal_jinja': ParamValue("disabled_rougail.{{ identifier }}_dyn.var4"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_unknown_suffix_empty/rougail/00-base.yml']), '__internal_attribute': ParamValue("disabled"), '__internal_variable': ParamValue("rougail.{{ identifier }}_dyn.var4"), 'when': ParamValue(True), 'inverse': ParamValue(False), '__.var': ParamOption(option_2, notraisepropertyerror=True)}), help_function=func['jinja_to_property_help'])}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_unknown_suffix_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="{{ identifier }}_dyn", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4, option_5, option_6, option_7], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_unknown_suffix_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside/tiramisu/base.py
index 985d5af5a..9b3a2f7dd 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var", doc="a suffix variable", multi=True, default=["
option_4 = StrOption(name="var", doc="a variable inside a dynamic family", default=Calculation(func['calc_value'], Params((ParamIdentifier()))), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="my_dyn_family_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="a variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_4)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside2/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside2/tiramisu/base.py
index 886f20754..c759f4d5f 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside2/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside2/tiramisu/base.py
@@ -14,5 +14,5 @@ option_5 = StrOption(name="var", doc="a variable inside a dynamic family", defau
option_2 = StrOption(name="var2", doc="a variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_5)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside2/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var", doc="a suffix variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside2/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = ConvertDynOptionDescription(name="my_dyn_family_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_3)))), children=[option_5], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside2/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside2_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside2_empty/tiramisu/base.py
index c9a84fc4f..7bb836449 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside2_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside2_empty/tiramisu/base.py
@@ -14,5 +14,5 @@ option_5 = StrOption(name="var", doc="a variable inside a dynamic family", defau
option_2 = StrOption(name="var2", doc="a variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_5)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside2_empty/rougail/00-base.yml'], 'type': 'string'})
option_3 = StrOption(name="var", doc="a suffix variable", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside2_empty/rougail/00-base.yml'], 'type': 'string', 'test': ('val1', 'val2')})
optiondescription_4 = ConvertDynOptionDescription(name="my_dyn_family_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_3)))), children=[option_5], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside2_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, option_3, optiondescription_4], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside_1_0/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside_1_0/tiramisu/base.py
index 7c11e7a10..df201cf1e 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside_1_0/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside_1_0/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var", doc="a suffix variable", multi=True, default=["
option_4 = StrOption(name="var", doc="a variable inside a dynamic family", default=Calculation(func['calc_value'], Params((ParamIdentifier()))), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_1_0/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="my_dyn_family_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_1_0/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="a variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_4)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_1_0/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside_empty/tiramisu/base.py
index 6c0dfee94..35137b0dd 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside_empty/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var", doc="a suffix variable", multi=True, properties
option_4 = StrOption(name="var", doc="a variable inside a dynamic family", default=Calculation(func['calc_value'], Params((ParamIdentifier()))), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="my_dyn_family_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_empty/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="a variable", multi=True, default=Calculation(func['calc_value'], Params((ParamOption(option_4)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside_jinja/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside_jinja/tiramisu/base.py
index c6650b627..a91051aba 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside_jinja/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside_jinja/tiramisu/base.py
@@ -15,5 +15,5 @@ option_2 = StrOption(name="var", doc="a suffix variable", multi=True, default=["
option_4 = StrOption(name="var", doc="a variable inside a dynamic family", default=Calculation(func['calc_value'], Params((ParamIdentifier()))), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_jinja/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="my_dyn_family_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_jinja/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="a variable", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_variable_outside_jinja/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), 'var': ParamOption(option_4)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_jinja/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside_jinja_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside_jinja_empty/tiramisu/base.py
index 6b454d88a..45768b7d1 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside_jinja_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside_jinja_empty/tiramisu/base.py
@@ -15,5 +15,5 @@ option_2 = StrOption(name="var", doc="a suffix variable", multi=True, properties
option_4 = StrOption(name="var", doc="a variable inside a dynamic family", default=Calculation(func['calc_value'], Params((ParamIdentifier()))), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_jinja_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="my_dyn_family_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_jinja_empty/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="a variable", multi=True, default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.var2"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(True), '__internal_files': ParamValue(['../rougail-tests/structures/60_5family_dynamic_variable_outside_jinja_empty/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.var2"), 'var': ParamOption(option_4)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_jinja_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside_sub_suffix/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside_sub_suffix/tiramisu/base.py
index 39055c527..a150a1afc 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside_sub_suffix/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside_sub_suffix/tiramisu/base.py
@@ -15,5 +15,5 @@ option_5 = StrOption(name="var", doc="a variable inside a sub dynamic family", d
optiondescription_4 = ConvertDynOptionDescription(name="subdyn_{{ identifier }}", doc="a sub dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_5], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_sub_suffix/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="my_dyn_family_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[optiondescription_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_sub_suffix/rougail/00-base.yml']})
option_6 = StrOption(name="var2", doc="a variable", multi=True, default=Calculation(func['calc_value'], Params((ParamDynOption(option_5, ["val1", None])), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_sub_suffix/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside_sub_suffix_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside_sub_suffix_empty/tiramisu/base.py
index 517347092..8f23030ea 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside_sub_suffix_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside_sub_suffix_empty/tiramisu/base.py
@@ -15,5 +15,5 @@ option_5 = StrOption(name="var", doc="a variable inside a sub dynamic family", d
optiondescription_4 = ConvertDynOptionDescription(name="subdyn_{{ identifier }}", doc="a sub dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_5], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_sub_suffix_empty/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="my_dyn_family_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)))), children=[optiondescription_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_sub_suffix_empty/rougail/00-base.yml']})
option_6 = StrOption(name="var2", doc="a variable", multi=True, default=Calculation(func['calc_value'], Params((ParamDynOption(option_5, ["val1", None], optional=True)), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_sub_suffix_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside_suffix/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside_suffix/tiramisu/base.py
index a245d9a89..4704fb29b 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside_suffix/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside_suffix/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var", doc="a suffix variable", multi=True, default=["
option_4 = StrOption(name="var", doc="a variable inside dynamic family", default=Calculation(func['calc_value'], Params((ParamIdentifier()))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_suffix/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_suffix/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="a variable", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"])))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_suffix/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_5family_dynamic_variable_outside_suffix_empty/tiramisu/base.py b/tests/dictionaries/60_5family_dynamic_variable_outside_suffix_empty/tiramisu/base.py
index 7db9b5ab6..c4b794418 100644
--- a/tests/dictionaries/60_5family_dynamic_variable_outside_suffix_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_5family_dynamic_variable_outside_suffix_empty/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var", doc="asuffix variable", multi=True, properties=
option_4 = StrOption(name="var", doc="a variable inside dynamic family", default=Calculation(func['calc_value'], Params((ParamIdentifier()))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_suffix_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn_{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_suffix_empty/rougail/00-base.yml']})
option_5 = StrOption(name="var2", doc="a variable", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"], optional=True)))), properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_5family_dynamic_variable_outside_suffix_empty/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_5], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_inside/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_inside/tiramisu/base.py
index bad13982e..a1e5b0474 100644
--- a/tests/dictionaries/60_6family_dynamic_inside/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_inside/tiramisu/base.py
@@ -16,5 +16,5 @@ option_5 = StrOption(name="var2", doc="value is first variable", default=Calcula
option_6 = StrOption(name="var3", doc="value is relative first variable", default=Calculation(func['calc_value'], Params((ParamOption(option_4)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_inside/rougail/00-base.yml'], 'type': 'string'})
option_7 = StrOption(name="var4", doc="value is first variable of val1", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"])))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_inside/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="{{ identifier }}_dyn", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4, option_5, option_6, option_7], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_inside/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_inside_empty/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_inside_empty/tiramisu/base.py
index c7323c303..c90f85a90 100644
--- a/tests/dictionaries/60_6family_dynamic_inside_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_inside_empty/tiramisu/base.py
@@ -16,5 +16,5 @@ option_5 = StrOption(name="var2", doc="value is first variable", default=Calcula
option_6 = StrOption(name="var3", doc="value is relative first variable", default=Calculation(func['calc_value'], Params((ParamOption(option_4)))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_inside_empty/rougail/00-base.yml'], 'type': 'string'})
option_7 = StrOption(name="var4", doc="value is first variable of val1", default=Calculation(func['calc_value'], Params((ParamDynOption(option_4, ["val1"])))), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_inside_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="{{ identifier }}_dyn", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4, option_5, option_6, option_7], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_inside_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_leadership/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_leadership/tiramisu/base.py
index 27bbf00b6..e10c65a59 100644
--- a/tests/dictionaries/60_6family_dynamic_leadership/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_leadership/tiramisu/base.py
@@ -16,5 +16,5 @@ option_6 = StrOption(name="follower1", doc="a follower1", multi=True, properties
option_7 = StrOption(name="follower2", doc="a follower2", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_leadership/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = Leadership(name="leadership", doc="a leadership", children=[option_5, option_6, option_7], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_leadership/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[optiondescription_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_leadership/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_leadership_empty/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_leadership_empty/tiramisu/base.py
index 710aa56de..00be92183 100644
--- a/tests/dictionaries/60_6family_dynamic_leadership_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_leadership_empty/tiramisu/base.py
@@ -16,5 +16,5 @@ option_6 = StrOption(name="follower1", doc="a follower1", multi=True, properties
option_7 = StrOption(name="follower2", doc="a follower2", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_leadership_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = Leadership(name="leadership", doc="a leadership", children=[option_5, option_6, option_7], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_leadership_empty/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[optiondescription_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_leadership_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_sub_dynamic/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_sub_dynamic/tiramisu/base.py
index 86a401bfc..e8477dd75 100644
--- a/tests/dictionaries/60_6family_dynamic_sub_dynamic/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_sub_dynamic/tiramisu/base.py
@@ -19,5 +19,5 @@ option_7 = StrOption(name="var_identifier", doc="identifier from first family",
option_8 = StrOption(name="var_identifiers", doc="merge identifiers", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.dyn{{ identifier }}.dyn_{{ identifier }}.var_identifiers"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_6family_dynamic_sub_dynamic/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}.dyn_{{ identifier }}.var_identifiers"), 's1': ParamIdentifier(identifier_index=0), 's2': ParamIdentifier(identifier_index=1)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic/rougail/00-base.yml'], 'type': 'string'})
optiondescription_5 = ConvertDynOptionDescription(name="dyn_{{ identifier }}", doc="a Second dynamic variable", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_4)))), children=[option_6, option_7, option_8], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.dyn{{ identifier }}.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4, optiondescription_5], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_sub_dynamic_1_0/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_sub_dynamic_1_0/tiramisu/base.py
index 9c8ce55f3..66d8e90fb 100644
--- a/tests/dictionaries/60_6family_dynamic_sub_dynamic_1_0/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_sub_dynamic_1_0/tiramisu/base.py
@@ -19,5 +19,5 @@ option_7 = StrOption(name="var_identifier", doc="identifier from first family",
option_8 = StrOption(name="var_identifiers", doc="merge identifiers", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.dyn{{ identifier }}.dyn_{{ identifier }}.var_identifiers"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}.dyn_{{ identifier }}.var_identifiers"), 's1': ParamIdentifier(identifier_index=0), 's2': ParamIdentifier(identifier_index=1)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0/rougail/00-base.yml'], 'type': 'string'})
optiondescription_5 = ConvertDynOptionDescription(name="dyn_{{ identifier }}", doc="a Second dynamic variable", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_4, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_6, option_7, option_8], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.dyn{{ identifier }}.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_4, optiondescription_5], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_sub_dynamic_1_0_2/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_sub_dynamic_1_0_2/tiramisu/base.py
index cba053c5e..7d4ff8c16 100644
--- a/tests/dictionaries/60_6family_dynamic_sub_dynamic_1_0_2/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_sub_dynamic_1_0_2/tiramisu/base.py
@@ -14,5 +14,5 @@ option_2 = StrOption(name="var", doc="A identifier variable", multi=True, defaul
option_5 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = ConvertDynOptionDescription(name="{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_5], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[optiondescription_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_sub_dynamic_empty/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_sub_dynamic_empty/tiramisu/base.py
index c3dea72e2..e1fd565c3 100644
--- a/tests/dictionaries/60_6family_dynamic_sub_dynamic_empty/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_sub_dynamic_empty/tiramisu/base.py
@@ -19,5 +19,5 @@ option_7 = StrOption(name="var_identifier", doc="identifier from first family",
option_8 = StrOption(name="var_identifiers", doc="merge identifiers", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.dyn{{ identifier }}.dyn_{{ identifier }}.var_identifiers"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_empty/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}.dyn_{{ identifier }}.var_identifiers"), 's1': ParamIdentifier(identifier_index=0), 's2': ParamIdentifier(identifier_index=1)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_empty/rougail/00-base.yml'], 'type': 'string'})
optiondescription_5 = ConvertDynOptionDescription(name="dyn_{{ identifier }}", doc="a Second dynamic variable", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_4)))), children=[option_6, option_7, option_8], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.dyn{{ identifier }}.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_empty/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4, optiondescription_5], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_empty/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_sub_dynamic_empty2/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_sub_dynamic_empty2/tiramisu/base.py
index 2d1da71fa..435f53142 100644
--- a/tests/dictionaries/60_6family_dynamic_sub_dynamic_empty2/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_sub_dynamic_empty2/tiramisu/base.py
@@ -18,5 +18,5 @@ option_7 = StrOption(name="var_identifier", doc="identifier from first family",
option_8 = StrOption(name="var_identifiers", doc="merge identifiers", default=Calculation(func['jinja_to_function'], Params((), kwargs={'__internal_jinja': ParamValue("default_rougail.dyn{{ identifier }}.dyn_{{ identifier }}.var_identifiers"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_empty2/rougail/00-base.yml']), '__internal_attribute': ParamValue("default"), '__internal_variable': ParamValue("rougail.dyn{{ identifier }}.dyn_{{ identifier }}.var_identifiers"), 's1': ParamIdentifier(identifier_index=0), 's2': ParamIdentifier(identifier_index=1)})), properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_empty2/rougail/00-base.yml'], 'type': 'string'})
optiondescription_5 = ConvertDynOptionDescription(name="dyn_{{ identifier }}", doc="a Second dynamic variable", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_4)))), children=[option_6, option_7, option_8], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.dyn{{ identifier }}.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_empty2/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_4, optiondescription_5], properties=frozenset({"standard"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_empty2/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"standard"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_suffix_auto_multi/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_suffix_auto_multi/tiramisu/base.py
index f4fe2e390..1c35c32a2 100644
--- a/tests/dictionaries/60_6family_dynamic_suffix_auto_multi/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_suffix_auto_multi/tiramisu/base.py
@@ -15,5 +15,5 @@ option_5 = StrOption(name="var", doc="A dynamic variable", properties=frozenset(
optiondescription_4 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_5], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_suffix_auto_multi/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[optiondescription_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_suffix_auto_multi/rougail/00-base.yml']})
option_6 = StrOption(name="var2", doc="A variable calculated", multi=True, default=Calculation(func['calc_value'], Params((ParamDynOption(option_5, ["val1"])), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "notunique", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_suffix_auto_multi/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_6family_dynamic_suffix_auto_multi2/tiramisu/base.py b/tests/dictionaries/60_6family_dynamic_suffix_auto_multi2/tiramisu/base.py
index 1a7138643..f0eb2927c 100644
--- a/tests/dictionaries/60_6family_dynamic_suffix_auto_multi2/tiramisu/base.py
+++ b/tests/dictionaries/60_6family_dynamic_suffix_auto_multi2/tiramisu/base.py
@@ -15,5 +15,5 @@ option_5 = StrOption(name="var", doc="A dynamic variable", properties=frozenset(
optiondescription_4 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_5], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_suffix_auto_multi2/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="dyn{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[optiondescription_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var1', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_suffix_auto_multi2/rougail/00-base.yml']})
option_6 = StrOption(name="var2", doc="A variable calculated", multi=True, default=Calculation(func['calc_value'], Params((ParamDynOption(option_5, ["val1", None])), kwargs={'__internal_multi': ParamValue(True)})), properties=frozenset({"mandatory", "notunique", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_suffix_auto_multi2/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3, option_6], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/60_9extra_dynamic/tiramisu/base.py b/tests/dictionaries/60_9extra_dynamic/tiramisu/base.py
index f88b7d991..b291ac5cb 100644
--- a/tests/dictionaries/60_9extra_dynamic/tiramisu/base.py
+++ b/tests/dictionaries/60_9extra_dynamic/tiramisu/base.py
@@ -11,8 +11,8 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="a variable", multi=True, default=["a"], default_multi="a", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_9extra_dynamic/rougail/00-base.yml'], 'type': 'string'})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
option_5 = StrOption(name="var", doc="var", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_9extra_dynamic/extra/00-base.yml'], 'type': 'string'})
optiondescription_4 = ConvertDynOptionDescription(name="dyn_{{ identifier }}", doc="dyn_{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2)))), children=[option_5], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_9extra_dynamic/extra/00-base.yml']})
-optiondescription_3 = OptionDescription(name="extra", doc="extra", group_type=groups.namespace, children=[optiondescription_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_3 = OptionDescription(name="extra", doc="extra", group_type=groups.namespace, children=[optiondescription_4], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_3])
diff --git a/tests/dictionaries/60_9extra_dynamic_extra/tiramisu/base.py b/tests/dictionaries/60_9extra_dynamic_extra/tiramisu/base.py
index 5216dcac6..d812cc55f 100644
--- a/tests/dictionaries/60_9extra_dynamic_extra/tiramisu/base.py
+++ b/tests/dictionaries/60_9extra_dynamic_extra/tiramisu/base.py
@@ -12,9 +12,9 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_3 = StrOption(name="varname", doc="No change", multi=True, default=["a"], default_multi="a", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_9extra_dynamic_extra/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_9extra_dynamic_extra/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
option_5 = StrOption(name="var", doc="a variable", multi=True, default=["a"], default_multi="a", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_9extra_dynamic_extra/extra/00-base.yml'], 'type': 'string'})
option_7 = StrOption(name="var", doc="var", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_9extra_dynamic_extra/extra/00-base.yml'], 'type': 'string'})
optiondescription_6 = ConvertDynOptionDescription(name="dyn_{{ identifier }}", doc="dyn_{{ identifier }}", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_5)))), children=[option_7], properties=frozenset({"basic"}), informations={'dynamic_variable': 'extra.var', 'ymlfiles': ['../rougail-tests/structures/60_9extra_dynamic_extra/extra/00-base.yml']})
-optiondescription_4 = OptionDescription(name="extra", doc="extra", group_type=groups.namespace, children=[option_5, optiondescription_6], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_4 = OptionDescription(name="extra", doc="extra", group_type=groups.namespace, children=[option_5, optiondescription_6], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1, optiondescription_4])
diff --git a/tests/dictionaries/60_9family_dynamic_calc_both/tiramisu/base.py b/tests/dictionaries/60_9family_dynamic_calc_both/tiramisu/base.py
index ee400294c..6246ebbc0 100644
--- a/tests/dictionaries/60_9family_dynamic_calc_both/tiramisu/base.py
+++ b/tests/dictionaries/60_9family_dynamic_calc_both/tiramisu/base.py
@@ -13,5 +13,5 @@ ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="a suffix variable", default="val2", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_9family_dynamic_calc_both/rougail/00-base.yml'], 'type': 'string'})
option_4 = StrOption(name="vardyn", doc="a dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_9family_dynamic_calc_both/rougail/00-base.yml'], 'type': 'string'})
optiondescription_3 = ConvertDynOptionDescription(name="dyn{{ identifier }}", doc="a dynamic family", identifiers=["val1", Calculation(func['calc_value'], Params((ParamOption(option_2))))], children=[option_4], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/60_9family_dynamic_calc_both/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/dictionaries/68_0family_leadership_mode/tiramisu/base.py b/tests/dictionaries/68_0family_leadership_mode/tiramisu/base.py
index f059a4663..bd57a0b96 100644
--- a/tests/dictionaries/68_0family_leadership_mode/tiramisu/base.py
+++ b/tests/dictionaries/68_0family_leadership_mode/tiramisu/base.py
@@ -14,5 +14,5 @@ option_3 = StrOption(name="leader", doc="A leader", multi=True, properties=froze
option_4 = StrOption(name="follower1", doc="a follower1", multi=True, properties=frozenset({"standard"}), informations={'ymlfiles': ['../rougail-tests/structures/68_0family_leadership_mode/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="follower2", doc="a follower2", multi=True, properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/68_0family_leadership_mode/rougail/00-base.yml'], 'type': 'string'})
optiondescription_2 = Leadership(name="leader", doc="A leadership", children=[option_3, option_4, option_5], properties=frozenset({"basic"}), informations={'ymlfiles': ['../rougail-tests/structures/68_0family_leadership_mode/rougail/00-base.yml']})
-optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
+optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"basic"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/test_1_flattener.py b/tests/test_1_flattener.py
index ae691afc1..8512f87cc 100644
--- a/tests/test_1_flattener.py
+++ b/tests/test_1_flattener.py
@@ -122,7 +122,7 @@ def save(test_dir, eolobj, multi=False, namespace=False, error=False):
if isdir(tiramisu_tmp_dir):
rmtree(tiramisu_tmp_dir)
makedirs(tiramisu_tmp_dir)
- tiramisu_objects = eolobj.run()
+ eolobj.run()
tiramisu_file = get_tiramisu_filename(test_dir, 'tiramisu', multi, namespace)
tiramisu_dir = dirname(tiramisu_file)
if not error:
diff --git a/tests/test_types.py b/tests/test_types.py
new file mode 100644
index 000000000..55a97fdb6
--- /dev/null
+++ b/tests/test_types.py
@@ -0,0 +1,54 @@
+from pathlib import Path
+from json import dump, load, dumps, loads
+from shutil import copyfile
+
+from rougail_tests.utils import config_to_dict
+from rougail import Rougail, RougailConfig
+
+
+def type_variable(test_name):
+ tmp_file = Path("tmp/tiramisu.py")
+ tmp_file.parent.mkdir(exist_ok=True)
+ tmp_file.unlink(missing_ok=True)
+ #
+ result = Path('tests/types/result') / test_name
+ result.mkdir(parents=True, exist_ok=True)
+ #
+ rougailconfig = RougailConfig.copy()
+ rougailconfig['types'] = [f'tests/types/types/{test_name}']
+ rougailconfig['main_structural_directories'] = [f'tests/types/structures/{ test_name }']
+ rougailconfig['tiramisu_cache'] = str(tmp_file)
+ rougail = Rougail(rougailconfig=rougailconfig)
+ config = rougail.run()
+ #
+ tiramisu_file = result / "tiramisu.py"
+ if not tiramisu_file.is_file():
+ copyfile(tmp_file, tiramisu_file)
+# tmp_file.copy(tiramisu_file)
+ with tmp_file.open() as fh:
+ tiramisu = fh.read()
+ with tiramisu_file.open() as fh:
+ loaded_tiramisu = fh.read()
+ assert loaded_tiramisu == tiramisu, f"error in file {tiramisu_file}"
+ tmp_file.unlink()
+ #
+ variables_file = result / "variables.json"
+ configuration = dict(config_to_dict(config.value.get()))
+ if not variables_file.is_file():
+ with variables_file.open('w') as fh:
+ dump(configuration, fh, indent=4)
+ with variables_file.open('r') as fh:
+ loaded_configuration = load(fh)
+ assert loaded_configuration == loads(dumps(configuration)), f"error in file {variables_file}"
+
+
+def test_type_variable():
+ type_variable("variable")
+
+
+def test_type_variables():
+ type_variable("variables")
+
+
+def test_type_family():
+ type_variable("family")
diff --git a/tests/types/result/family/tiramisu.py b/tests/types/result/family/tiramisu.py
new file mode 100644
index 000000000..efe6d790d
--- /dev/null
+++ b/tests/types/result/family/tiramisu.py
@@ -0,0 +1,15 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+from re import compile as re_compile
+from rougail.tiramisu import func, dict_env, load_functions, ConvertDynOptionDescription
+try:
+ groups.namespace
+except:
+ groups.addgroup('namespace')
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("standard")
+ALLOWED_LEADER_PROPERTIES.add("advanced")
+option_3 = StrOption(name="my_type", doc="My type", default="a value", properties=frozenset({"mandatory", "one_tag", "standard"}), informations={'ymlfiles': ['tests/types/types/family/00_type.yml'], 'type': 'string', 'tags': ('one_tag',)})
+optiondescription_2 = OptionDescription(name="my_family", doc="My family type", children=[option_3], properties=frozenset({"standard"}), informations={'ymlfiles': ['tests/types/types/family/00_type.yml', 'tests/types/structures/family/00_structure.yml']})
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", group_type=groups.namespace, children=[optiondescription_2], properties=frozenset({"standard"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/types/result/family/variables.json b/tests/types/result/family/variables.json
new file mode 100644
index 000000000..1147da561
--- /dev/null
+++ b/tests/types/result/family/variables.json
@@ -0,0 +1,3 @@
+{
+ "rougail.my_family.my_type": "a value"
+}
\ No newline at end of file
diff --git a/tests/types/result/variable/tiramisu.py b/tests/types/result/variable/tiramisu.py
new file mode 100644
index 000000000..d70aa455d
--- /dev/null
+++ b/tests/types/result/variable/tiramisu.py
@@ -0,0 +1,14 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+from re import compile as re_compile
+from rougail.tiramisu import func, dict_env, load_functions, ConvertDynOptionDescription
+try:
+ groups.namespace
+except:
+ groups.addgroup('namespace')
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("standard")
+ALLOWED_LEADER_PROPERTIES.add("advanced")
+option_2 = StrOption(name="my_var", doc="My type", default="a value", properties=frozenset({"mandatory", "one_tag", "standard"}), informations={'ymlfiles': ['tests/types/types/variable/00_type.yml', 'tests/types/structures/variable/00_structure.yml'], 'type': 'string', 'tags': ('one_tag',)})
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/types/result/variable/variables.json b/tests/types/result/variable/variables.json
new file mode 100644
index 000000000..3b31efb64
--- /dev/null
+++ b/tests/types/result/variable/variables.json
@@ -0,0 +1,3 @@
+{
+ "rougail.my_var": "a value"
+}
\ No newline at end of file
diff --git a/tests/types/result/variables/tiramisu.py b/tests/types/result/variables/tiramisu.py
new file mode 100644
index 000000000..f3ce3c54c
--- /dev/null
+++ b/tests/types/result/variables/tiramisu.py
@@ -0,0 +1,16 @@
+from tiramisu import *
+from tiramisu.setting import ALLOWED_LEADER_PROPERTIES
+from re import compile as re_compile
+from rougail.tiramisu import func, dict_env, load_functions, ConvertDynOptionDescription
+try:
+ groups.namespace
+except:
+ groups.addgroup('namespace')
+ALLOWED_LEADER_PROPERTIES.add("basic")
+ALLOWED_LEADER_PROPERTIES.add("standard")
+ALLOWED_LEADER_PROPERTIES.add("advanced")
+option_2 = StrOption(name="my_var1", doc="My type", default="a value", properties=frozenset({"an_other_tag", "mandatory", "standard"}), informations={'ymlfiles': ['tests/types/types/variables/00_type.yml', 'tests/types/structures/variables/00_structure.yml'], 'type': 'string', 'tags': ('an_other_tag',)})
+option_3 = StrOption(name="my_var2", doc="My type", default="a value", properties=frozenset({"mandatory", "one_tag", "standard"}), informations={'ymlfiles': ['tests/types/types/variables/00_type.yml', 'tests/types/structures/variables/00_structure.yml'], 'type': 'string', 'tags': ('one_tag',)})
+option_4 = StrOption(name="my_var3", doc="my_var3", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['tests/types/structures/variables/00_structure.yml'], 'type': 'string'})
+optiondescription_1 = OptionDescription(name="rougail", doc="rougail", group_type=groups.namespace, children=[option_2, option_3, option_4], properties=frozenset({"basic"}))
+option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])
diff --git a/tests/types/result/variables/variables.json b/tests/types/result/variables/variables.json
new file mode 100644
index 000000000..189bbb970
--- /dev/null
+++ b/tests/types/result/variables/variables.json
@@ -0,0 +1,5 @@
+{
+ "rougail.my_var1": "a value",
+ "rougail.my_var2": "a value",
+ "rougail.my_var3": null
+}
\ No newline at end of file
diff --git a/tests/types/structures/family/00_structure.yml b/tests/types/structures/family/00_structure.yml
new file mode 100644
index 000000000..0d3ac248d
--- /dev/null
+++ b/tests/types/structures/family/00_structure.yml
@@ -0,0 +1,7 @@
+%YAML 1.2
+---
+version: 1.1
+
+my_family:
+ type: my_family_type
+...
diff --git a/tests/types/structures/variable/00_structure.yml b/tests/types/structures/variable/00_structure.yml
new file mode 100644
index 000000000..2964bf11b
--- /dev/null
+++ b/tests/types/structures/variable/00_structure.yml
@@ -0,0 +1,7 @@
+%YAML 1.2
+---
+version: 1.1
+
+my_var:
+ type: my_type
+...
diff --git a/tests/types/structures/variables/00_structure.yml b/tests/types/structures/variables/00_structure.yml
new file mode 100644
index 000000000..4a429447b
--- /dev/null
+++ b/tests/types/structures/variables/00_structure.yml
@@ -0,0 +1,14 @@
+%YAML 1.2
+---
+version: 1.1
+
+my_var1:
+ type: my_type
+ tags:
+ - an_other_tag
+
+my_var2:
+ type: my_type
+
+my_var3:
+...
diff --git a/tests/types/types/family/00_type.yml b/tests/types/types/family/00_type.yml
new file mode 100644
index 000000000..a30ed8123
--- /dev/null
+++ b/tests/types/types/family/00_type.yml
@@ -0,0 +1,13 @@
+%YAML 1.2
+---
+version: 1.1
+
+my_family_type:
+ description: My family type
+
+ my_type:
+ description: My type
+ default: a value
+ tags:
+ - one_tag
+...
diff --git a/tests/types/types/variable/00_type.yml b/tests/types/types/variable/00_type.yml
new file mode 100644
index 000000000..c22439517
--- /dev/null
+++ b/tests/types/types/variable/00_type.yml
@@ -0,0 +1,10 @@
+%YAML 1.2
+---
+version: 1.1
+
+my_type:
+ description: My type
+ default: a value
+ tags:
+ - one_tag
+...
diff --git a/tests/types/types/variables/00_type.yml b/tests/types/types/variables/00_type.yml
new file mode 100644
index 000000000..c22439517
--- /dev/null
+++ b/tests/types/types/variables/00_type.yml
@@ -0,0 +1,10 @@
+%YAML 1.2
+---
+version: 1.1
+
+my_type:
+ description: My type
+ default: a value
+ tags:
+ - one_tag
+...