better performance in find_firsts
_is_build_cache not set in dictionary storage
This commit is contained in:
@ -18,6 +18,13 @@ def make_description():
|
||||
return OptionDescription('od1', '', [u1, u2, u3])
|
||||
|
||||
|
||||
def test_cache_config():
|
||||
od1 = make_description()
|
||||
assert od1.impl_already_build_caches() == False
|
||||
c = Config(od1)
|
||||
assert od1.impl_already_build_caches() == True
|
||||
|
||||
|
||||
def test_cache():
|
||||
od1 = make_description()
|
||||
c = Config(od1)
|
||||
|
@ -153,12 +153,17 @@ def test_meta_meta_set():
|
||||
meta2.setattrs('od1.i6', 7)
|
||||
assert conf1.od1.i1 == conf2.od1.i1 == 7
|
||||
assert conf1.getowner(conf1.unwrap_from_path('od1.i1')) is conf2.getowner(conf2.unwrap_from_path('od1.i1')) is owners.user
|
||||
assert [conf1, conf2] == meta2.find_firsts(byname='i1', byvalue=7)
|
||||
assert [conf1, conf2] == meta2.find_firsts(byname='i1', byvalue=7, type_='config')
|
||||
assert ['od1.i1', 'od1.i1'] == meta2.find_firsts(byname='i1', byvalue=7, type_='path')
|
||||
conf1.od1.i1 = 8
|
||||
assert [conf1, conf2] == meta2.find_firsts(byname='i1')
|
||||
assert [conf2] == meta2.find_firsts(byname='i1', byvalue=7)
|
||||
assert [conf1] == meta2.find_firsts(byname='i1', byvalue=8)
|
||||
assert [conf1, conf2] == meta2.find_firsts(byname='i5', byvalue=2)
|
||||
assert [conf1, conf2] == meta2.find_firsts(byname='i1', type_='config')
|
||||
assert ['od1.i1', 'od1.i1'] == meta2.find_firsts(byname='i1', type_='path')
|
||||
assert [conf2] == meta2.find_firsts(byname='i1', byvalue=7, type_='config')
|
||||
assert ['od1.i1'] == meta2.find_firsts(byname='i1', byvalue=7, type_='path')
|
||||
assert [conf1] == meta2.find_firsts(byname='i1', byvalue=8, type_='config')
|
||||
assert ['od1.i1'] == meta2.find_firsts(byname='i1', byvalue=8, type_='path')
|
||||
assert [conf1, conf2] == meta2.find_firsts(byname='i5', byvalue=2, type_='config')
|
||||
assert ['od1.i5', 'od1.i5'] == meta2.find_firsts(byname='i5', byvalue=2, type_='path')
|
||||
raises(AttributeError, "meta2.find_firsts(byname='i1', byvalue=10)")
|
||||
raises(AttributeError, "meta2.find_firsts(byname='not', byvalue=10)")
|
||||
raises(AttributeError, "meta2.find_firsts(byname='i6')")
|
||||
@ -179,6 +184,16 @@ def test_not_meta():
|
||||
assert conf1.getowner(conf1.unwrap_from_path('od1.i1')) is conf2.getowner(conf2.unwrap_from_path('od1.i1')) is owners.user
|
||||
|
||||
|
||||
def test_group_find_firsts():
|
||||
i1 = IntOption('i1', '')
|
||||
od1 = OptionDescription('od1', '', [i1])
|
||||
od2 = OptionDescription('od2', '', [od1])
|
||||
conf1 = Config(od2)
|
||||
conf2 = Config(od2)
|
||||
meta = GroupConfig([conf1, conf2])
|
||||
conf1, conf2 = meta.find_firsts(byname='i1')
|
||||
|
||||
|
||||
def test_meta_path():
|
||||
meta = make_description()
|
||||
assert meta._impl_path is None
|
||||
|
Reference in New Issue
Block a user