Skip to content

Commit 3a88ef8

Browse files
authored
Merge pull request #1301 from selenareneephillips/parallelization_test_suite
Parallelization test suite
2 parents aa11aeb + 635105d commit 3a88ef8

File tree

50 files changed

+2042
-186
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2042
-186
lines changed

src/test/java/test/thread/parallelization/BaseParallelizationTest.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,16 @@ public static void verifyNumberOfInstancesOfTestClassesForMethods(String suiteNa
236236

237237
}
238238

239+
//Verify that the test methods declared in the specified list of classes have the specified number of class
240+
//instances associated with them for the specified suite and test.
241+
public static void verifyNumberOfInstancesOfTestClassesForMethods(String suiteName, String testName, List<Class<?>>
242+
classes, int... numInstances) {
243+
244+
for(int i = 0; i < numInstances.length; i++) {
245+
verifyNumberOfInstancesOfTestClassForMethods(suiteName, testName, classes.get(i), numInstances[i]);
246+
}
247+
}
248+
239249
//Verify that the test methods declared in the specified class have the specified number of class instances
240250
//associated with them for the specified suite and test.
241251
public static void verifyNumberOfInstancesOfTestClassForMethods(String suiteName, String testName, Class<?>
@@ -571,6 +581,27 @@ public static void verifyEventsForTestMethodsRunInTheSameThread(Class<?> testCla
571581
}
572582
}
573583

584+
//Verify that the test method level events for the test methods declared in the specified class run in the same
585+
//thread for each instance of the test class for the specified suite and test
586+
public static void verifyEventsForTestMethodsInDifferentInstancesRunInDifferentThreads(Class<?> testClass, String
587+
suiteName, String testName) {
588+
589+
for (Method method : testClass.getMethods()) {
590+
if (method.getDeclaringClass().equals(testClass)) {
591+
Multimap<Object, EventLog> testMethodEventLogs = getTestMethodEventLogsForMethod(suiteName, testName,
592+
testClass.getCanonicalName(), method.getName());
593+
594+
for(int i = 0; i <= testMethodEventLogs.keySet().size() - 2; i++) {
595+
verifyDifferentThreadIdsForEvents(
596+
new ArrayList<>(testMethodEventLogs.get(testMethodEventLogs.keySet().toArray()[i])),
597+
new ArrayList<>(testMethodEventLogs.get(testMethodEventLogs.keySet().toArray()[i + 1])),
598+
"The test method event logs for " + method.getName() + " for different test class " +
599+
"instances should run in different threads");
600+
}
601+
}
602+
}
603+
}
604+
574605
public static void verifySequentialSuites(List<EventLog> suiteLevelEventLogs, Map<String,List<EventLog>>
575606
suiteEventLogsMap) {
576607

src/test/java/test/thread/parallelization/ParallelByMethodsTestCase1Scenario1.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public void setUp() {
7979

8080
createXmlTest(suite, TEST, TestClassAFiveMethodsWithNoDepsSample.class);
8181

82-
addParams(suite, SUITE, TEST, "1");
82+
addParams(suite, SUITE, TEST, "100");
8383

8484
TestNG tng = create(suite);
8585
tng.addListener((ITestNGListener)new TestNgRunStateListener());

src/test/java/test/thread/parallelization/ParallelByMethodsTestCase1Scenario2.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -199,29 +199,29 @@ public void setUp() {
199199
}
200200
}
201201

202-
addParams(suiteOne, SUITE_A, SUITE_A_TEST_A, "1");
202+
addParams(suiteOne, SUITE_A, SUITE_A_TEST_A, "100");
203203

204-
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_A, "1");
205-
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_B, "1");
204+
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_A, "100");
205+
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_B, "100");
206206

207-
addParams(suiteThree, SUITE_C, SUITE_C_TEST_A, "1");
208-
addParams(suiteThree, SUITE_C, SUITE_C_TEST_B, "1");
209-
addParams(suiteThree, SUITE_C, SUITE_C_TEST_C, "1");
207+
addParams(suiteThree, SUITE_C, SUITE_C_TEST_A, "100");
208+
addParams(suiteThree, SUITE_C, SUITE_C_TEST_B, "100");
209+
addParams(suiteThree, SUITE_C, SUITE_C_TEST_C, "100");
210210

211211
TestNG tng = create(suiteOne, suiteTwo, suiteThree);
212212
tng.addListener((ITestNGListener) new TestNgRunStateListener());
213213

214214
tng.run();
215215

216-
expectedSuiteExecutionTimes.put(SUITE_A, 10_000L);
217-
expectedSuiteExecutionTimes.put(SUITE_B, 7_000L);
218-
expectedSuiteExecutionTimes.put(SUITE_C, 16_000L);
219-
220-
expectedTestExecutionTimes.put(SUITE_B_TEST_A, 3_000L);
221-
expectedTestExecutionTimes.put(SUITE_B_TEST_B, 3_000L);
222-
expectedTestExecutionTimes.put(SUITE_C_TEST_A, 5_000L);
223-
expectedTestExecutionTimes.put(SUITE_C_TEST_B, 5_000L);
224-
expectedTestExecutionTimes.put(SUITE_C_TEST_C, 5_000L);
216+
// expectedSuiteExecutionTimes.put(SUITE_A, 10_000L);
217+
// expectedSuiteExecutionTimes.put(SUITE_B, 7_000L);
218+
// expectedSuiteExecutionTimes.put(SUITE_C, 16_000L);
219+
//
220+
// expectedTestExecutionTimes.put(SUITE_B_TEST_A, 3_000L);
221+
// expectedTestExecutionTimes.put(SUITE_B_TEST_B, 3_000L);
222+
// expectedTestExecutionTimes.put(SUITE_C_TEST_A, 5_000L);
223+
// expectedTestExecutionTimes.put(SUITE_C_TEST_B, 5_000L);
224+
// expectedTestExecutionTimes.put(SUITE_C_TEST_C, 5_000L);
225225

226226
suiteLevelEventLogs = getAllSuiteLevelEventLogs();
227227
testLevelEventLogs = getAllTestLevelEventLogs();

src/test/java/test/thread/parallelization/ParallelByMethodsTestCase2Scenario1.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,22 +129,22 @@ public void setUp() {
129129
suiteTwo.setThreadCount(14);
130130

131131

132-
addParams(suiteOne, SUITE_A, SUITE_A_TEST_A, "1");
132+
addParams(suiteOne, SUITE_A, SUITE_A_TEST_A, "100");
133133

134-
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_A, "1");
135-
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_B, "1");
134+
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_A, "100");
135+
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_B, "100");
136136

137137
TestNG tng = create(suiteOne, suiteTwo);
138138
tng.setSuiteThreadPoolSize(2);
139139
tng.addListener((ITestNGListener) new TestNgRunStateListener());
140140

141141
tng.run();
142142

143-
expectedSuiteExecutionTimes.put(SUITE_A, 10_000L);
144-
expectedSuiteExecutionTimes.put(SUITE_B, 7_000L);
145-
146-
expectedTestExecutionTimes.put(SUITE_B_TEST_A, 3_000L);
147-
expectedTestExecutionTimes.put(SUITE_B_TEST_B, 3_000L);
143+
// expectedSuiteExecutionTimes.put(SUITE_A, 10_000L);
144+
// expectedSuiteExecutionTimes.put(SUITE_B, 7_000L);
145+
//
146+
// expectedTestExecutionTimes.put(SUITE_B_TEST_A, 3_000L);
147+
// expectedTestExecutionTimes.put(SUITE_B_TEST_B, 3_000L);
148148

149149
suiteLevelEventLogs = getAllSuiteLevelEventLogs();
150150
testLevelEventLogs = getAllTestLevelEventLogs();

src/test/java/test/thread/parallelization/ParallelByMethodsTestCase2Scenario2.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -194,30 +194,30 @@ public void setUp() {
194194
}
195195
}
196196

197-
addParams(suiteOne, SUITE_A, SUITE_A_TEST_A, "1");
197+
addParams(suiteOne, SUITE_A, SUITE_A_TEST_A, "100");
198198

199-
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_A, "1");
200-
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_B, "1");
199+
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_A, "100");
200+
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_B, "100");
201201

202-
addParams(suiteThree, SUITE_C, SUITE_C_TEST_A, "1");
203-
addParams(suiteThree, SUITE_C, SUITE_C_TEST_B, "1");
204-
addParams(suiteThree, SUITE_C, SUITE_C_TEST_C, "1");
202+
addParams(suiteThree, SUITE_C, SUITE_C_TEST_A, "100");
203+
addParams(suiteThree, SUITE_C, SUITE_C_TEST_B, "100");
204+
addParams(suiteThree, SUITE_C, SUITE_C_TEST_C, "100");
205205

206206
TestNG tng = create(suiteOne, suiteTwo, suiteThree);
207207
tng.setSuiteThreadPoolSize(2);
208208
tng.addListener((ITestNGListener) new TestNgRunStateListener());
209209

210210
tng.run();
211211

