-
Bug
-
Resolution: Not A Defect
-
Major
-
None
-
Jenkins 2.136
Master node is on ArchLinux x64, installed from pacman repository
Here is the exception I get:
org.jenkinsci.plugins.xunit.service.TransformerException: The result file '/opt/fast/jenkins/jenkinsData/Executor3/build/ios-jenkins-Release/junit/CoreUtils.xml' for the metric 'JUnit' is not valid. The result file has been skipped. at org.jenkinsci.plugins.xunit.service.XUnitTransformerCallable.invoke(XUnitTransformerCallable.java:112) at org.jenkinsci.plugins.xunit.service.XUnitTransformerCallable.invoke(XUnitTransformerCallable.java:39) at hudson.FilePath.act(FilePath.java:1076) at hudson.FilePath.act(FilePath.java:1059) at org.jenkinsci.plugins.xunit.XUnitProcessor.processTestsReport(XUnitProcessor.java:180) at org.jenkinsci.plugins.xunit.XUnitProcessor.process(XUnitProcessor.java:150) at org.jenkinsci.plugins.xunit.XUnitBuilder.perform(XUnitBuilder.java:114) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:80) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:67) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1$1.call(SynchronousNonBlockingStepExecution.java:50) at hudson.security.ACL.impersonate(ACL.java:290) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1.run(SynchronousNonBlockingStepExecution.java:47) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) 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)
Here is the input XML (generated by xcpretty 0.2.8 after running iOS tests):
<?xml version='1.0' encoding='UTF-8'?> <testsuites name='CoreUtilsTest.xctest' tests='6' failures='0'> <testsuite name='CoreMathUtilsTest' tests='3' failures='0'> <testcase classname='CoreMathUtilsTest' name='lrArrayMultiplyTest_iOS_arm64' time='0.010'/> <testcase classname='CoreMathUtilsTest' name='dotProductTest_iOS_arm64' time='0.003'/> <testcase classname='CoreMathUtilsTest' name='euclidianDistanceTest_iOS_arm64' time='0.002'/> </testsuite> <testsuite name='DispatchTest' tests='1' failures='0'> <testcase classname='DispatchTest' name='prioritization_iOS_arm64' time='0.002'/> </testsuite> <testsuite name='RapidJsonTest' tests='1' failures='0'> <testcase classname='RapidJsonTest' name='TestLimitDoubleDigits_iOS_arm64' time='0.001'/> </testsuite> <testsuite name='ZipperTest' tests='1' failures='0'> <testcase classname='ZipperTest' name='DecodeAndDecompressBySquare_iOS_arm64' time='0.002'/> </testsuite> </testsuites>
My current workaround is to downgrade XUnit plugin to 1.104, which parses this XML without troubles.
For reference, the parsing is done with following pipeline command:
step([$class: 'XUnitBuilder', testTimeMargin: '3000', thresholdMode: 1, thresholds: [[$class: 'FailedThreshold', failureNewThreshold: '', failureThreshold: '', unstableNewThreshold: '0', unstableThreshold: '0'], [$class: 'SkippedThreshold', failureNewThreshold: '', failureThreshold: '', unstableNewThreshold: '0', unstableThreshold: '0']], tools: [[$class: 'JUnitType', deleteOutputFiles: true, failIfNotNew: true, pattern: path, skipNoTestFiles: true, stopProcessingIfError: true]]])
This step was generated by Jenkins pipeline step generator tool.
- is related to
-
JENKINS-52392 Support custom junit format that does not respect any precise schema
- Resolved