-
Bug
-
Resolution: Fixed
-
Major
-
None
Upgrading the junit-plugin from 1.11 to 1.12 fails with a parse error.
I guess this relates to "PR #35" because the skipped (Ignore attr.) test result file's "time" attr. is empty.
While the originator of the file (NUnit) should store a meaningful default (like "00:00:00" "0.0"), its up to the consumer to provide robust parsing, either by ignoring the "skipped" tests at all or by ignoring the empty string.
// Jenkins log stacktrace
[16:48:06.879] ERROR: Step ‘Publish NUnit test result report’ aborted due to exception:
[16:48:06.879] java.io.IOException: Failed to read C:\Jenkins\workspace\Foo\temporary-junit-reports\TEST-Bar.Common.Test.Utils.AccessorTest_13_2.xml
[16:48:06.879] at hudson.tasks.junit.TestResult.parse(TestResult.java:306)
[16:48:06.879] at hudson.tasks.junit.TestResult.parsePossiblyEmpty(TestResult.java:244)
[16:48:06.879] at hudson.tasks.junit.TestResult.parse(TestResult.java:175)
[16:48:06.879] at hudson.tasks.junit.TestResult.parse(TestResult.java:154)
[16:48:06.879] at hudson.tasks.junit.TestResult.<init>(TestResult.java:126)
[16:48:06.879] at hudson.plugins.nunit.NUnitPublisher$1.invoke(NUnitPublisher.java:243)
[16:48:06.879] at hudson.plugins.nunit.NUnitPublisher$1.invoke(NUnitPublisher.java:226)
[16:48:06.879] at hudson.FilePath.act(FilePath.java:990)
[16:48:06.879] at hudson.FilePath.act(FilePath.java:968)
[16:48:06.879] at hudson.plugins.nunit.NUnitPublisher.getTestResult(NUnitPublisher.java:226)
[16:48:06.879] at hudson.plugins.nunit.NUnitPublisher.recordTestResult(NUnitPublisher.java:189)
[16:48:06.879] at hudson.plugins.nunit.NUnitPublisher.perform(NUnitPublisher.java:152)
[16:48:06.879] at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
[16:48:06.879] at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782)
[16:48:06.879] at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723)
[16:48:06.879] at hudson.model.Build$BuildExecution.post2(Build.java:185)
[16:48:06.879] at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:668)
[16:48:06.879] at hudson.model.Run.execute(Run.java:1763)
[16:48:06.879] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
[16:48:06.879] at hudson.model.ResourceController.execute(ResourceController.java:98)
[16:48:06.879] at hudson.model.Executor.run(Executor.java:410)
[16:48:06.879] Caused by: java.lang.NumberFormatException: empty String
[16:48:06.879] at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
[16:48:06.879] at sun.misc.FloatingDecimal.parseFloat(Unknown Source)
[16:48:06.879] at java.lang.Float.parseFloat(Unknown Source)
[16:48:06.879] at hudson.tasks.junit.SuiteResult.<init>(SuiteResult.java:170)
[16:48:06.879] at hudson.tasks.junit.SuiteResult.parseSuite(SuiteResult.java:144)
[16:48:06.879] at hudson.tasks.junit.SuiteResult.parse(SuiteResult.java:129)
[16:48:06.879] at hudson.tasks.junit.TestResult.parse(TestResult.java:301)
[16:48:06.879] ... 20 more
// UnitTest.result file
<?xml version="1.0" encoding="UTF-8"?><testsuite errors="0" failures="0" name="Foo.Common.Test.Utils.AccessorTest" skipped="1" tests="1" time="">
<testcase classname="Foo.Common.Test.Utils.AccessorTest" name="InternalStaticMethod_DirectAccess()">
<skipped message="Assembly containing class to access is not the use case."/>
</testcase>
</testsuite>
- links to
[JENKINS-34407] junit-plugin parse error
Remote Link | New: This issue links to "PR43 (Web Link)" [ 14251 ] |
Description |
Original:
Upgrading the junit-plugin from 1.11 to 1.12 fails with a parse error. I guess this relates to "PR #35" because the *skipped* (Ignore attr.) test result file's "time" attr. is *empty*. While the originator of the file (NUnit) should store a meaningful default (like "00:00:00"), its up to the consumer to provide robust parsing, either by ignoring the "skipped" tests at all or by ignoring the empty string. // Jenkins log stacktrace \[16:48:06.879\] ERROR: Step ‘Publish NUnit test result report’ aborted due to exception: \[16:48:06.879\] java.io.IOException: Failed to read C:\Jenkins\workspace\Foo\temporary-junit-reports\TEST-Bar.Common.Test.Utils.AccessorTest_13_2.xml \[16:48:06.879\] at hudson.tasks.junit.TestResult.parse(TestResult.java:306) \[16:48:06.879\] at hudson.tasks.junit.TestResult.parsePossiblyEmpty(TestResult.java:244) \[16:48:06.879\] at hudson.tasks.junit.TestResult.parse(TestResult.java:175) \[16:48:06.879\] at hudson.tasks.junit.TestResult.parse(TestResult.java:154) \[16:48:06.879\] at hudson.tasks.junit.TestResult.<init>(TestResult.java:126) \[16:48:06.879\] at hudson.plugins.nunit.NUnitPublisher$1.invoke(NUnitPublisher.java:243) \[16:48:06.879\] at hudson.plugins.nunit.NUnitPublisher$1.invoke(NUnitPublisher.java:226) \[16:48:06.879\] at hudson.FilePath.act(FilePath.java:990) \[16:48:06.879\] at hudson.FilePath.act(FilePath.java:968) \[16:48:06.879\] at hudson.plugins.nunit.NUnitPublisher.getTestResult(NUnitPublisher.java:226) \[16:48:06.879\] at hudson.plugins.nunit.NUnitPublisher.recordTestResult(NUnitPublisher.java:189) \[16:48:06.879\] at hudson.plugins.nunit.NUnitPublisher.perform(NUnitPublisher.java:152) \[16:48:06.879\] at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) \[16:48:06.879\] at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782) \[16:48:06.879\] at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723) \[16:48:06.879\] at hudson.model.Build$BuildExecution.post2(Build.java:185) \[16:48:06.879\] at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:668) \[16:48:06.879\] at hudson.model.Run.execute(Run.java:1763) \[16:48:06.879\] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) \[16:48:06.879\] at hudson.model.ResourceController.execute(ResourceController.java:98) \[16:48:06.879\] at hudson.model.Executor.run(Executor.java:410) \[16:48:06.879\] Caused by: java.lang.NumberFormatException: empty String \[16:48:06.879\] at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source) \[16:48:06.879\] at sun.misc.FloatingDecimal.parseFloat(Unknown Source) \[16:48:06.879\] at java.lang.Float.parseFloat(Unknown Source) \[16:48:06.879\] at hudson.tasks.junit.SuiteResult.<init>(SuiteResult.java:170) \[16:48:06.879\] at hudson.tasks.junit.SuiteResult.parseSuite(SuiteResult.java:144) \[16:48:06.879\] at hudson.tasks.junit.SuiteResult.parse(SuiteResult.java:129) \[16:48:06.879\] at hudson.tasks.junit.TestResult.parse(TestResult.java:301) \[16:48:06.879\] ... 20 more // UnitTest.result file <?xml version="1.0" encoding="UTF-8"?><testsuite errors="0" failures="0" name="Foo.Common.Test.Utils.AccessorTest" skipped="1" tests="1" time=""> <testcase classname="Foo.Common.Test.Utils.AccessorTest" name="InternalStaticMethod_DirectAccess()"> <skipped message="Assembly containing class to access is not the use case."/> </testcase> </testsuite> |
New:
Upgrading the junit-plugin from 1.11 to 1.12 fails with a parse error. I guess this relates to "PR #35" because the *skipped* (Ignore attr.) test result file's "time" attr. is *empty*. While the originator of the file (NUnit) should store a meaningful default (like -"00:00:00"- "0.0"), its up to the consumer to provide robust parsing, either by ignoring the "skipped" tests at all or by ignoring the empty string. // Jenkins log stacktrace \[16:48:06.879\] ERROR: Step ‘Publish NUnit test result report’ aborted due to exception: \[16:48:06.879\] java.io.IOException: Failed to read C:\Jenkins\workspace\Foo\temporary-junit-reports\TEST-Bar.Common.Test.Utils.AccessorTest_13_2.xml \[16:48:06.879\] at hudson.tasks.junit.TestResult.parse(TestResult.java:306) \[16:48:06.879\] at hudson.tasks.junit.TestResult.parsePossiblyEmpty(TestResult.java:244) \[16:48:06.879\] at hudson.tasks.junit.TestResult.parse(TestResult.java:175) \[16:48:06.879\] at hudson.tasks.junit.TestResult.parse(TestResult.java:154) \[16:48:06.879\] at hudson.tasks.junit.TestResult.<init>(TestResult.java:126) \[16:48:06.879\] at hudson.plugins.nunit.NUnitPublisher$1.invoke(NUnitPublisher.java:243) \[16:48:06.879\] at hudson.plugins.nunit.NUnitPublisher$1.invoke(NUnitPublisher.java:226) \[16:48:06.879\] at hudson.FilePath.act(FilePath.java:990) \[16:48:06.879\] at hudson.FilePath.act(FilePath.java:968) \[16:48:06.879\] at hudson.plugins.nunit.NUnitPublisher.getTestResult(NUnitPublisher.java:226) \[16:48:06.879\] at hudson.plugins.nunit.NUnitPublisher.recordTestResult(NUnitPublisher.java:189) \[16:48:06.879\] at hudson.plugins.nunit.NUnitPublisher.perform(NUnitPublisher.java:152) \[16:48:06.879\] at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) \[16:48:06.879\] at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782) \[16:48:06.879\] at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723) \[16:48:06.879\] at hudson.model.Build$BuildExecution.post2(Build.java:185) \[16:48:06.879\] at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:668) \[16:48:06.879\] at hudson.model.Run.execute(Run.java:1763) \[16:48:06.879\] at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) \[16:48:06.879\] at hudson.model.ResourceController.execute(ResourceController.java:98) \[16:48:06.879\] at hudson.model.Executor.run(Executor.java:410) \[16:48:06.879\] Caused by: java.lang.NumberFormatException: empty String \[16:48:06.879\] at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source) \[16:48:06.879\] at sun.misc.FloatingDecimal.parseFloat(Unknown Source) \[16:48:06.879\] at java.lang.Float.parseFloat(Unknown Source) \[16:48:06.879\] at hudson.tasks.junit.SuiteResult.<init>(SuiteResult.java:170) \[16:48:06.879\] at hudson.tasks.junit.SuiteResult.parseSuite(SuiteResult.java:144) \[16:48:06.879\] at hudson.tasks.junit.SuiteResult.parse(SuiteResult.java:129) \[16:48:06.879\] at hudson.tasks.junit.TestResult.parse(TestResult.java:301) \[16:48:06.879\] ... 20 more // UnitTest.result file <?xml version="1.0" encoding="UTF-8"?><testsuite errors="0" failures="0" name="Foo.Common.Test.Utils.AccessorTest" skipped="1" tests="1" time=""> <testcase classname="Foo.Common.Test.Utils.AccessorTest" name="InternalStaticMethod_DirectAccess()"> <skipped message="Assembly containing class to access is not the use case."/> </testcase> </testsuite> |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Open [ 1 ] | New: Resolved [ 5 ] |
Workflow | Original: JNJira [ 170515 ] | New: JNJira + In-Review [ 198879 ] |
Resolution | Original: Fixed [ 1 ] | |
Status | Original: Resolved [ 5 ] | New: Reopened [ 4 ] |
Assignee | New: George Fischhof [ georgefischhof ] |
Assignee | Original: George Fischhof [ georgefischhof ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Reopened [ 4 ] | New: Resolved [ 5 ] |