def configure(self, config): # type: (Dict[Any, Any]) -> None "Updates configuration from a dictionary" _logger.debug("Updating with base config:\n%s", pformat(config)) builder_name = config.pop("builder", None) if builder_name is not None: builder_cls = getBuilderByName(builder_name) else: builder_cls = getPreferredBuilder() _logger.debug("Builder class: %s", builder_cls) self._builder = builder_cls(self.work_dir, self._database) sources_added = self._database.configure(config, str(self.root_dir)) # Add VUnit if not isinstance(self._builder, Fallback): for path, library, flags in getVunitSources(self._builder): self._database.addSource(path, library, flags, flags) # Add the flags from the root config file last, it should overwrite # values set by the included files if config: _logger.warning("Some configuration elements weren't used:\n%s", pformat(config)) if sources_added: self._handleUiInfo("Added {} sources".format(sources_added)) else: self._handleUiInfo("No sources were added")
def test_getBuilderByName(self): self.assertEqual(getBuilderByName("msim"), MSim) self.assertEqual(getBuilderByName("xvhdl"), XVHDL) self.assertEqual(getBuilderByName("ghdl"), GHDL) self.assertEqual(getBuilderByName("other"), Fallback)
def test_getBuilderByName(self): self.assertEqual(getBuilderByName(BuilderName.msim.value), MSim) self.assertEqual(getBuilderByName(BuilderName.ghdl.value), GHDL) self.assertEqual(getBuilderByName(BuilderName.xvhdl.value), XVHDL) self.assertEqual(getBuilderByName("foo"), Fallback)