212-
expectedSuiteExecutionTimes.put(SUITE_A, 10_000L);
213-
expectedSuiteExecutionTimes.put(SUITE_B, 7_000L);
214-
expectedSuiteExecutionTimes.put(SUITE_C, 16_000L);
215-
216-
expectedTestExecutionTimes.put(SUITE_B_TEST_A, 3_000L);
217-
expectedTestExecutionTimes.put(SUITE_B_TEST_B, 3_000L);
218-
expectedTestExecutionTimes.put(SUITE_C_TEST_A, 5_000L);
219-
expectedTestExecutionTimes.put(SUITE_C_TEST_B, 5_000L);
220-
expectedTestExecutionTimes.put(SUITE_C_TEST_C, 5_000L);
212+
// expectedSuiteExecutionTimes.put(SUITE_A, 10_000L);
213+
// expectedSuiteExecutionTimes.put(SUITE_B, 7_000L);
214+
// expectedSuiteExecutionTimes.put(SUITE_C, 16_000L);
215+
//
216+
// expectedTestExecutionTimes.put(SUITE_B_TEST_A, 3_000L);
217+
// expectedTestExecutionTimes.put(SUITE_B_TEST_B, 3_000L);
218+
// expectedTestExecutionTimes.put(SUITE_C_TEST_A, 5_000L);
219+
// expectedTestExecutionTimes.put(SUITE_C_TEST_B, 5_000L);
220+
// expectedTestExecutionTimes.put(SUITE_C_TEST_C, 5_000L);
221221

222222
suiteLevelEventLogs = getAllSuiteLevelEventLogs();
223223
testLevelEventLogs = getAllTestLevelEventLogs();

src/test/java/test/thread/parallelization/ParallelByMethodsTestCase3Scenario1.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public void setUp() {
8282

8383
createXmlTest(suite, TEST, TestClassFiveMethodsWithDataProviderOnAllMethodsAndNoDepsSample.class);
8484

85-
addParams(suite, SUITE, TEST, "1", "paramOne,paramTwo,paramThree");
85+
addParams(suite, SUITE, TEST, "100", "paramOne,paramTwo,paramThree");
8686

8787
TestNG tng = create(suite);
8888

@@ -122,7 +122,7 @@ public void sanityCheck() {
122122
suiteLevelEventLogs);
123123
assertEquals(testLevelEventLogs.size(), 2, "There should be 2 test level events logged for " + SUITE + ": " +
124124
testLevelEventLogs);
125-
assertEquals(testMethodLevelEventLogs.size(), 45, "There should be 15 test method level event logged for " +
125+
assertEquals(testMethodLevelEventLogs.size(), 45, "There should be 45 test method level events logged for " +
126126
SUITE + ": " + testMethodLevelEventLogs);
127127
}
128128

src/test/java/test/thread/parallelization/ParallelByMethodsTestCase3Scenario2.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,10 @@ public void setUp() {
129129
suiteTwo.setThreadCount(4);
130130

131131

132-
addParams(suiteOne, SUITE_A, SUITE_A_TEST_A, "1", "paramOne,paramTwo,paramThree");
132+
addParams(suiteOne, SUITE_A, SUITE_A_TEST_A, "100", "paramOne,paramTwo,paramThree");
133133

134-
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_A, "1", "paramOne,paramTwo");
135-
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_B, "1", "paramOne,paramTwo");
134+
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_A, "100", "paramOne,paramTwo");
135+
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_B, "100", "paramOne,paramTwo");
136136

137137
TestNG tng = create(suiteOne, suiteTwo);
138138
tng.addListener((ITestNGListener) new TestNgRunStateListener());

src/test/java/test/thread/parallelization/ParallelByMethodsTestCase4Scenario1.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -210,14 +210,14 @@ public void setUp() {
210210
}
211211
}
212212

213-
addParams(suiteOne, SUITE_A, SUITE_A_TEST_A, "1", "paramOne,paramTwo,paramThree");
213+
addParams(suiteOne, SUITE_A, SUITE_A_TEST_A, "100", "paramOne,paramTwo,paramThree");
214214

215-
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_A, "1", "paramOne,paramTwo");
216-
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_B, "1", "paramOne,paramTwo");
215+
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_A, "100", "paramOne,paramTwo");
216+
addParams(suiteTwo, SUITE_B, SUITE_B_TEST_B, "100", "paramOne,paramTwo");
217217

218-
addParams(suiteThree, SUITE_C, SUITE_C_TEST_A, "1", "paramOne,paramTwo,paramThree");
219-
addParams(suiteThree, SUITE_C, SUITE_C_TEST_B, "1", "paramOne,paramTwo");
220-
addParams(suiteThree, SUITE_C, SUITE_C_TEST_C, "1", "paramOne,paramTwo,paramThree");
218+
addParams(suiteThree, SUITE_C, SUITE_C_TEST_A, "100", "paramOne,paramTwo,paramThree");
219+
addParams(suiteThree, SUITE_C, SUITE_C_TEST_B, "100", "paramOne,paramTwo");
220+
addParams(suiteThree, SUITE_C, SUITE_C_TEST_C, "100", "paramOne,paramTwo,paramThree");
221221

222222
TestNG tng = create(suiteOne, suiteTwo, suiteThree);
223223
tng.setSuiteThreadPoolSize(2);

0 commit comments

Comments
 (0)