diff --git a/test/test_metaconfig.py b/test/test_metaconfig.py index f9250f4..98c4108 100644 --- a/test/test_metaconfig.py +++ b/test/test_metaconfig.py @@ -187,17 +187,17 @@ def test_meta_meta(): def test_meta_new_config(): od = make_description() meta = MetaConfig(['name1', 'name2'], optiondescription=od) - assert len(meta.config.list()) == 2 + assert len(list(meta.config.list())) == 2 meta.config.new('newconf1') - assert len(meta.config.list()) == 3 + assert len(list(meta.config.list())) == 3 def test_meta_new_config_wrong_name(): od = make_description() meta = MetaConfig(['name1', 'name2'], optiondescription=od) - assert len(meta.config.list()) == 2 + assert len(list(meta.config.list())) == 2 raises(ConflictError, "meta.config.new('name1')") - assert len(meta.config.list()) == 2 + assert len(list(meta.config.list())) == 2 def test_meta_meta_set(): diff --git a/tiramisu/api.py b/tiramisu/api.py index 8e39c83..bf6817b 100644 --- a/tiramisu/api.py +++ b/tiramisu/api.py @@ -923,13 +923,14 @@ class TiramisuContextConfig(TiramisuContext): return TiramisuAPI(self.config_bag.context.duplicate(session_id)) def _m_new(self, name): - self.config_bag.context.new_config(name) + return TiramisuAPI(self.config_bag.context.new_config(name)) def _m_list(self): return self._g_list() def _g_list(self): - return self.config_bag.context.cfgimpl_get_children() + for child in self.config_bag.context.cfgimpl_get_children(): + yield TiramisuAPI(child) def __getattr__(self, name: str) -> Callable: