/** * @deprecated Use #setParallel(XmlSuite.ParallelMode) instead */ @Deprecated public void setParallel(String parallel) { if (parallel == null) { setParallel((ParallelMode)null); } else { setParallel(XmlSuite.ParallelMode.getValidParallel(parallel)); } }
/** @deprecated Use #setParallel(XmlSuite.ParallelMode) instead */ @Deprecated public void setParallel(String parallel) { if (parallel == null) { setParallel((ParallelMode) null); } else { setParallel(XmlSuite.ParallelMode.getValidParallel(parallel)); } }
private void initializeCommandLineSuitesParams() { if(null == m_cmdlineSuites) { return; } for (XmlSuite s : m_cmdlineSuites) { if (m_threadCount != -1) { s.setThreadCount(m_threadCount); } if (m_parallelMode != null) { s.setParallel(m_parallelMode); } if(m_configFailurePolicy != null) { s.setConfigFailurePolicy(m_configFailurePolicy); } } }
private void initializeCommandLineSuitesParams() { if (null == m_cmdlineSuites) { return; } for (XmlSuite s : m_cmdlineSuites) { if (m_threadCount != -1) { s.setThreadCount(m_threadCount); } if (m_parallelMode != null) { s.setParallel(m_parallelMode); } if (m_configFailurePolicy != null) { s.setConfigFailurePolicy(m_configFailurePolicy); } } }
s.setParallel(this.m_parallelMode);
XmlSuite.ParallelMode mode = XmlSuite.ParallelMode.getValidParallel(parallel); if (mode != null) { m_currentSuite.setParallel(mode); } else { Utils.log("Parser", 1, "[WARN] Unknown value of attribute 'parallel' at suite level: '" + parallel + "'.");
s.setParallel(this.m_parallelMode);
List<XmlSuite> extractSuitesFrom(File jarFile) { try { Utils.log("TestNG", 2, "Trying to open jar file:" + jarFile); List<String> classes = Lists.newArrayList(); boolean foundTestngXml = testngXmlExistsInJar(jarFile, classes); if (!foundTestngXml) { Utils.log( "TestNG", 1, "Couldn't find the " + xmlPathInJar + " in the jar file, running all the classes"); XmlSuite suite = XmlSuiteUtils.newXmlSuiteUsing(classes); suite.setParallel(this.mode); suites.add(suite); } } catch (IOException ex) { throw new TestNGException(ex); } return suites; }
@Test public void shouldRunInParallel() { boolean success = false; for (int i = 0, count = Runtime.getRuntime().availableProcessors() * 4; i < count; i++) { XmlSuite s = createXmlSuite("TrueParallel"); createXmlTest(s, "Test", TrueParallelSampleTest.class.getName()); TestNG tng = create(); s.setParallel(XmlSuite.ParallelMode.METHODS); tng.setXmlSuites(Arrays.asList(s)); BaseThreadTest.initThreadLog(); tng.run(); // A sequential result will look like "m1 m1 m3 m3 m2 m2 m4 m4 m5 m5". A properly // multithreaded result will have at least one non-consecutive different pair: // "m1 m1 m3 m2 m4 m4 m2 m3 m5 m5" List<String> strings = TrueParallelSampleTest.getStrings(); boolean ii = isInterleaved(strings); success = success || ii; // System.out.println(strings + " -> " + ii); } Assert.assertTrue(success, "Couldn't find any interleaved test method run"); }
@Test(dataProvider = "dp", description ="GITHUB-1029" ) public void ensureXmlTestIsNotNull(Class<?> clazz, XmlSuite.ParallelMode mode) { XmlSuite xmlSuite = createXmlSuite("Suite"); createXmlTest(xmlSuite, "GITHUB-1029-Test", clazz); xmlSuite.setParallel(mode); Issue1029InvokedMethodListener listener = new Issue1029InvokedMethodListener(); TestNG testng = create(xmlSuite); testng.addListener(listener); testng.setThreadCount(10); testng.setDataProviderThreadCount(10); testng.run(); List<String> expected = Collections.nCopies(5, "GITHUB-1029-Test"); assertThat(listener.getBeforeInvocation()).containsExactlyElementsOf(expected); assertThat(listener.getAfterInvocation()).containsExactlyElementsOf(expected); }
@Test(dataProvider = "dp1") public void testThreadAffinity(Class<?>... classes) { XmlSuite xmlsuite = createXmlSuite("test_suite"); xmlsuite.setParallel(XmlSuite.ParallelMode.CLASSES); xmlsuite.setThreadCount(6); createXmlTest(xmlsuite, "Test 1", classes); TestNG testng = create(xmlsuite); testng.setVerbose(2); LogGatheringListener listener = new LogGatheringListener(); testng.addListener(listener); testng.run(); assertThat(listener.log).hasSize(2); }
suite.setParallel(XmlSuite.ParallelMode.METHODS); suite.setThreadCount(15);
XmlSuite xmlSuite = new XmlSuite(); xmlSuite.setName("ParallelTestTest"); xmlSuite.setParallel(parallelMode); for (Class<?> clazz : classes) { createTest(xmlSuite, clazz);
@Test(dataProvider = "dp2") public void testThreadAffinityAcrossTests(XmlSuite.ParallelMode mode, int size) { XmlSuite xmlsuite = createXmlSuite("test_suite"); xmlsuite.setParallel(XmlSuite.ParallelMode.TESTS); xmlsuite.setThreadCount(6); createXmlTest(xmlsuite, "Test_1", PriorityTestSample1.class,PriorityTestSample2.class).setParallel(mode); createXmlTest(xmlsuite, "Test_2", PriorityTestSample1.class,PriorityTestSample2.class).setParallel(mode); TestNG testng = create(xmlsuite); testng.setVerbose(2); LogGatheringListener listener = new LogGatheringListener(); testng.addListener(listener); testng.run(); assertThat(listener.log).hasSize(size); }
@BeforeClass public void setUp() { reset(); XmlSuite suite = createXmlSuite(SUITE); suite.setParallel(XmlSuite.ParallelMode.METHODS); suite.setThreadCount(5); createXmlTest(suite, TEST, TestClassAFiveMethodsWithNoDepsSample.class); addParams(suite, SUITE, TEST, "100"); TestNG tng = create(suite); tng.addListener((ITestNGListener)new TestNgRunStateListener()); System.out.println("Beginning ParallelByMethodsTestCase1Scenario1. This test scenario consists of a " + "single suite with a single test which consists of one test class with five test methods. There " + "are no dependencies, data providers or factories."); System.out.println("Suite: " + SUITE + ", Test: " + TEST + ", Test class: " + TestClassAFiveMethodsWithNoDepsSample.class.getCanonicalName() +". Thread count: 5"); tng.run(); suiteLevelEventLogs = getAllSuiteLevelEventLogs(); testLevelEventLogs = getAllTestLevelEventLogs(); suiteAndTestLevelEventLogs = getAllSuiteAndTestLevelEventLogs(); testMethodLevelEventLogs = getAllTestMethodLevelEventLogs(); suiteListenerOnStartEventLog = getSuiteListenerStartEventLog(SUITE); suiteListenerOnFinishEventLog = getSuiteListenerFinishEventLog(SUITE); testListenerOnStartEventLog = getTestListenerStartEventLog(SUITE, TEST); testListenerOnFinishEventLog = getTestListenerFinishEventLog(SUITE, TEST); testListenerOnStartThreadId = getTestListenerStartThreadId(SUITE, TEST); }
@BeforeClass public void setUp() { reset(); XmlSuite suite = createXmlSuite(SUITE); suite.setParallel(XmlSuite.ParallelMode.METHODS); suite.setThreadCount(15); createXmlTest(suite, TEST, TestClassAFiveMethodsWithFactoryUsingDataProviderAndNoDepsSample.class); addParams(suite, SUITE, TEST, "100", "paramOne,paramTwo,paramThree"); TestNG tng = create(suite); tng.addListener((ITestNGListener)new TestNgRunStateListener()); System.out.println("Beginning ParallelByMethodsTestCase7Scenario1. This test scenario consists of a " + "single suite with a single test consisting of a single test class with five methods with a " + "factory method using a data provider specifying 3 sets of data. There are no dependencies."); System.out.println("Suite: " + SUITE + ", Test: " + TEST + ", Test class: " + TestClassAFiveMethodsWithFactoryUsingDataProviderAndNoDepsSample.class.getCanonicalName() + ". Thread count: 15"); tng.run(); suiteLevelEventLogs = getAllSuiteLevelEventLogs(); testLevelEventLogs = getAllTestLevelEventLogs(); suiteAndTestLevelEventLogs = getAllSuiteAndTestLevelEventLogs(); testMethodLevelEventLogs = getAllTestMethodLevelEventLogs(); suiteListenerOnStartEventLog = getSuiteListenerStartEventLog(SUITE); suiteListenerOnFinishEventLog = getSuiteListenerFinishEventLog(SUITE); testListenerOnStartEventLog = getTestListenerStartEventLog(SUITE, TEST); testListenerOnFinishEventLog = getTestListenerFinishEventLog(SUITE, TEST); testListenerOnStartThreadId = getTestListenerStartThreadId(SUITE, TEST); }
suiteOne.setParallel(XmlSuite.ParallelMode.NONE); suiteOne.setThreadCount(1);
@BeforeClass public void setUp() { reset(); XmlSuite suite = createXmlSuite(SUITE); suite.setParallel(XmlSuite.ParallelMode.METHODS); suite.setThreadCount(15); createXmlTest(suite, TEST, FactoryForTestClassAFiveMethodsWithNoDepsTwoInstancesSample.class); addParams(suite, SUITE, TEST, "100"); TestNG tng = create(suite); tng.addListener((ITestNGListener)new TestNgRunStateListener()); System.out.println("Beginning ParallelByMethodsTestCase5Scenario1. This test scenario consists of a " + "single suite with a single test consisting of a factory that provides two instances of a single" + "test class with five methods. There are no dependencies or data providers."); System.out.println("Suite: " + SUITE + ", Test: " + TEST + ", Test class: " + TestClassAFiveMethodsWithNoDepsSample.class.getCanonicalName() +". Thread count: 15"); tng.run(); suiteLevelEventLogs = getAllSuiteLevelEventLogs(); testLevelEventLogs = getAllTestLevelEventLogs(); suiteAndTestLevelEventLogs = getAllSuiteAndTestLevelEventLogs(); testMethodLevelEventLogs = getAllTestMethodLevelEventLogs(); suiteListenerOnStartEventLog = getSuiteListenerStartEventLog(SUITE); suiteListenerOnFinishEventLog = getSuiteListenerFinishEventLog(SUITE); testListenerOnStartEventLog = getTestListenerStartEventLog(SUITE, TEST); testListenerOnFinishEventLog = getTestListenerFinishEventLog(SUITE, TEST); testListenerOnStartThreadId = getTestListenerStartThreadId(SUITE, TEST); }
/** * This method returns a shallow cloned version. {@link XmlTest} are not copied by this method. * @return - A Shallow copied version of {@link XmlSuite}. */ public XmlSuite shallowCopy() { XmlSuite result = new XmlSuite(); result.setName(getName()); result.setFileName(getFileName()); result.setListeners(getListeners()); result.setParallel(getParallel()); result.setParentModule(getParentModule()); result.setGuiceStage(getGuiceStage()); result.setConfigFailurePolicy(getConfigFailurePolicy()); result.setThreadCount(getThreadCount()); result.setDataProviderThreadCount(getDataProviderThreadCount()); result.setParameters(getParameters()); result.setVerbose(getVerbose()); result.setXmlPackages(getXmlPackages()); // result.setBeanShellExpression(getExpression()); result.setMethodSelectors(getMethodSelectors()); result.setJUnit(isJUnit()); // TESTNG-141 result.setSkipFailedInvocationCounts(skipFailedInvocationCounts()); result.setObjectFactory(getObjectFactory()); result.setAllowReturnValues(getAllowReturnValues()); result.setTimeOut(getTimeOut()); return result; }
/** * This method returns a shallow cloned version. {@link XmlTest} are not copied by this method. * * @return - A Shallow copied version of {@link XmlSuite}. */ public XmlSuite shallowCopy() { XmlSuite result = new XmlSuite(); result.setName(getName()); result.setFileName(getFileName()); result.setListeners(getListeners()); result.setParallel(getParallel()); result.setParentModule(getParentModule()); result.setGuiceStage(getGuiceStage()); result.setConfigFailurePolicy(getConfigFailurePolicy()); result.setThreadCount(getThreadCount()); result.setDataProviderThreadCount(getDataProviderThreadCount()); result.setParameters(getParameters()); result.setVerbose(getVerbose()); result.setXmlPackages(getXmlPackages()); result.setMethodSelectors(getMethodSelectors()); result.setJUnit(isJUnit()); // TESTNG-141 result.setSkipFailedInvocationCounts(skipFailedInvocationCounts()); result.setObjectFactory(getObjectFactory()); result.setAllowReturnValues(getAllowReturnValues()); result.setTimeOut(getTimeOut()); return result; }