test coverage

This commit is contained in:
2018-09-22 17:45:52 +02:00
parent 721ff8643d
commit df77bc8738
8 changed files with 74 additions and 41 deletions

View File

@ -156,9 +156,9 @@ class CommonTiramisuOption(CommonTiramisu):
if self.option_bag.index is None and option.impl_is_master_slaves('slave'):
raise APIError(_('index must be set with the slave option "{}"').format(self.option_bag.path))
elif self.option_bag.index is not None and not option.impl_is_master_slaves('slave'):
raise APIError(_('index must be set only with a slave option, not for "{}"').format(self.option_bag.path))
raise APIError(_('index must be set only with a slave option, not for "{}"').format(self.option_bag.path)) # pragma: no cover
def __getattr__(self, name):
def __getattr__(self, name): # pragma: no cover
if not hasattr(CommonTiramisuOption, name):
raise APIError(_('unknown method {}').format(name))
else:
@ -246,7 +246,7 @@ class TiramisuOptionOption(CommonTiramisuOption):
option = self.option_bag.option
if not option.impl_is_optiondescription() and not name.startswith('_'):
return getattr(self, '_' + name)
raise APIError(_('{} is unknown').format(name))
raise APIError(_('{} is unknown').format(name)) # pragma: no cover
def isoptiondescription(self):
"""test if option is an optiondescription"""
@ -560,13 +560,10 @@ class TiramisuOption(CommonTiramisu):
self._path = path
self.index = index
self.config_bag = config_bag
if option_bag:
self.option_bag = option_bag
else:
self.option_bag = OptionBag()
self.option_bag.path = self._path
self.option_bag.index = self.index
self.option_bag.config_bag = self.config_bag
self.option_bag = OptionBag()
self.option_bag.path = self._path
self.option_bag.index = self.index
self.option_bag.config_bag = self.config_bag
if not self.registers:
registers(self.registers, self.__class__.__name__)
@ -577,7 +574,7 @@ class TiramisuOption(CommonTiramisu):
self.option_bag)
elif self._get_option().impl_is_optiondescription() and not subfunc.startswith('_'):
return getattr(self, '_' + subfunc)
raise APIError(_('please specify a valid sub function ({})').format(subfunc))
raise APIError(_('please specify a valid sub function ({})').format(subfunc)) # pragma: no cover
def _find(self,
name: str,
@ -613,29 +610,29 @@ class TiramisuOption(CommonTiramisu):
return t_option
ret.append(t_option)
return ret
def _get(self, name):
self._get_option()
current_option = self.option_bag.option.impl_getchild(name,
self.config_bag,
self.subconfig.cfgimpl_get_path)
path = self.option_bag.path + '.' + name
option_bag= OptionBag()
option_bag.set_option(current_option,
path,
None,
self.config_bag)
if current_option.impl_is_optiondescription():
subconfig = self.subconfig.getattr(name,
option_bag)
else:
subconfig = self.subconfig
return TiramisuOption(name,
path,
None,
subconfig,
self.config_bag,
option_bag)
#
# def _get(self, name):
# self._get_option()
# current_option = self.option_bag.option.impl_getchild(name,
# self.config_bag,
# self.subconfig.cfgimpl_get_path)
# path = self.option_bag.path + '.' + name
# option_bag= OptionBag()
# option_bag.set_option(current_option,
# path,
# None,
# self.config_bag)
# if current_option.impl_is_optiondescription():
# subconfig = self.subconfig.getattr(name,
# option_bag)
# else:
# subconfig = self.subconfig
# return TiramisuOption(name,
# path,
# None,
# subconfig,
# self.config_bag,
# option_bag)
def _group_type(self):
"""get type for an optiondescription (only for optiondescription)"""
@ -992,7 +989,7 @@ class TiramisuContextConfig(TiramisuContext):
return Config(self.config_bag.context.find_firsts(byname=name,
byvalue=value,
config_bag=self.config_bag))
else:
else: # pragma: no cover
raise APIError('not implemented yet')
def name(self):
@ -1064,9 +1061,9 @@ class TiramisuContextConfig(TiramisuContext):
return getattr(self, '_g_' + name)
elif isinstance(self.config_bag.context, KernelConfig):
return getattr(self, '_c_' + name)
except APIError:
except APIError: # pragma: no cover
raise APIError(_('{} is unknown').format(name))
raise APIError(_('{} is unknown').format(name))
raise APIError(_('{} is unknown').format(name)) # pragma: no cover
class TiramisuDispatcher: