add force_metaconfig_on_freeze special properties

This commit is contained in:
2019-02-23 22:10:43 +01:00
parent c3f968dbde
commit 1bbcea60ab
8 changed files with 129 additions and 34 deletions

View File

@ -90,12 +90,15 @@ class CacheOptionDescription(BaseOption):
'"force_store_value" property').format(
option.impl_get_display_name()))
force_store_values.append((subpath, option))
if __debug__ and 'force_default_on_freeze' in properties and \
if __debug__ and ('force_default_on_freeze' in properties or \
'force_metaconfig_on_freeze' in properties) and \
'frozen' not in properties and \
option.impl_is_leader():
raise ConfigError(_('a leader ({0}) cannot have '
'"force_default_on_freeze" property without "frozen"'
'').format(subpath))
'"force_default_on_freeze" or '
'"force_metaconfig_on_freeze" '
'property without "frozen"'
'').format(option.impl_get_display_name()))
for cons_id, func, all_cons_opts, params in option.get_consistencies():
option._valid_consistencies(all_cons_opts[1:], init=False)
if func not in ALLOWED_CONST_LIST and is_multi: