public void addMetaGroup(String name, String... metaGroup) { addMetaGroup(name, Arrays.asList(metaGroup)); }
public void setMetaGroups(Map<String, List<String>> metaGroups) { for (Map.Entry<String, List<String>> entry : metaGroups.entrySet()) { addMetaGroup(entry.getKey(), entry.getValue()); } }
public void addMetaGroup(String name, String... metaGroup) { addMetaGroup(name, Arrays.asList(metaGroup)); }
public void setMetaGroups(Map<String, List<String>> metaGroups) { for (Map.Entry<String, List<String>> entry : metaGroups.entrySet()) { addMetaGroup(entry.getKey(), entry.getValue()); } }
/** * Parse the <define> tag. */ private void xmlDefine(XmlTest xmlTest, Node item) { NodeList item3Children = item.getChildNodes(); List<String> groups = Lists.newArrayList(); for (int m = 0; m < item3Children.getLength(); m++) { Node item4 = item3Children.item(m); if ("include".equals(item4.getNodeName())) { Element e = (Element) item4; groups.add(e.getAttribute("name")); } } xmlTest.addMetaGroup(((Element) item).getAttribute("name"), groups); }
/** Parse the <define> tag. */ private void xmlDefine(XmlTest xmlTest, Node item) { NodeList item3Children = item.getChildNodes(); List<String> groups = Lists.newArrayList(); for (int m = 0; m < item3Children.getLength(); m++) { Node item4 = item3Children.item(m); if ("include".equals(item4.getNodeName())) { Element e = (Element) item4; groups.add(e.getAttribute("name")); } } xmlTest.addMetaGroup(((Element) item).getAttribute("name"), groups); }
/** * Parse <define> */ private void xmlDefine(boolean start, Attributes attributes) { if (start) { String name = attributes.getValue("name"); m_currentDefines = Lists.newArrayList(); m_currentMetaGroup = Lists.newArrayList(); m_currentMetaGroupName = name; } else { if (m_currentTest != null) { m_currentTest.addMetaGroup(m_currentMetaGroupName, m_currentMetaGroup); } else { XmlDefine define = new XmlDefine(); define.setName(m_currentMetaGroupName); define.getIncludes().addAll(m_currentMetaGroup); m_currentGroups.addDefine(define); } m_currentDefines = null; } }
/** Parse <define> */ private void xmlDefine(boolean start, Attributes attributes) { if (start) { String name = attributes.getValue("name"); m_currentDefines = Lists.newArrayList(); m_currentMetaGroup = Lists.newArrayList(); m_currentMetaGroupName = name; } else { if (m_currentTest != null) { m_currentTest.addMetaGroup(m_currentMetaGroupName, m_currentMetaGroup); } else { XmlDefine define = new XmlDefine(); define.setName(m_currentMetaGroupName); define.getIncludes().addAll(m_currentMetaGroup); m_currentGroups.addDefine(define); } m_currentDefines = null; } }
@Test public void groupsOfGroupsWithIndirections() { XmlSuite suite = createXmlSuite("Internal_suite"); XmlTest test = createXmlTest(suite, "Internal_test_failures_are_expected", Sample1.class); test.addIncludedGroup("all"); test.addMetaGroup("all", "methods", "broken"); test.addMetaGroup("methods", "odd", "even"); test.addMetaGroup("broken", "broken"); TestNG tng = create(suite); InvokedMethodNameListener listener = new InvokedMethodNameListener(); tng.addListener((ITestNGListener) listener); tng.run(); assertThat(listener.getSucceedMethodNames()).containsExactly("method1", "broken", "method2", "method3"); assertThat(listener.getFailedMethodNames()).isEmpty(); }
@Test public void groupsOfGroupsWithCycle() { XmlSuite suite = createXmlSuite("Internal_suite"); XmlTest test = createXmlTest(suite, "Internal_test_failures_are_expected", Sample1.class); test.addIncludedGroup("all"); test.addMetaGroup("all", "all2"); test.addMetaGroup("all2", "methods"); test.addMetaGroup("methods", "all"); TestNG tng = create(suite); InvokedMethodNameListener listener = new InvokedMethodNameListener(); tng.addListener((ITestNGListener) listener); tng.run(); assertThat(listener.getSucceedMethodNames()).isEmpty(); assertThat(listener.getFailedMethodNames()).isEmpty(); }
@Test public void groupsOfGroupsSimple() { XmlSuite suite = createXmlSuite("Internal_suite"); XmlTest test = createXmlTest(suite, "Internal_test_failures_are_expected", Sample1.class); Assert.assertEquals(test.getXmlClasses().size(), 1); // should match all methods belonging to group "odd" and "even" test.addIncludedGroup("evenodd"); test.addMetaGroup("evenodd", "even", "odd"); TestNG tng = create(suite); InvokedMethodNameListener listener = new InvokedMethodNameListener(); tng.addListener((ITestNGListener) listener); tng.run(); assertThat(listener.getSucceedMethodNames()).containsExactly("method1", "method2", "method3"); assertThat(listener.getFailedMethodNames()).isEmpty(); }
/** * Clone the <TT>source</TT> <CODE>XmlTest</CODE> by including: * - test attributes * - groups definitions * - parameters * * The <classes> sub element is ignored for the moment. * * @return a clone of the current XmlTest */ @Override public Object clone() { XmlTest result = new XmlTest(getSuite()); result.setName(getName()); result.setIncludedGroups(getIncludedGroups()); result.setExcludedGroups(getExcludedGroups()); result.setJUnit(isJUnit()); result.setParallel(getParallel()); result.setVerbose(getVerbose()); result.setParameters(getLocalParameters()); result.setXmlPackages(getXmlPackages()); result.setTimeOut(getTimeOut()); Map<String, List<String>> metagroups = getMetaGroups(); for (Map.Entry<String, List<String>> group: metagroups.entrySet()) { result.addMetaGroup(group.getKey(), group.getValue()); } return result; }
/** * Clone the <TT>source</TT> <CODE>XmlTest</CODE> by including: - test attributes - groups * definitions - parameters * * <p>The <classes> sub element is ignored for the moment. * * @return a clone of the current XmlTest */ @Override public Object clone() { XmlTest result = new XmlTest(getSuite()); result.setName(getName()); result.setIncludedGroups(getIncludedGroups()); result.setExcludedGroups(getExcludedGroups()); result.setJUnit(isJUnit()); result.setParallel(getParallel()); result.setVerbose(getVerbose()); result.setParameters(getLocalParameters()); result.setXmlPackages(getXmlPackages()); result.setTimeOut(getTimeOut()); Map<String, List<String>> metagroups = getMetaGroups(); for (Map.Entry<String, List<String>> group : metagroups.entrySet()) { result.addMetaGroup(group.getKey(), group.getValue()); } return result; }