| package test.timeout; |
| |
| import org.testng.Assert; |
| import org.testng.TestListenerAdapter; |
| import org.testng.TestNG; |
| import org.testng.annotations.Test; |
| import org.testng.xml.XmlClass; |
| import org.testng.xml.XmlInclude; |
| import org.testng.xml.XmlSuite; |
| import org.testng.xml.XmlTest; |
| |
| import test.BaseTest; |
| |
| import java.util.ArrayList; |
| import java.util.Arrays; |
| import java.util.List; |
| |
| public class TimeOutFromXmlTest extends BaseTest { |
| |
| private void timeOutTest(boolean onSuite) { |
| addClass("test.timeout.TestTimeOutSampleTest"); |
| if (onSuite) { |
| setSuiteTimeOut(1000); |
| } else { |
| setTestTimeOut(1000); |
| } |
| run(); |
| String[] passed = { |
| }; |
| String[] failed = { |
| "timeoutTest" |
| }; |
| |
| // dumpResults("Passed", getPassedTests()); |
| // dumpResults("Failed", getFailedTests()); |
| |
| verifyTests("Passed", passed, getPassedTests()); |
| verifyTests("Failed", failed, getFailedTests()); |
| } |
| |
| @Test |
| public void timeOutOnSuiteTag() { |
| timeOutTest(true /* on suite */); |
| } |
| |
| @Test |
| public void timeOutOnTestTag() { |
| timeOutTest(false /* on test */); |
| } |
| |
| @Test |
| public void noTimeOut() { |
| addClass("test.timeout.TestTimeOutSampleTest"); |
| run(); |
| String[] passed = { |
| "timeoutTest" |
| }; |
| String[] failed = { |
| }; |
| |
| verifyTests("Passed", passed, getPassedTests()); |
| verifyTests("Failed", failed, getFailedTests()); |
| } |
| |
| @Test |
| public void twoDifferentTests() { |
| XmlSuite result = new XmlSuite(); |
| result.setName("Suite"); |
| |
| createXmlTest(result, "WithoutTimeOut"); |
| createXmlTest(result, "WithTimeOut").setTimeOut(1000); |
| |
| TestNG tng = new TestNG(); |
| tng.setVerbose(0); |
| tng.setXmlSuites(Arrays.asList(new XmlSuite[] { result })); |
| TestListenerAdapter tla = new TestListenerAdapter(); |
| tng.addListener(tla); |
| tng.run(); |
| |
| // System.out.println("Passed:" + tla.getPassedTests().size() |
| // + " Failed:" + tla.getFailedTests().size()); |
| Assert.assertEquals(tla.getPassedTests().size(), 1); |
| Assert.assertEquals(tla.getFailedTests().size(), 1); |
| } |
| |
| private XmlTest createXmlTest(XmlSuite suite, String name) { |
| XmlTest result = new XmlTest(suite); |
| result.setName(name); |
| List<XmlClass> classes = new ArrayList<XmlClass>(); |
| XmlClass cls = new XmlClass(TestTimeOutSampleTest.class); |
| cls.setIncludedMethods( |
| Arrays.asList(new XmlInclude[] { new XmlInclude("timeoutTest") })); |
| classes.add(cls); |
| result.setXmlClasses(classes); |
| |
| return result; |
| }} |