def find_suite(self): """Find and prepend charms tests to our suite of tests. bundle: path to bundle file deployment: name of deployment in bundle If only one target exists and deployment is not specified it will be used automatically when searching for tests. """ if self.excluded(): return is_bundle = isinstance(self.model, models.Bundle) is_charm = isinstance(self.model, models.Charm) if (is_charm or is_bundle) and not self.options.skip_implicit: self.find_implicit_tests() if isinstance(self.model, models.Bundle): deployment = utils.fetch_deployment(self.config.bundle, self.options.deployment) for charm in deployment.get_charms(): model = models.Charm.from_deployer_charm(charm) charm_suite = Suite(model, self.options, parent_config=self.config) charm_suite.find_suite() if len(charm_suite): self.insert(0, charm_suite) self.find_tests() if is_bundle and not self.options.skip_implicit: self.conditional_matrix(self.model['directory'])