Details

    • Similar Issues:

      Description

      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>

        Attachments

          Issue Links

            Activity

            fuege André Fügenschuh created issue -
            olivergondza Oliver Gondža made changes -
            Field Original Value New Value
            Remote Link This issue links to "PR43 (Web Link)" [ 14251 ]
            fuege André Fügenschuh made changes -
            Description 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>
            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>
            scm_issue_link SCM/JIRA link daemon made changes -
            Status Open [ 1 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 170515 ] JNJira + In-Review [ 198879 ]
            georgefischhof George Fischhof made changes -
            Resolution Fixed [ 1 ]
            Status Resolved [ 5 ] Reopened [ 4 ]
            georgefischhof George Fischhof made changes -
            Assignee George Fischhof [ georgefischhof ]
            georgefischhof George Fischhof made changes -
            Assignee George Fischhof [ georgefischhof ]
            georgefischhof George Fischhof made changes -
            Status Reopened [ 4 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]

              People

              • Assignee:
                Unassigned
                Reporter:
                fuege André Fügenschuh
              • Votes:
                7 Vote for this issue
                Watchers:
                12 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: