coverage
This commit is contained in:
@ -6,8 +6,9 @@ do_autopath()
|
||||
|
||||
from py.test import raises
|
||||
|
||||
from tiramisu.error import APIError
|
||||
from tiramisu.error import APIError, ConfigError
|
||||
from tiramisu import IntOption, OptionDescription, Config
|
||||
from tiramisu.setting import groups
|
||||
|
||||
|
||||
def a_func():
|
||||
@ -113,6 +114,39 @@ def test_unknown_option():
|
||||
raises(AttributeError, "api.option('od.unknown.suboption').value.get()")
|
||||
|
||||
|
||||
def test_optiondescription_group():
|
||||
groups.notfamily = groups.GroupType('notfamily')
|
||||
i = IntOption('test', '')
|
||||
i2 = IntOption('test', '')
|
||||
od1 = OptionDescription('od', '', [i])
|
||||
od1.impl_set_group_type(groups.family)
|
||||
od3 = OptionDescription('od2', '', [i2])
|
||||
od3.impl_set_group_type(groups.notfamily)
|
||||
od2 = OptionDescription('od', '', [od1, od3])
|
||||
api = Config(od2)
|
||||
assert len(list(api.option.list('optiondescription'))) == 2
|
||||
assert len(list(api.option.list('optiondescription', group_type=groups.family))) == 1
|
||||
assert len(list(api.option.list('optiondescription', group_type=groups.notfamily))) == 1
|
||||
|
||||
|
||||
def test_optiondescription_group_redefined():
|
||||
try:
|
||||
groups.notfamily = groups.GroupType('notfamily')
|
||||
except:
|
||||
pass
|
||||
i = IntOption('test', '')
|
||||
od1 = OptionDescription('od', '', [i])
|
||||
od1.impl_set_group_type(groups.family)
|
||||
raises(ValueError, "od1.impl_set_group_type(groups.notfamily)")
|
||||
|
||||
|
||||
def test_optiondescription_group_masterslave():
|
||||
i = IntOption('test', '')
|
||||
od1 = OptionDescription('od', '', [i])
|
||||
raises(ConfigError, "od1.impl_set_group_type(groups.master)")
|
||||
|
||||
|
||||
|
||||
def test_asign_optiondescription():
|
||||
i = IntOption('test', '')
|
||||
od1 = OptionDescription('od', '', [i])
|
||||
|
@ -241,6 +241,20 @@ def test_callback_params_without_callback():
|
||||
raises(ValueError, "StrOption('val2', '', callback_params=Params(ParamValue('yes')))")
|
||||
|
||||
|
||||
def test_params():
|
||||
raises(ValueError, "Params([ParamContext()])")
|
||||
raises(ValueError, "Params('str')")
|
||||
raises(ValueError, "Params(('str',))")
|
||||
raises(ValueError, "Params(kwargs=[ParamContext()])")
|
||||
raises(ValueError, "Params(kwargs={'a': 'str'})")
|
||||
|
||||
|
||||
def test_param_option():
|
||||
val1 = StrOption('val1', "")
|
||||
raises(ValueError, "ParamOption('str')")
|
||||
raises(ValueError, "ParamOption(val1, 'str')")
|
||||
|
||||
|
||||
def test_callback_invalid():
|
||||
raises(ValueError, 'val1 = StrOption("val1", "", callback="string")')
|
||||
raises(ValueError, 'val1 = StrOption("val1", "", callback=return_val, callback_params="string")')
|
||||
|
@ -415,6 +415,17 @@ def test_consistency_ip_netmask():
|
||||
api.option('b').value.set('255.255.255.0')
|
||||
raises(ValueError, "api.option('a').value.set('192.168.1.0')")
|
||||
raises(ValueError, "api.option('a').value.set('192.168.1.255')")
|
||||
api.option('a').value.reset()
|
||||
api.option('b').value.reset()
|
||||
api.option('a').value.set('192.168.1.255')
|
||||
raises(ValueError, "api.option('b').value.set('255.255.255.0')")
|
||||
|
||||
|
||||
def test_consistency_ip_netmask_invalid():
|
||||
a = IPOption('a', '')
|
||||
b = NetmaskOption('b', '')
|
||||
od = OptionDescription('od', '', [a, b])
|
||||
raises(ConfigError, "b.impl_add_consistency('ip_netmask')")
|
||||
|
||||
|
||||
def test_consistency_network_netmask():
|
||||
@ -431,6 +442,13 @@ def test_consistency_network_netmask():
|
||||
raises(ValueError, "api.option('a').value.set('192.168.1.1')")
|
||||
|
||||
|
||||
def test_consistency_network_netmask_invalid():
|
||||
a = NetworkOption('a', '')
|
||||
b = NetmaskOption('b', '')
|
||||
od = OptionDescription('od', '', [a, b])
|
||||
raises(ConfigError, "b.impl_add_consistency('network_netmask')")
|
||||
|
||||
|
||||
def test_consistency_ip_in_network():
|
||||
a = NetworkOption('a', '')
|
||||
b = NetmaskOption('b', '')
|
||||
@ -452,26 +470,13 @@ def test_consistency_ip_in_network():
|
||||
assert len(w) == 1
|
||||
|
||||
|
||||
# needs 3 arguments, not 2
|
||||
#def test_consistency_ip_in_network_len_error():
|
||||
# a = NetworkOption('a', '')
|
||||
# b = NetmaskOption('b', '')
|
||||
# c = IPOption('c', '')
|
||||
# od = OptionDescription('od', '', [a, b, c])
|
||||
# raises(ConfigError, "c.impl_add_consistency('in_network', a)")
|
||||
|
||||
|
||||
# needs 2 arguments, not 3
|
||||
#def test_consistency_ip_netmask_network_error():
|
||||
# a = IPOption('a', '')
|
||||
# b = NetworkOption('b', '')
|
||||
# c = NetmaskOption('c', '')
|
||||
# od = OptionDescription('od', '', [a, b, c])
|
||||
# c.impl_add_consistency('ip_netmask', a, b)
|
||||
# api = Config(od)
|
||||
# api.option('a').value.set('192.168.1.1')
|
||||
# api.option('b').value.set('192.168.1.0')
|
||||
# raises(ConfigError, "api.option('c').value.set('255.255.255.0')")
|
||||
def test_consistency_ip_in_network_invalid():
|
||||
a = NetworkOption('a', '')
|
||||
b = NetmaskOption('b', '')
|
||||
c = IPOption('c', '')
|
||||
d = IPOption('d', '')
|
||||
od = OptionDescription('od', '', [a, b, c, d])
|
||||
raises(ConfigError, "c.impl_add_consistency('in_network', a)")
|
||||
|
||||
|
||||
def test_consistency_ip_netmask_error_multi():
|
||||
|
@ -112,6 +112,17 @@ def test_setowner_for_value():
|
||||
assert api.option('dummy').owner.get() == owners.new2
|
||||
|
||||
|
||||
def test_setowner_forbidden():
|
||||
gcdummy = BoolOption('dummy', 'dummy', default=False)
|
||||
descr = OptionDescription('tiramisu', '', [gcdummy])
|
||||
api = Config(descr)
|
||||
assert api.option('dummy').value.get() is False
|
||||
assert api.option('dummy').owner.get() == 'default'
|
||||
raises(ValueError, "api.owner.set('default')")
|
||||
api.option('dummy').value.set(False)
|
||||
raises(ValueError, "api.option('dummy').owner.set('default')")
|
||||
|
||||
|
||||
def test_setowner_read_only():
|
||||
gcdummy = BoolOption('dummy', 'dummy', default=False)
|
||||
descr = OptionDescription('tiramisu', '', [gcdummy])
|
||||
|
Reference in New Issue
Block a user