Mon Dec 1 22:58:13 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
* propertyerror are transitive in consistency, now it's possible to set
non-transitive consistency
+ * if consistency with multiple option return if transitive
Sun Oct 26 08:50:38 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
* if option is frozen with force_default_on_freeze property, owner
c.a = 1
+def test_consistency_disabled_transitive_2():
+ a = IPOption('a', '')
+ b = IPOption('b', '')
+ c = NetworkOption('c', '', default='192.168.1.0')
+ d = NetmaskOption('d', '', default='255.255.255.0', properties=('disabled',))
+ od = OptionDescription('od', '', [a, b, c, d])
+ a.impl_add_consistency('not_equal', b)
+ a.impl_add_consistency('in_network', c, d, transitive=False)
+ c = Config(od)
+ c.read_write()
+ c.a = '192.168.1.1'
+ raises(ValueError, "c.b = '192.168.1.1'")
+ c.a = '192.168.2.1'
+ #
+ c.a = '192.168.1.1'
+ c.cfgimpl_get_settings().remove('disabled')
+ raises(ValueError, "c.a = '192.168.2.1'")
+
+
def return_val(*args, **kwargs):
return '192.168.1.1'
if transitive:
raise err
else:
- pass
+ return
getattr(self, func)(all_cons_opts, all_cons_vals, warnings_only)
def impl_validate(self, value, context=undefined, validate=True,