better symlink support and submulti

This commit is contained in:
2019-04-17 19:15:30 +02:00
parent 64699bfba1
commit ceae0be2ce
8 changed files with 64 additions and 28 deletions

View File

@ -1 +1 @@
{"unicode1_leadership_requires_follower_value.options.unicode1.unicode1": ["test", "pas test"], "unicode1_leadership_requires_follower_value.options.unicode1.unicode2": ["super1", null], "unicode1_leadership_requires_follower_value.options.unicode1.unicode3": ["super1", "cannot access to option \"Unicode follower 2\" because has property \"hidden\" (the value of \"Values 'test' must show 'Unicode follower 2'\" is not \"test\")"]}
{"unicode1_leadership_requires_follower_value.options.unicode1.unicode1": ["test", "pas test"], "unicode1_leadership_requires_follower_value.options.unicode1.unicode2": ["super1", null], "unicode1_leadership_requires_follower_value.options.unicode1.unicode3": ["super1", "ne peut acc\u00e9der \u00e0 l'option \"Unicode follower 2\" a cause de la propri\u00e9t\u00e9 \"hidden\" (la valeur de \"Values 'test' must show 'Unicode follower 2'\" n'est pas \"test\")"]}

View File

@ -1 +1 @@
{"unicode1_leadership_requires_value.options.unicode.unicode": ["test", "val2"], "unicode1_leadership_requires_value.options.unicode.unicode1": ["super1", "super2"], "unicode1_leadership_requires_value.options.unicode.unicode2": ["pas test", "test"], "unicode1_leadership_requires_value.options.unicode.unicode3": [null, "cannot access to option \"Unicode follower 3\" because has property \"hidden\" (the value of \"Values 'test' must show 'Unicode follower 3'\" is not \"test\")"]}
{"unicode1_leadership_requires_value.options.unicode.unicode": ["test", "val2"], "unicode1_leadership_requires_value.options.unicode.unicode1": ["super1", "super2"], "unicode1_leadership_requires_value.options.unicode.unicode2": ["pas test", "test"], "unicode1_leadership_requires_value.options.unicode.unicode3": [null, "ne peut acc\u00e9der \u00e0 l'option \"Unicode follower 3\" a cause de la propri\u00e9t\u00e9 \"hidden\" (la valeur de \"Values 'test' must show 'Unicode follower 3'\" n'est pas \"test\")"]}

View File

@ -1 +1 @@
{"unicode1_multi_mandatory.options.unicode": {"null": ["empty", "mandatory"]}}
{"unicode1_multi_mandatory.options.unicode": {"null": ["mandatory", "empty"]}}

View File

@ -1 +1 @@
{"options.unicode1.unicode1": ["test", "pas test"], "options.unicode1.unicode2": ["super1", null], "options.unicode1.unicode3": ["super1", "cannot access to option \"Unicode follower 2\" because has property \"hidden\" (the value of \"Values 'test' must show 'Unicode follower 2'\" is not \"test\")"]}
{"options.unicode1.unicode1": ["test", "pas test"], "options.unicode1.unicode2": ["super1", null], "options.unicode1.unicode3": ["super1", "ne peut acc\u00e9der \u00e0 l'option \"Unicode follower 2\" a cause de la propri\u00e9t\u00e9 \"hidden\" (la valeur de \"Values 'test' must show 'Unicode follower 2'\" n'est pas \"test\")"]}

View File

@ -1 +1 @@
{"options.unicode.unicode": ["test", "val2"], "options.unicode.unicode1": ["super1", "super2"], "options.unicode.unicode2": ["pas test", "test"], "options.unicode.unicode3": [null, "cannot access to option \"Unicode follower 3\" because has property \"hidden\" (the value of \"Values 'test' must show 'Unicode follower 3'\" is not \"test\")"]}
{"options.unicode.unicode": ["test", "val2"], "options.unicode.unicode1": ["super1", "super2"], "options.unicode.unicode2": ["pas test", "test"], "options.unicode.unicode3": [null, "ne peut acc\u00e9der \u00e0 l'option \"Unicode follower 3\" a cause de la propri\u00e9t\u00e9 \"hidden\" (la valeur de \"Values 'test' must show 'Unicode follower 3'\" n'est pas \"test\")"]}

View File

@ -1 +1 @@
{"options.unicode": {"null": ["empty", "mandatory"]}}
{"options.unicode": {"null": ["mandatory", "empty"]}}

View File

@ -26,7 +26,7 @@ def error_to_str(dico):
for key, value in dico.items():
if isinstance(value, list):
for idx, val in enumerate(value):
if (isinstance(val, str) and val.startswith('cannot access to')) or isinstance(val, PropertiesOptionError):
if (isinstance(val, str) and (val.startswith('cannot access to') or val.startswith('ne peut accéder'))) or isinstance(val, PropertiesOptionError):
dico[key][idx] = "PropertiesOptionError"
return dico
@ -188,15 +188,23 @@ def test_prop2():
def test_info():
debug = False
# debug = True
for filename in list_data():
with open(filename, 'r') as fh:
json = loads(fh.read())
config = Config(json)
with open(filename[:-4] + 'info', 'r') as fh:
dico = loads(fh.read())
if debug:
from pprint import pprint
pprint(json)
print('-------------------')
pprint(dico)
for key, values in dico.items():
for info, value in values.items():
assert getattr(config.option(key).option, info)() == value, 'error for {} in {}'.format(info, filename)
assert getattr(config.option(key).option, info)() == value, 'error for {} info {} in {}'.format(key, info, filename)
def test_mod():