Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-15574

Mocha Test parser accepts only integer durations

    XMLWordPrintable

Details

    Description

      When we have a test result to be parsed by mocha and this results have duration that are non-integer, the build will fail with the error below:

      com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: Expected an int but was 3.3382 at line 1 column 39
              at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:232)
              at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:222)
              at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
              at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
              at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
              at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81)
              at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60)
              at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
              at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
              at com.google.gson.Gson.fromJson(Gson.java:790)
              at com.google.gson.Gson.fromJson(Gson.java:729)
              at com.atlassian.bamboo.plugins.nodejs.tasks.mocha.parser.MochaReportCollector.collect(MochaReportCollector.java:36)
              at com.atlassian.bamboo.build.test.TestCollationServiceImpl$1$1.run(TestCollationServiceImpl.java:139)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
              at java.util.concurrent.FutureTask.run(FutureTask.java:262)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
              at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NumberFormatException: Expected an int but was 3.3382 at line 1 column 39
              at com.google.gson.stream.JsonReader.nextInt(JsonReader.java:1192)
              at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:230)
              ... 17 more
      
      

      Most test results are in milliseconds and this makes parsing impossible

      Attachments

        Activity

          People

            Unassigned Unassigned
            smaiyaki Sultan Maiyaki (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: