tiramisu/setting.py : properties store in cache was a reference to a list modified in validation, should copy properties in cache

This commit is contained in:
2014-02-20 14:27:29 +01:00
committed by Daniel Dehennin
parent fc7f3c24a5
commit d5b83c123c
2 changed files with 12 additions and 1 deletions

View File

@ -367,3 +367,14 @@ def test_reset_multiple():
setting[option].append('test')
setting.reset(all_properties=True)
setting.reset(all_properties=True)
def test_properties_cached():
b1 = BoolOption("b1", "", properties=('test',))
descr = OptionDescription("opt", "", [OptionDescription("sub", "", [b1])])
c = Config(descr)
c.read_write()
setting = c.cfgimpl_get_settings()
option = c.cfgimpl_get_description().sub.b1
c._setattr('sub.b1', True, force_permissive=True)
assert str(setting[b1]) == "['test']"