1bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beustpackage test.commandline; 2bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust 3bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beustimport org.testng.TestListenerAdapter; 4bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beustimport org.testng.TestNG; 5bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beustimport org.testng.annotations.Test; 6bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beustimport org.testng.xml.XmlSuite; 7bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beustimport org.testng.xml.XmlTest; 8bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust 9bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beustimport test.SimpleBaseTest; 10bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust 11bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beustimport java.util.Arrays; 12bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beustimport java.util.List; 13bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust 14bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beustpublic class CommandLineOverridesXml extends SimpleBaseTest { 15bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust 16bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust @Test(description = "Specifying -groups on the command line should override testng.xml") 17bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust public void commandLineGroupsShouldOverrideXml() { 18bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust runTest("go", null, Arrays.asList(new String[] { "f2" })); 19bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust } 20bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust 21bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust @Test(description = "Specifying -excludegroups on the command line should override testng.xml") 22bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust public void commandLineExcludedGroupsShouldOverrideXml() { 23bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust runTest(null, "go", Arrays.asList(new String[] { "f1" })); 24bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust } 25bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust 26bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust @Test 27bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust public void shouldRunBothMethods() { 28bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust runTest(null, null, Arrays.asList(new String[] { "f1", "f2" })); 29bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust } 30bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust 31bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust private void runTest(String group, String excludedGroups, List<String> methods) { 32bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust XmlSuite s = createXmlSuite(getClass().getName()); 33bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust XmlTest t = createXmlTest(s, "Test", OverrideSampleTest.class.getName()); 34bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust TestNG tng = create(); 35bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust if (group != null) tng.setGroups(group); 36bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust if (excludedGroups != null) tng.setExcludedGroups(excludedGroups); 37bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust tng.setXmlSuites(Arrays.asList(new XmlSuite[] { s })); 38bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust TestListenerAdapter tla = new TestListenerAdapter(); 39bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust tng.addListener(tla); 40bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust tng.run(); 41bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust 42bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust assertTestResultsEqual(tla.getPassedTests(), methods); 43bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust } 44bad9477b494317793938f1a5c4292cbf3fb72b32Cédric Beust} 45