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

Large test suites are not shown on BlueOcean UI

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • blueocean-plugin
    • None
    • * CentOS 7 on AWS

      BlueOcean UI does not display tests from large testsuites. This happens on Infinispan master build (just pick a first unstable build from our master folder located here).

      Unfortunately I couldn't find anything suspicious in DEBUG logs and the response from REST service (here's an example) also seems valid.

      Jenkins proxy configuration also seems fine since other builds with much smaller test suites are displayed properly (here's an example)

          [JENKINS-43751] Large test suites are not shown on BlueOcean UI

          FWIW, there seems to be some sort of JSON encoding problem in the test report:

          $ curl --compressed -s http://ec2-52-215-14-157.eu-west-1.compute.amazonaws.com/blue/rest/organizations/jenkins/pipelines/Infinispan/branches/master/runs/80/testReport/result/ | jq .
          parse error: Invalid string: control characters from U+0000 through U+001F must be escaped at line 1, column 4361781
          

          Christopher Orr added a comment - FWIW, there seems to be some sort of JSON encoding problem in the test report: $ curl --compressed -s http: //ec2-52-215-14-157.eu-west-1.compute.amazonaws.com/blue/ rest /organizations/jenkins/pipelines/Infinispan/branches/master/runs/80/testReport/result/ | jq . parse error: Invalid string: control characters from U+0000 through U+001F must be escaped at line 1, column 4361781

          James Dumay added a comment -

          slaskawi orrc the test API implementation (inherited from Jenkins) has a numerous flaws that we've resolved in JENKINS-41585 which will be shipped in Blue Ocean 1.1.

          We ended up implementing a brand new REST API so that:

          • We can support pagination when there are 1000s of failing, skipped or fixed tests (API now supports it but waiting on JENKINS-38054 to finalise the frontend implementation).
          • stdout/stderr are lazy loaded when the test is expanded. Strange characters in the logs were causing JSON parsing to fail, as discovered by orrc in the comments of this ticket.
          • Its now extensible without having to extend the frontend code which allows us to fulfil JENKINS-41281 and support every test plugin in the ecosystem

          James Dumay added a comment - slaskawi orrc the test API implementation (inherited from Jenkins) has a numerous flaws that we've resolved in JENKINS-41585 which will be shipped in Blue Ocean 1.1. We ended up implementing a brand new REST API so that: We can support pagination when there are 1000s of failing, skipped or fixed tests (API now supports it but waiting on JENKINS-38054 to finalise the frontend implementation). stdout/stderr are lazy loaded when the test is expanded. Strange characters in the logs were causing JSON parsing to fail, as discovered by orrc in the comments of this ticket. Its now extensible without having to extend the frontend code which allows us to fulfil JENKINS-41281 and support every test plugin in the ecosystem

          jamesdumay: Thanks for the really detailed response here, and on the other tickets!

          Christopher Orr added a comment - jamesdumay : Thanks for the really detailed response here, and on the other tickets!

          James Dumay added a comment -

          orrc you are most welcome

          James Dumay added a comment - orrc you are most welcome

            Unassigned Unassigned
            slaskawi Sebastian Ɓaskawiec
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: