blob: ac2378993f8f39faaeec969ad74b1159d5c03011 [file] [log] [blame]
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;
}}