Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-52202

xUnit reports "All test reports are empty" in case of parallel steps but reports are not empty

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • xunit-plugin
    •  xUnit 2.0.3
      Jenkins ver. 2.126

      I have created a simple pipeline with two parallel steps.

      In each step I create a valid JUnit xml file and use xUnit to analyse it.

      During the run xunit can analyse one of the JUnit xml file, but for the other one it only logs out the message: WARNING: All test reports are empty.

      Attached pipeline.log log.txt

       

      Example pipeline:

      timestamps {
          node {
              deleteDir()
              sleep 1
              parallel(
                          dateiEins: {
              stage('generate xml file 1'){
                  dir('file1') {
                  dir('test-output') {
                      dir('junit') {
                                  writeFile file: 'TEST-de.edict.services.portaltests.SlotSessionTest_ES.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                  <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                  <testsuite hostname="hhbld03t" name="de.edict.services.portaltests.SlotSessionTest--ES" tests="11" failures="0" timestamp="26 Jun 2018 13:51:32 GMT" time="265.564" errors="1">
                    <testcase name="testExpireSlotSessionWhileGameStartLossCondition--ES" time="17.388" classname="de.edict.services.portaltests.SlotSessionTest"/>
                    <testcase name="testConsistencyOfSlotsessionAndAccountDataAfterHeartbeat--ES" time="59.843" classname="de.edict.services.portaltests.SlotSessionTest"/>
                    <testcase name="testSlotSessionWinning--ES" time="21.539" classname="de.edict.services.portaltests.SlotSessionTest"/>
                    <testcase name="testExpireSlotSessionWhileGameStartTimeCondition--ES" time="17.597" classname="de.edict.services.portaltests.SlotSessionTest"/>
                    <testcase name="testSlotSessionLimitAmountExceeded--ES" time="13.583" classname="de.edict.services.portaltests.SlotSessionTest">
                      <error type="java.lang.AssertionError" message="Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                  Expected: is &quot;SLOT_LOSS_LIMIT_EXCEEDED&quot;
                       but: was &quot;ACCOUNT_EMPTY&quot;">
                        <![CDATA[java.lang.AssertionError: Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                  Expected: is "SLOT_LOSS_LIMIT_EXCEEDED"
                       but: was "ACCOUNT_EMPTY"
                  	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
                  	at de.edict.services.portaltests.SlotSessionTest.testSlotSessionLimitAmountExceeded(SlotSessionTest.java:288)
                  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                  	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  	at java.lang.reflect.Method.invoke(Method.java:498)
                  	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                  	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                  	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                  	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                  	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                  	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                  	at org.testng.TestRunner.privateRun(TestRunner.java:767)
                  	at org.testng.TestRunner.run(TestRunner.java:617)
                  	at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
                  	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
                  	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
                  	at org.testng.SuiteRunner.run(SuiteRunner.java:254)
                  	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
                  	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
                  	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
                  	at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
                  	at org.testng.TestNG.run(TestNG.java:1057)
                  	at org.testng.TestNG.privateMain(TestNG.java:1364)
                  	at org.testng.TestNG.main(TestNG.java:1333)
                  ]]>
                      </error>
                    </testcase> <!-- testSlotSessionLimitAmountExceeded-ES -->
                    <testcase name="testConsistencyOfSlotsessionAndAccountData--ES" time="18.456" classname="de.edict.services.portaltests.SlotSessionTest"/>
                    <testcase name="testCreateSlotSessionWithGameStart--ES" time="2.897" classname="de.edict.services.portaltests.SlotSessionTest"/>
                    <testcase name="testExpireSlotSessionWhileHeartbeat--ES" time="35.558" classname="de.edict.services.portaltests.SlotSessionTest"/>
                    <testcase name="testCheckPortalRestService--ES" time="28.069" classname="de.edict.services.portaltests.SlotSessionTest"/>
                    <testcase name="testCheckBORestService--ES" time="17.425" classname="de.edict.services.portaltests.SlotSessionTest"/>
                    <testcase name="testLossLimitWarning--ES" time="33.209" classname="de.edict.services.portaltests.SlotSessionTest"/>
                  </testsuite> <!-- de.edict.services.portaltests.SlotSessionTest-ES -->
                  '''
                  sh 'ls -l'
                  xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: 'TEST-*.xml', skipNoTestFiles: false, stopProcessingIfError: true)]
                      }
                  }
              }
          }
      },
      dateiZwei: {
          stage('generate xml file 2'){
              dir('file2') {
                  dir('test-output') {
                      dir('junit') {                    writeFile file: 'TEST-de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                          <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                          <testsuite hostname="hhbld01t" name="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default" tests="15" failures="1" timestamp="26 Jun 2018 15:41:26 GMT" time="55.391" errors="0">
                            <testcase name="testCreateBonusOfferWithCountryRestrictions--IoM_default" time="12.167" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testFirstPayInWith50EURWithVoucherCode--IoM_default" time="1.454" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testCreateBonusOfferTrigger999--IoM_default" time="2.114" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testEveryPayInDuringThePeriodWithVisa--IoM_default" time="26.713" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests">
                              <failure type="com.googlecode.sardine.impl.SardineException" message="Unexpected response">
                                <![CDATA[com.googlecode.sardine.impl.SardineException: Unexpected response
                          	at com.googlecode.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:49)
                          	at com.googlecode.sardine.impl.handler.VoidResponseHandler.handleResponse(VoidResponseHandler.java:35)
                          	at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:478)
                          	at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:458)
                          	at de.edict.eoc.test.utils.TextHelper.connectWikiWebdav(TextHelper.java:75)
                          	at de.edict.eoc.test.bonus.BonusOfferTestHelper.checkDefaultStakerestrictionsAgainstWiki(BonusOfferTestHelper.java:339)
                          	at de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests.testEveryPayInDuringThePeriodWithVisa(BonusOfferDepositTests.java:178)
                          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                          	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                          	at java.lang.reflect.Method.invoke(Method.java:498)
                          	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                          	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                          	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                          	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                          	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                          	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                          	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                          	at java.lang.Thread.run(Thread.java:748)
                          ]]>
                              </failure>
                            </testcase> <!-- testEveryPayInDuringThePeriodWithVisa-IoM_default -->
                            <testcase name="TryToCreateBonusWithoutCorrectPermission--IoM_default" time="0.610" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testBonusOfferWithSpecialCharacter--IoM_default" time="3.118" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testFirstPayinWithOneHourDuration--IoM_default" time="0.693" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testBonusOfferWithSpecialCharacterMinus--IoM_default" time="0.501" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testFirstPayinWithoutStartAndEnddate--IoM_default" time="0.542" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testCreateBonusOfferWithCountryAndPaymentRestrictions--IoM_default" time="2.136" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testEveryfifthPayInWithVisa--IoM_default" time="0.675" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testEveryPayInDuringThePeriod--IoM_default" time="1.956" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testFirstPayInWith50EUR--IoM_default" time="0.706" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testCreateBonusOfferSartTodayTop5Restrictions--IoM_default" time="1.055" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                            <testcase name="testCreateBonusOfferAllMax--IoM_default" time="0.951" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                          </testsuite> <!-- de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests-IoM_default -->
                          '''
                          
                                              sh 'ls -l'
                                              xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: "TEST-*.xml", skipNoTestFiles: false, stopProcessingIfError: true)]
                                          }
                                      }
                                  }
                              }
                          }
                  )
                          
          
              }
          } 

          [JENKINS-52202] xUnit reports "All test reports are empty" in case of parallel steps but reports are not empty

          Sven Finsterwalder created issue -
          Sven Finsterwalder made changes -
          Description Original: I have created a simple pipeline with two parallel steps.

          In ech step a create a valid JUnit xml file and use xUnit to analyse it.

          During the run xunit can analyse one of the JUnit xml file, but for the other one the only log out the message: _WARNING: All test reports are empty._

          Attached pipeline.log [^log.txt]

           

          Example pipeline:
          {code:java}
          timestamps {
              node {
                  deleteDir()
                  sleep 1
                  parallel(
                              dateiEins: {
                  stage('generate xml file 1'){
                      dir('file1') {
                      dir('test-output') {
                          dir('junit') {
                                      writeFile file: 'TEST-de.edict.services.portaltests.SlotSessionTest_ES.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                      <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                      <testsuite hostname="hhbld03t" name="de.edict.services.portaltests.SlotSessionTest--ES" tests="11" failures="0" timestamp="26 Jun 2018 13:51:32 GMT" time="265.564" errors="1">
                        <testcase name="testExpireSlotSessionWhileGameStartLossCondition--ES" time="17.388" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testConsistencyOfSlotsessionAndAccountDataAfterHeartbeat--ES" time="59.843" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionWinning--ES" time="21.539" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileGameStartTimeCondition--ES" time="17.597" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionLimitAmountExceeded--ES" time="13.583" classname="de.edict.services.portaltests.SlotSessionTest">
                          <error type="java.lang.AssertionError" message="Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is &quot;SLOT_LOSS_LIMIT_EXCEEDED&quot;
                           but: was &quot;ACCOUNT_EMPTY&quot;">
                            <![CDATA[java.lang.AssertionError: Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is "SLOT_LOSS_LIMIT_EXCEEDED"
                           but: was "ACCOUNT_EMPTY"
                       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
                       at de.edict.services.portaltests.SlotSessionTest.testSlotSessionLimitAmountExceeded(SlotSessionTest.java:288)
                       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                       at java.lang.reflect.Method.invoke(Method.java:498)
                       at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                       at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                       at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                       at org.testng.TestRunner.privateRun(TestRunner.java:767)
                       at org.testng.TestRunner.run(TestRunner.java:617)
                       at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
                       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
                       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
                       at org.testng.SuiteRunner.run(SuiteRunner.java:254)
                       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
                       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
                       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
                       at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
                       at org.testng.TestNG.run(TestNG.java:1057)
                       at org.testng.TestNG.privateMain(TestNG.java:1364)
                       at org.testng.TestNG.main(TestNG.java:1333)
                      ]]>
                          </error>
                        </testcase> <!-- testSlotSessionLimitAmountExceeded-ES -->
                        <testcase name="testConsistencyOfSlotsessionAndAccountData--ES" time="18.456" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCreateSlotSessionWithGameStart--ES" time="2.897" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileHeartbeat--ES" time="35.558" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckPortalRestService--ES" time="28.069" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckBORestService--ES" time="17.425" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testLossLimitWarning--ES" time="33.209" classname="de.edict.services.portaltests.SlotSessionTest"/>
                      </testsuite> <!-- de.edict.services.portaltests.SlotSessionTest-ES -->
                      '''
                      sh 'ls -l'
                      xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: 'TEST-*.xml', skipNoTestFiles: false, stopProcessingIfError: true)]
                          }
                      }
                  }
              }
          },
          dateiZwei: {
              stage('generate xml file 2'){
                  dir('file2') {
                      dir('test-output') {
                          dir('junit') { writeFile file: 'TEST-de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                              <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                              <testsuite hostname="hhbld01t" name="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default" tests="15" failures="1" timestamp="26 Jun 2018 15:41:26 GMT" time="55.391" errors="0">
                                <testcase name="testCreateBonusOfferWithCountryRestrictions--IoM_default" time="12.167" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EURWithVoucherCode--IoM_default" time="1.454" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferTrigger999--IoM_default" time="2.114" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriodWithVisa--IoM_default" time="26.713" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests">
                                  <failure type="com.googlecode.sardine.impl.SardineException" message="Unexpected response">
                                    <![CDATA[com.googlecode.sardine.impl.SardineException: Unexpected response
                               at com.googlecode.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:49)
                               at com.googlecode.sardine.impl.handler.VoidResponseHandler.handleResponse(VoidResponseHandler.java:35)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:478)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:458)
                               at de.edict.eoc.test.utils.TextHelper.connectWikiWebdav(TextHelper.java:75)
                               at de.edict.eoc.test.bonus.BonusOfferTestHelper.checkDefaultStakerestrictionsAgainstWiki(BonusOfferTestHelper.java:339)
                               at de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests.testEveryPayInDuringThePeriodWithVisa(BonusOfferDepositTests.java:178)
                               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                               at java.lang.reflect.Method.invoke(Method.java:498)
                               at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                               at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                               at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                               at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                               at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                               at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                               at java.lang.Thread.run(Thread.java:748)
                              ]]>
                                  </failure>
                                </testcase> <!-- testEveryPayInDuringThePeriodWithVisa-IoM_default -->
                                <testcase name="TryToCreateBonusWithoutCorrectPermission--IoM_default" time="0.610" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacter--IoM_default" time="3.118" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithOneHourDuration--IoM_default" time="0.693" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacterMinus--IoM_default" time="0.501" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithoutStartAndEnddate--IoM_default" time="0.542" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferWithCountryAndPaymentRestrictions--IoM_default" time="2.136" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryfifthPayInWithVisa--IoM_default" time="0.675" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriod--IoM_default" time="1.956" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EUR--IoM_default" time="0.706" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferSartTodayTop5Restrictions--IoM_default" time="1.055" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferAllMax--IoM_default" time="0.951" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                              </testsuite> <!-- de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests-IoM_default -->
                              '''
                              
                                                  sh 'ls -l'
                                                  xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: "TEST-*.xml", skipNoTestFiles: false, stopProcessingIfError: true)]
                                              }
                                          }
                                      }
                                  }
                              }
                      )
                              
              
                  }
              } {code}
          New: I have created a simple pipeline with two parallel steps.

          In each step a create a valid JUnit xml file and use xUnit to analyse it.

          During the run xunit can analyse one of the JUnit xml file, but for the other one the only log out the message: _WARNING: All test reports are empty._

          Attached pipeline.log [^log.txt]

           

          Example pipeline:
          {code:java}
          timestamps {
              node {
                  deleteDir()
                  sleep 1
                  parallel(
                              dateiEins: {
                  stage('generate xml file 1'){
                      dir('file1') {
                      dir('test-output') {
                          dir('junit') {
                                      writeFile file: 'TEST-de.edict.services.portaltests.SlotSessionTest_ES.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                      <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                      <testsuite hostname="hhbld03t" name="de.edict.services.portaltests.SlotSessionTest--ES" tests="11" failures="0" timestamp="26 Jun 2018 13:51:32 GMT" time="265.564" errors="1">
                        <testcase name="testExpireSlotSessionWhileGameStartLossCondition--ES" time="17.388" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testConsistencyOfSlotsessionAndAccountDataAfterHeartbeat--ES" time="59.843" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionWinning--ES" time="21.539" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileGameStartTimeCondition--ES" time="17.597" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionLimitAmountExceeded--ES" time="13.583" classname="de.edict.services.portaltests.SlotSessionTest">
                          <error type="java.lang.AssertionError" message="Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is &quot;SLOT_LOSS_LIMIT_EXCEEDED&quot;
                           but: was &quot;ACCOUNT_EMPTY&quot;">
                            <![CDATA[java.lang.AssertionError: Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is "SLOT_LOSS_LIMIT_EXCEEDED"
                           but: was "ACCOUNT_EMPTY"
                       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
                       at de.edict.services.portaltests.SlotSessionTest.testSlotSessionLimitAmountExceeded(SlotSessionTest.java:288)
                       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                       at java.lang.reflect.Method.invoke(Method.java:498)
                       at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                       at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                       at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                       at org.testng.TestRunner.privateRun(TestRunner.java:767)
                       at org.testng.TestRunner.run(TestRunner.java:617)
                       at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
                       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
                       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
                       at org.testng.SuiteRunner.run(SuiteRunner.java:254)
                       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
                       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
                       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
                       at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
                       at org.testng.TestNG.run(TestNG.java:1057)
                       at org.testng.TestNG.privateMain(TestNG.java:1364)
                       at org.testng.TestNG.main(TestNG.java:1333)
                      ]]>
                          </error>
                        </testcase> <!-- testSlotSessionLimitAmountExceeded-ES -->
                        <testcase name="testConsistencyOfSlotsessionAndAccountData--ES" time="18.456" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCreateSlotSessionWithGameStart--ES" time="2.897" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileHeartbeat--ES" time="35.558" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckPortalRestService--ES" time="28.069" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckBORestService--ES" time="17.425" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testLossLimitWarning--ES" time="33.209" classname="de.edict.services.portaltests.SlotSessionTest"/>
                      </testsuite> <!-- de.edict.services.portaltests.SlotSessionTest-ES -->
                      '''
                      sh 'ls -l'
                      xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: 'TEST-*.xml', skipNoTestFiles: false, stopProcessingIfError: true)]
                          }
                      }
                  }
              }
          },
          dateiZwei: {
              stage('generate xml file 2'){
                  dir('file2') {
                      dir('test-output') {
                          dir('junit') { writeFile file: 'TEST-de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                              <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                              <testsuite hostname="hhbld01t" name="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default" tests="15" failures="1" timestamp="26 Jun 2018 15:41:26 GMT" time="55.391" errors="0">
                                <testcase name="testCreateBonusOfferWithCountryRestrictions--IoM_default" time="12.167" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EURWithVoucherCode--IoM_default" time="1.454" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferTrigger999--IoM_default" time="2.114" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriodWithVisa--IoM_default" time="26.713" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests">
                                  <failure type="com.googlecode.sardine.impl.SardineException" message="Unexpected response">
                                    <![CDATA[com.googlecode.sardine.impl.SardineException: Unexpected response
                               at com.googlecode.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:49)
                               at com.googlecode.sardine.impl.handler.VoidResponseHandler.handleResponse(VoidResponseHandler.java:35)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:478)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:458)
                               at de.edict.eoc.test.utils.TextHelper.connectWikiWebdav(TextHelper.java:75)
                               at de.edict.eoc.test.bonus.BonusOfferTestHelper.checkDefaultStakerestrictionsAgainstWiki(BonusOfferTestHelper.java:339)
                               at de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests.testEveryPayInDuringThePeriodWithVisa(BonusOfferDepositTests.java:178)
                               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                               at java.lang.reflect.Method.invoke(Method.java:498)
                               at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                               at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                               at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                               at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                               at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                               at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                               at java.lang.Thread.run(Thread.java:748)
                              ]]>
                                  </failure>
                                </testcase> <!-- testEveryPayInDuringThePeriodWithVisa-IoM_default -->
                                <testcase name="TryToCreateBonusWithoutCorrectPermission--IoM_default" time="0.610" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacter--IoM_default" time="3.118" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithOneHourDuration--IoM_default" time="0.693" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacterMinus--IoM_default" time="0.501" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithoutStartAndEnddate--IoM_default" time="0.542" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferWithCountryAndPaymentRestrictions--IoM_default" time="2.136" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryfifthPayInWithVisa--IoM_default" time="0.675" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriod--IoM_default" time="1.956" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EUR--IoM_default" time="0.706" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferSartTodayTop5Restrictions--IoM_default" time="1.055" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferAllMax--IoM_default" time="0.951" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                              </testsuite> <!-- de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests-IoM_default -->
                              '''
                              
                                                  sh 'ls -l'
                                                  xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: "TEST-*.xml", skipNoTestFiles: false, stopProcessingIfError: true)]
                                              }
                                          }
                                      }
                                  }
                              }
                      )
                              
              
                  }
              } {code}
          Sven Finsterwalder made changes -
          Description Original: I have created a simple pipeline with two parallel steps.

          In each step a create a valid JUnit xml file and use xUnit to analyse it.

          During the run xunit can analyse one of the JUnit xml file, but for the other one the only log out the message: _WARNING: All test reports are empty._

          Attached pipeline.log [^log.txt]

           

          Example pipeline:
          {code:java}
          timestamps {
              node {
                  deleteDir()
                  sleep 1
                  parallel(
                              dateiEins: {
                  stage('generate xml file 1'){
                      dir('file1') {
                      dir('test-output') {
                          dir('junit') {
                                      writeFile file: 'TEST-de.edict.services.portaltests.SlotSessionTest_ES.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                      <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                      <testsuite hostname="hhbld03t" name="de.edict.services.portaltests.SlotSessionTest--ES" tests="11" failures="0" timestamp="26 Jun 2018 13:51:32 GMT" time="265.564" errors="1">
                        <testcase name="testExpireSlotSessionWhileGameStartLossCondition--ES" time="17.388" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testConsistencyOfSlotsessionAndAccountDataAfterHeartbeat--ES" time="59.843" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionWinning--ES" time="21.539" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileGameStartTimeCondition--ES" time="17.597" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionLimitAmountExceeded--ES" time="13.583" classname="de.edict.services.portaltests.SlotSessionTest">
                          <error type="java.lang.AssertionError" message="Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is &quot;SLOT_LOSS_LIMIT_EXCEEDED&quot;
                           but: was &quot;ACCOUNT_EMPTY&quot;">
                            <![CDATA[java.lang.AssertionError: Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is "SLOT_LOSS_LIMIT_EXCEEDED"
                           but: was "ACCOUNT_EMPTY"
                       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
                       at de.edict.services.portaltests.SlotSessionTest.testSlotSessionLimitAmountExceeded(SlotSessionTest.java:288)
                       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                       at java.lang.reflect.Method.invoke(Method.java:498)
                       at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                       at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                       at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                       at org.testng.TestRunner.privateRun(TestRunner.java:767)
                       at org.testng.TestRunner.run(TestRunner.java:617)
                       at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
                       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
                       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
                       at org.testng.SuiteRunner.run(SuiteRunner.java:254)
                       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
                       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
                       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
                       at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
                       at org.testng.TestNG.run(TestNG.java:1057)
                       at org.testng.TestNG.privateMain(TestNG.java:1364)
                       at org.testng.TestNG.main(TestNG.java:1333)
                      ]]>
                          </error>
                        </testcase> <!-- testSlotSessionLimitAmountExceeded-ES -->
                        <testcase name="testConsistencyOfSlotsessionAndAccountData--ES" time="18.456" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCreateSlotSessionWithGameStart--ES" time="2.897" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileHeartbeat--ES" time="35.558" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckPortalRestService--ES" time="28.069" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckBORestService--ES" time="17.425" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testLossLimitWarning--ES" time="33.209" classname="de.edict.services.portaltests.SlotSessionTest"/>
                      </testsuite> <!-- de.edict.services.portaltests.SlotSessionTest-ES -->
                      '''
                      sh 'ls -l'
                      xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: 'TEST-*.xml', skipNoTestFiles: false, stopProcessingIfError: true)]
                          }
                      }
                  }
              }
          },
          dateiZwei: {
              stage('generate xml file 2'){
                  dir('file2') {
                      dir('test-output') {
                          dir('junit') { writeFile file: 'TEST-de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                              <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                              <testsuite hostname="hhbld01t" name="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default" tests="15" failures="1" timestamp="26 Jun 2018 15:41:26 GMT" time="55.391" errors="0">
                                <testcase name="testCreateBonusOfferWithCountryRestrictions--IoM_default" time="12.167" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EURWithVoucherCode--IoM_default" time="1.454" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferTrigger999--IoM_default" time="2.114" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriodWithVisa--IoM_default" time="26.713" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests">
                                  <failure type="com.googlecode.sardine.impl.SardineException" message="Unexpected response">
                                    <![CDATA[com.googlecode.sardine.impl.SardineException: Unexpected response
                               at com.googlecode.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:49)
                               at com.googlecode.sardine.impl.handler.VoidResponseHandler.handleResponse(VoidResponseHandler.java:35)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:478)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:458)
                               at de.edict.eoc.test.utils.TextHelper.connectWikiWebdav(TextHelper.java:75)
                               at de.edict.eoc.test.bonus.BonusOfferTestHelper.checkDefaultStakerestrictionsAgainstWiki(BonusOfferTestHelper.java:339)
                               at de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests.testEveryPayInDuringThePeriodWithVisa(BonusOfferDepositTests.java:178)
                               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                               at java.lang.reflect.Method.invoke(Method.java:498)
                               at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                               at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                               at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                               at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                               at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                               at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                               at java.lang.Thread.run(Thread.java:748)
                              ]]>
                                  </failure>
                                </testcase> <!-- testEveryPayInDuringThePeriodWithVisa-IoM_default -->
                                <testcase name="TryToCreateBonusWithoutCorrectPermission--IoM_default" time="0.610" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacter--IoM_default" time="3.118" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithOneHourDuration--IoM_default" time="0.693" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacterMinus--IoM_default" time="0.501" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithoutStartAndEnddate--IoM_default" time="0.542" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferWithCountryAndPaymentRestrictions--IoM_default" time="2.136" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryfifthPayInWithVisa--IoM_default" time="0.675" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriod--IoM_default" time="1.956" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EUR--IoM_default" time="0.706" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferSartTodayTop5Restrictions--IoM_default" time="1.055" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferAllMax--IoM_default" time="0.951" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                              </testsuite> <!-- de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests-IoM_default -->
                              '''
                              
                                                  sh 'ls -l'
                                                  xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: "TEST-*.xml", skipNoTestFiles: false, stopProcessingIfError: true)]
                                              }
                                          }
                                      }
                                  }
                              }
                      )
                              
              
                  }
              } {code}
          New: I have created a simple pipeline with two parallel steps.

          In each step I create a valid JUnit xml file and use xUnit to analyse it.

          During the run xunit can analyse one of the JUnit xml file, but for the other one the only log out the message: _WARNING: All test reports are empty._

          Attached pipeline.log [^log.txt]

           

          Example pipeline:
          {code:java}
          timestamps {
              node {
                  deleteDir()
                  sleep 1
                  parallel(
                              dateiEins: {
                  stage('generate xml file 1'){
                      dir('file1') {
                      dir('test-output') {
                          dir('junit') {
                                      writeFile file: 'TEST-de.edict.services.portaltests.SlotSessionTest_ES.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                      <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                      <testsuite hostname="hhbld03t" name="de.edict.services.portaltests.SlotSessionTest--ES" tests="11" failures="0" timestamp="26 Jun 2018 13:51:32 GMT" time="265.564" errors="1">
                        <testcase name="testExpireSlotSessionWhileGameStartLossCondition--ES" time="17.388" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testConsistencyOfSlotsessionAndAccountDataAfterHeartbeat--ES" time="59.843" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionWinning--ES" time="21.539" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileGameStartTimeCondition--ES" time="17.597" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionLimitAmountExceeded--ES" time="13.583" classname="de.edict.services.portaltests.SlotSessionTest">
                          <error type="java.lang.AssertionError" message="Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is &quot;SLOT_LOSS_LIMIT_EXCEEDED&quot;
                           but: was &quot;ACCOUNT_EMPTY&quot;">
                            <![CDATA[java.lang.AssertionError: Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is "SLOT_LOSS_LIMIT_EXCEEDED"
                           but: was "ACCOUNT_EMPTY"
                       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
                       at de.edict.services.portaltests.SlotSessionTest.testSlotSessionLimitAmountExceeded(SlotSessionTest.java:288)
                       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                       at java.lang.reflect.Method.invoke(Method.java:498)
                       at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                       at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                       at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                       at org.testng.TestRunner.privateRun(TestRunner.java:767)
                       at org.testng.TestRunner.run(TestRunner.java:617)
                       at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
                       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
                       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
                       at org.testng.SuiteRunner.run(SuiteRunner.java:254)
                       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
                       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
                       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
                       at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
                       at org.testng.TestNG.run(TestNG.java:1057)
                       at org.testng.TestNG.privateMain(TestNG.java:1364)
                       at org.testng.TestNG.main(TestNG.java:1333)
                      ]]>
                          </error>
                        </testcase> <!-- testSlotSessionLimitAmountExceeded-ES -->
                        <testcase name="testConsistencyOfSlotsessionAndAccountData--ES" time="18.456" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCreateSlotSessionWithGameStart--ES" time="2.897" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileHeartbeat--ES" time="35.558" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckPortalRestService--ES" time="28.069" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckBORestService--ES" time="17.425" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testLossLimitWarning--ES" time="33.209" classname="de.edict.services.portaltests.SlotSessionTest"/>
                      </testsuite> <!-- de.edict.services.portaltests.SlotSessionTest-ES -->
                      '''
                      sh 'ls -l'
                      xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: 'TEST-*.xml', skipNoTestFiles: false, stopProcessingIfError: true)]
                          }
                      }
                  }
              }
          },
          dateiZwei: {
              stage('generate xml file 2'){
                  dir('file2') {
                      dir('test-output') {
                          dir('junit') { writeFile file: 'TEST-de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                              <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                              <testsuite hostname="hhbld01t" name="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default" tests="15" failures="1" timestamp="26 Jun 2018 15:41:26 GMT" time="55.391" errors="0">
                                <testcase name="testCreateBonusOfferWithCountryRestrictions--IoM_default" time="12.167" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EURWithVoucherCode--IoM_default" time="1.454" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferTrigger999--IoM_default" time="2.114" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriodWithVisa--IoM_default" time="26.713" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests">
                                  <failure type="com.googlecode.sardine.impl.SardineException" message="Unexpected response">
                                    <![CDATA[com.googlecode.sardine.impl.SardineException: Unexpected response
                               at com.googlecode.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:49)
                               at com.googlecode.sardine.impl.handler.VoidResponseHandler.handleResponse(VoidResponseHandler.java:35)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:478)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:458)
                               at de.edict.eoc.test.utils.TextHelper.connectWikiWebdav(TextHelper.java:75)
                               at de.edict.eoc.test.bonus.BonusOfferTestHelper.checkDefaultStakerestrictionsAgainstWiki(BonusOfferTestHelper.java:339)
                               at de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests.testEveryPayInDuringThePeriodWithVisa(BonusOfferDepositTests.java:178)
                               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                               at java.lang.reflect.Method.invoke(Method.java:498)
                               at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                               at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                               at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                               at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                               at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                               at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                               at java.lang.Thread.run(Thread.java:748)
                              ]]>
                                  </failure>
                                </testcase> <!-- testEveryPayInDuringThePeriodWithVisa-IoM_default -->
                                <testcase name="TryToCreateBonusWithoutCorrectPermission--IoM_default" time="0.610" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacter--IoM_default" time="3.118" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithOneHourDuration--IoM_default" time="0.693" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacterMinus--IoM_default" time="0.501" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithoutStartAndEnddate--IoM_default" time="0.542" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferWithCountryAndPaymentRestrictions--IoM_default" time="2.136" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryfifthPayInWithVisa--IoM_default" time="0.675" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriod--IoM_default" time="1.956" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EUR--IoM_default" time="0.706" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferSartTodayTop5Restrictions--IoM_default" time="1.055" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferAllMax--IoM_default" time="0.951" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                              </testsuite> <!-- de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests-IoM_default -->
                              '''
                              
                                                  sh 'ls -l'
                                                  xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: "TEST-*.xml", skipNoTestFiles: false, stopProcessingIfError: true)]
                                              }
                                          }
                                      }
                                  }
                              }
                      )
                              
              
                  }
              } {code}
          Sven Finsterwalder made changes -
          Description Original: I have created a simple pipeline with two parallel steps.

          In each step I create a valid JUnit xml file and use xUnit to analyse it.

          During the run xunit can analyse one of the JUnit xml file, but for the other one the only log out the message: _WARNING: All test reports are empty._

          Attached pipeline.log [^log.txt]

           

          Example pipeline:
          {code:java}
          timestamps {
              node {
                  deleteDir()
                  sleep 1
                  parallel(
                              dateiEins: {
                  stage('generate xml file 1'){
                      dir('file1') {
                      dir('test-output') {
                          dir('junit') {
                                      writeFile file: 'TEST-de.edict.services.portaltests.SlotSessionTest_ES.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                      <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                      <testsuite hostname="hhbld03t" name="de.edict.services.portaltests.SlotSessionTest--ES" tests="11" failures="0" timestamp="26 Jun 2018 13:51:32 GMT" time="265.564" errors="1">
                        <testcase name="testExpireSlotSessionWhileGameStartLossCondition--ES" time="17.388" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testConsistencyOfSlotsessionAndAccountDataAfterHeartbeat--ES" time="59.843" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionWinning--ES" time="21.539" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileGameStartTimeCondition--ES" time="17.597" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionLimitAmountExceeded--ES" time="13.583" classname="de.edict.services.portaltests.SlotSessionTest">
                          <error type="java.lang.AssertionError" message="Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is &quot;SLOT_LOSS_LIMIT_EXCEEDED&quot;
                           but: was &quot;ACCOUNT_EMPTY&quot;">
                            <![CDATA[java.lang.AssertionError: Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is "SLOT_LOSS_LIMIT_EXCEEDED"
                           but: was "ACCOUNT_EMPTY"
                       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
                       at de.edict.services.portaltests.SlotSessionTest.testSlotSessionLimitAmountExceeded(SlotSessionTest.java:288)
                       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                       at java.lang.reflect.Method.invoke(Method.java:498)
                       at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                       at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                       at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                       at org.testng.TestRunner.privateRun(TestRunner.java:767)
                       at org.testng.TestRunner.run(TestRunner.java:617)
                       at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
                       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
                       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
                       at org.testng.SuiteRunner.run(SuiteRunner.java:254)
                       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
                       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
                       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
                       at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
                       at org.testng.TestNG.run(TestNG.java:1057)
                       at org.testng.TestNG.privateMain(TestNG.java:1364)
                       at org.testng.TestNG.main(TestNG.java:1333)
                      ]]>
                          </error>
                        </testcase> <!-- testSlotSessionLimitAmountExceeded-ES -->
                        <testcase name="testConsistencyOfSlotsessionAndAccountData--ES" time="18.456" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCreateSlotSessionWithGameStart--ES" time="2.897" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileHeartbeat--ES" time="35.558" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckPortalRestService--ES" time="28.069" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckBORestService--ES" time="17.425" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testLossLimitWarning--ES" time="33.209" classname="de.edict.services.portaltests.SlotSessionTest"/>
                      </testsuite> <!-- de.edict.services.portaltests.SlotSessionTest-ES -->
                      '''
                      sh 'ls -l'
                      xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: 'TEST-*.xml', skipNoTestFiles: false, stopProcessingIfError: true)]
                          }
                      }
                  }
              }
          },
          dateiZwei: {
              stage('generate xml file 2'){
                  dir('file2') {
                      dir('test-output') {
                          dir('junit') { writeFile file: 'TEST-de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                              <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                              <testsuite hostname="hhbld01t" name="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default" tests="15" failures="1" timestamp="26 Jun 2018 15:41:26 GMT" time="55.391" errors="0">
                                <testcase name="testCreateBonusOfferWithCountryRestrictions--IoM_default" time="12.167" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EURWithVoucherCode--IoM_default" time="1.454" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferTrigger999--IoM_default" time="2.114" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriodWithVisa--IoM_default" time="26.713" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests">
                                  <failure type="com.googlecode.sardine.impl.SardineException" message="Unexpected response">
                                    <![CDATA[com.googlecode.sardine.impl.SardineException: Unexpected response
                               at com.googlecode.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:49)
                               at com.googlecode.sardine.impl.handler.VoidResponseHandler.handleResponse(VoidResponseHandler.java:35)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:478)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:458)
                               at de.edict.eoc.test.utils.TextHelper.connectWikiWebdav(TextHelper.java:75)
                               at de.edict.eoc.test.bonus.BonusOfferTestHelper.checkDefaultStakerestrictionsAgainstWiki(BonusOfferTestHelper.java:339)
                               at de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests.testEveryPayInDuringThePeriodWithVisa(BonusOfferDepositTests.java:178)
                               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                               at java.lang.reflect.Method.invoke(Method.java:498)
                               at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                               at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                               at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                               at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                               at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                               at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                               at java.lang.Thread.run(Thread.java:748)
                              ]]>
                                  </failure>
                                </testcase> <!-- testEveryPayInDuringThePeriodWithVisa-IoM_default -->
                                <testcase name="TryToCreateBonusWithoutCorrectPermission--IoM_default" time="0.610" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacter--IoM_default" time="3.118" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithOneHourDuration--IoM_default" time="0.693" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacterMinus--IoM_default" time="0.501" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithoutStartAndEnddate--IoM_default" time="0.542" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferWithCountryAndPaymentRestrictions--IoM_default" time="2.136" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryfifthPayInWithVisa--IoM_default" time="0.675" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriod--IoM_default" time="1.956" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EUR--IoM_default" time="0.706" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferSartTodayTop5Restrictions--IoM_default" time="1.055" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferAllMax--IoM_default" time="0.951" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                              </testsuite> <!-- de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests-IoM_default -->
                              '''
                              
                                                  sh 'ls -l'
                                                  xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: "TEST-*.xml", skipNoTestFiles: false, stopProcessingIfError: true)]
                                              }
                                          }
                                      }
                                  }
                              }
                      )
                              
              
                  }
              } {code}
          New: I have created a simple pipeline with two parallel steps.

          In each step I create a valid JUnit xml file and use xUnit to analyse it.

          During the run xunit can analyse one of the JUnit xml file, but for the other one it only logs out the message: _WARNING: All test reports are empty._

          Attached pipeline.log [^log.txt]

           

          Example pipeline:
          {code:java}
          timestamps {
              node {
                  deleteDir()
                  sleep 1
                  parallel(
                              dateiEins: {
                  stage('generate xml file 1'){
                      dir('file1') {
                      dir('test-output') {
                          dir('junit') {
                                      writeFile file: 'TEST-de.edict.services.portaltests.SlotSessionTest_ES.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                      <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                      <testsuite hostname="hhbld03t" name="de.edict.services.portaltests.SlotSessionTest--ES" tests="11" failures="0" timestamp="26 Jun 2018 13:51:32 GMT" time="265.564" errors="1">
                        <testcase name="testExpireSlotSessionWhileGameStartLossCondition--ES" time="17.388" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testConsistencyOfSlotsessionAndAccountDataAfterHeartbeat--ES" time="59.843" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionWinning--ES" time="21.539" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileGameStartTimeCondition--ES" time="17.597" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testSlotSessionLimitAmountExceeded--ES" time="13.583" classname="de.edict.services.portaltests.SlotSessionTest">
                          <error type="java.lang.AssertionError" message="Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is &quot;SLOT_LOSS_LIMIT_EXCEEDED&quot;
                           but: was &quot;ACCOUNT_EMPTY&quot;">
                            <![CDATA[java.lang.AssertionError: Expecting message type SLOT_LOSS_LIMIT_EXCEEDED in Response.
                      Expected: is "SLOT_LOSS_LIMIT_EXCEEDED"
                           but: was "ACCOUNT_EMPTY"
                       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
                       at de.edict.services.portaltests.SlotSessionTest.testSlotSessionLimitAmountExceeded(SlotSessionTest.java:288)
                       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                       at java.lang.reflect.Method.invoke(Method.java:498)
                       at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                       at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                       at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                       at org.testng.TestRunner.privateRun(TestRunner.java:767)
                       at org.testng.TestRunner.run(TestRunner.java:617)
                       at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
                       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
                       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
                       at org.testng.SuiteRunner.run(SuiteRunner.java:254)
                       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
                       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
                       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
                       at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
                       at org.testng.TestNG.run(TestNG.java:1057)
                       at org.testng.TestNG.privateMain(TestNG.java:1364)
                       at org.testng.TestNG.main(TestNG.java:1333)
                      ]]>
                          </error>
                        </testcase> <!-- testSlotSessionLimitAmountExceeded-ES -->
                        <testcase name="testConsistencyOfSlotsessionAndAccountData--ES" time="18.456" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCreateSlotSessionWithGameStart--ES" time="2.897" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testExpireSlotSessionWhileHeartbeat--ES" time="35.558" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckPortalRestService--ES" time="28.069" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testCheckBORestService--ES" time="17.425" classname="de.edict.services.portaltests.SlotSessionTest"/>
                        <testcase name="testLossLimitWarning--ES" time="33.209" classname="de.edict.services.portaltests.SlotSessionTest"/>
                      </testsuite> <!-- de.edict.services.portaltests.SlotSessionTest-ES -->
                      '''
                      sh 'ls -l'
                      xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: 'TEST-*.xml', skipNoTestFiles: false, stopProcessingIfError: true)]
                          }
                      }
                  }
              }
          },
          dateiZwei: {
              stage('generate xml file 2'){
                  dir('file2') {
                      dir('test-output') {
                          dir('junit') { writeFile file: 'TEST-de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default.xml', text: '''<?xml version="1.0" encoding="UTF-8"?>
                              <!-- Generated by de.edict.listener.JUnitReportReporterBase -->
                              <testsuite hostname="hhbld01t" name="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests--IoM_default" tests="15" failures="1" timestamp="26 Jun 2018 15:41:26 GMT" time="55.391" errors="0">
                                <testcase name="testCreateBonusOfferWithCountryRestrictions--IoM_default" time="12.167" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EURWithVoucherCode--IoM_default" time="1.454" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferTrigger999--IoM_default" time="2.114" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriodWithVisa--IoM_default" time="26.713" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests">
                                  <failure type="com.googlecode.sardine.impl.SardineException" message="Unexpected response">
                                    <![CDATA[com.googlecode.sardine.impl.SardineException: Unexpected response
                               at com.googlecode.sardine.impl.handler.ValidatingResponseHandler.validateResponse(ValidatingResponseHandler.java:49)
                               at com.googlecode.sardine.impl.handler.VoidResponseHandler.handleResponse(VoidResponseHandler.java:35)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:478)
                               at com.googlecode.sardine.impl.SardineImpl.get(SardineImpl.java:458)
                               at de.edict.eoc.test.utils.TextHelper.connectWikiWebdav(TextHelper.java:75)
                               at de.edict.eoc.test.bonus.BonusOfferTestHelper.checkDefaultStakerestrictionsAgainstWiki(BonusOfferTestHelper.java:339)
                               at de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests.testEveryPayInDuringThePeriodWithVisa(BonusOfferDepositTests.java:178)
                               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                               at java.lang.reflect.Method.invoke(Method.java:498)
                               at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
                               at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
                               at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
                               at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
                               at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
                               at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                               at java.lang.Thread.run(Thread.java:748)
                              ]]>
                                  </failure>
                                </testcase> <!-- testEveryPayInDuringThePeriodWithVisa-IoM_default -->
                                <testcase name="TryToCreateBonusWithoutCorrectPermission--IoM_default" time="0.610" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacter--IoM_default" time="3.118" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithOneHourDuration--IoM_default" time="0.693" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testBonusOfferWithSpecialCharacterMinus--IoM_default" time="0.501" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayinWithoutStartAndEnddate--IoM_default" time="0.542" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferWithCountryAndPaymentRestrictions--IoM_default" time="2.136" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryfifthPayInWithVisa--IoM_default" time="0.675" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testEveryPayInDuringThePeriod--IoM_default" time="1.956" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testFirstPayInWith50EUR--IoM_default" time="0.706" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferSartTodayTop5Restrictions--IoM_default" time="1.055" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                                <testcase name="testCreateBonusOfferAllMax--IoM_default" time="0.951" classname="de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests"/>
                              </testsuite> <!-- de.edict.services.backofficetests.bonusoffer.BonusOfferDepositTests-IoM_default -->
                              '''
                              
                                                  sh 'ls -l'
                                                  xunit testTimeMargin: '3000', thresholdMode: 1, thresholds: [failed(failureNewThreshold: '0', failureThreshold: '0'), skipped()], tools: [JUnit(deleteOutputFiles: false, failIfNotNew: false, pattern: "TEST-*.xml", skipNoTestFiles: false, stopProcessingIfError: true)]
                                              }
                                          }
                                      }
                                  }
                              }
                      )
                              
              
                  }
              } {code}
          Lars Skjærlund made changes -
          Priority Original: Minor [ 4 ] New: Major [ 3 ]
          Nikolas Falco made changes -
          Summary Original: xUnit: In parallel steps WARNING: All test reports are empty. appears but file ist not empty New: xUnit reports "All test reports are empty" in case of parallel steps but reports are not empty
          Nikolas Falco made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]

            nfalco Nikolas Falco
            sfin Sven Finsterwalder
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: