def setUp(self): yamls = yaml_to_mux.create_from_yaml(["/:" + PATH_PREFIX + 'examples/mux-selftest-params.yaml']) self.yamls = iter(varianter.MuxTree(yamls)) self.params1 = varianter.AvocadoParams(self.yamls.next(), 'Unittest1', ['/ch0/*', '/ch1/*'], {}) self.yamls.next() # Skip 2nd self.yamls.next() # and 3rd self.params2 = varianter.AvocadoParams(self.yamls.next(), 'Unittest2', ['/ch1/*', '/ch0/*'], {})
def test_basic(self): self.assertEqual(self.params1, self.params1) self.assertNotEqual(self.params1, self.params2) repr(self.params1) str(self.params1) str(varianter.AvocadoParams([], 'Unittest', [], {})) self.assertEqual(15, sum([1 for _ in self.params1.iteritems()]))
def discover(self, reference, which_tests=loader.DEFAULT): tests = [] try: root = mux.apply_filters(create_from_yaml([reference], False), getattr(self.args, "mux_suite_only", []), getattr(self.args, "mux_suite_out", [])) except Exception: return [] mux_tree = mux.MuxTree(root) for variant in mux_tree: params = varianter.AvocadoParams(variant, "YamlTestsuiteLoader", ["/run/*"], {}) reference = params.get("test_reference") test_loader = self._get_loader(params) if not test_loader: continue _tests = test_loader.discover(reference, which_tests) self._extra_type_label_mapping.update( test_loader.get_full_type_label_mapping()) self._extra_decorator_mapping.update( test_loader.get_full_decorator_mapping()) if _tests: for tst in _tests: tst[1]["params"] = (variant, ["/run/*"]) tests.extend(_tests) return tests