@Test
public void parallelInStage() throws Exception {
WorkflowJob j = rule.jenkins.createProject(WorkflowJob.class, "parallelInStage");
FilePath ws = rule.jenkins.getWorkspaceFor(j);
FilePath testFile = ws.child("first-result.xml");
testFile.copyFrom(TestResultTest.class.getResource("junit-report-1463.xml"));
FilePath secondTestFile = ws.child("second-result.xml");
secondTestFile.copyFrom(TestResultTest.class.getResource("junit-report-2874.xml"));
FilePath thirdTestFile = ws.child("third-result.xml");
thirdTestFile.copyFrom(TestResultTest.class.getResource("junit-report-nested-testsuites.xml"));
j.setDefinition(new CpsFlowDefinition("stage('first') {\n" +
" node {\n" +
" parallel(a: { def first = junit(testResults: 'first-result.xml'); assert first.totalCount == 6 },\n" +
" b: { def second = junit(testResults: 'second-result.xml'); assert second.totalCount == 1 },\n" +
" c: { def third = junit(testResults: 'third-result.xml'); assert third.totalCount == 3 })\n" +
" }\n" +
"}\n", true
));
WorkflowRun r = rule.assertBuildStatus(Result.UNSTABLE,
rule.waitForCompletion(j.scheduleBuild2(0).waitForStart()));
TestResultAction action = r.getAction(TestResultAction.class);
assertNotNull(action);
assertEquals(5, action.getResult().getSuites().size());
assertEquals(10, action.getTotalCount());
assertBranchResults(r, 1, 6, "a", "first");
assertBranchResults(r, 1, 1, "b", "first");
assertBranchResults(r, 3, 3, "c", "first");
assertStageResults(r, 5, 10, "first");
}