Manipulate properties is now more convenient:
c.cfgimpl_get_settings().has_property('hidden') => 'hidden' in c.cfgimpl_get_settings() c.cfgimpl_get_settings().has_property('hidden', option1) => 'frozen' in c.cfgimpl_get_settings()[opt] c.cfgimpl_get_settings().get_properties(option1) => c.cfgimpl_get_settings()[option1] c.cfgimpl_get_settings().get_properties(option1) => c.cfgimpl_get_settings()[option1] c.cfgimpl_get_settings().add_property('hidden', option1) => c.cfgimpl_get_settings()[optiont1].append('hidden') c.cfgimpl_get_settings().del_property('hidden', option1) => c.cfgimpl_get_settings()[optiont1].remove('hidden') c.cfgimpl_get_settings().enable_property('hidden') => c.cfgimpl_get_settings().append('hidden') c.cfgimpl_get_settings().disable_property('hidden') => c.cfgimpl_get_settings().remove('hidden')
This commit is contained in:
@ -2,15 +2,17 @@
|
||||
import autopath
|
||||
from py.test import raises
|
||||
|
||||
from tiramisu.config import *
|
||||
from tiramisu.option import *
|
||||
from tiramisu.config import Config
|
||||
from tiramisu.option import BoolOption, OptionDescription, ChoiceOption,\
|
||||
IntOption, FloatOption, StrOption
|
||||
|
||||
|
||||
def make_description():
|
||||
gcoption = ChoiceOption('name', 'GC name', ['ref', 'framework'], 'ref')
|
||||
gcdummy = BoolOption('dummy', 'dummy', default=False)
|
||||
gcdummy2 = BoolOption('hide', 'dummy', default=True)
|
||||
objspaceoption = ChoiceOption('objspace', 'Object space',
|
||||
['std', 'thunk'], 'std')
|
||||
['std', 'thunk'], 'std')
|
||||
booloption = BoolOption('bool', 'Test boolean option', default=True)
|
||||
intoption = IntOption('int', 'Test int option', default=0)
|
||||
floatoption = FloatOption('float', 'Test float option', default=2.3)
|
||||
@ -22,16 +24,11 @@ def make_description():
|
||||
|
||||
gcgroup = OptionDescription('gc', '', [gcoption, gcdummy, floatoption, gcdummy2])
|
||||
descr = OptionDescription('tiram', '', [gcgroup, booloption, objspaceoption,
|
||||
wantref_option, stroption,
|
||||
wantframework_option,
|
||||
intoption, boolop])
|
||||
wantref_option, stroption,
|
||||
wantframework_option,
|
||||
intoption, boolop])
|
||||
return descr
|
||||
|
||||
#def test_base_config_and_groups():
|
||||
# descr = make_description()
|
||||
# # overrides the booloption default value
|
||||
# config = Config(descr, bool=False)
|
||||
# assert config.gc.hide == True
|
||||
|
||||
def test_root_config_answers_ok():
|
||||
"if you hide the root config, the options in this namespace behave normally"
|
||||
@ -40,16 +37,19 @@ def test_root_config_answers_ok():
|
||||
descr = OptionDescription('tiramisu', '', [gcdummy, boolop])
|
||||
cfg = Config(descr)
|
||||
settings = cfg.cfgimpl_get_settings()
|
||||
settings.enable_property('hiddend') #cfgimpl_hide()
|
||||
assert cfg.dummy == False
|
||||
assert cfg.boolop == True
|
||||
settings.append('hidden')
|
||||
assert cfg.dummy is False
|
||||
assert cfg.boolop is True
|
||||
|
||||
|
||||
def test_optname_shall_not_start_with_numbers():
|
||||
raises(ValueError, "gcdummy = BoolOption('123dummy', 'dummy', default=False)")
|
||||
raises(ValueError, "descr = OptionDescription('123tiramisu', '', [])")
|
||||
|
||||
#def test_option_has_an_api_name():
|
||||
# gcdummy = BoolOption('cfgimpl_get_settings', 'dummy', default=False)
|
||||
# boolop = BoolOption('boolop', 'Test boolean option op', default=True)
|
||||
# descr = OptionDescription('tiramisu', '', [gcdummy, boolop])
|
||||
# raises(ValueError, "cfg = Config(descr)")
|
||||
|
||||
def test_option_has_an_api_name():
|
||||
print "FIXME"
|
||||
#gcdummy = BoolOption('cfgimpl_get_settings', 'dummy', default=False)
|
||||
#boolop = BoolOption('boolop', 'Test boolean option op', default=True)
|
||||
#descr = OptionDescription('tiramisu', '', [gcdummy, boolop])
|
||||
#raises(ValueError, "cfg = Config(descr)")
|
||||
|
Reference in New Issue
Block a user