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

JellyTestSuite fails with timeout issue on Windows runner because it uses HudsonTestCase instead of JenkinsRule

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • jenkins-test-harness
    • None
    • Windows agent on kubernetes
      jenkins-test-harness-2.57 and above with jetty version greater than 9.4.6.v20170531
    • jenkins-test-harness 2.60, plugin 3.56

      The test class TestInjection generated by maven-hpi-plugin fails to run the test suite with a timeout exception when updating jenkins-test-harness from 2.56 to 2.57 on Windows agent.

      The same mvn install command run on a Linux agent run fine.

      After investigation, the reason is that JellyTestSuite is based on HudsonTestCase, and HudsonTestCase does not work on the Windows agent with a jetty above 9.4.6.v20170531.

      Between jenkins-test-harness-2:56 and jenkins-test-harness:2.57 jetty version has changed from 9.4.5.v20170502 to 9.4.22.v20191022.

      Setting jetty version to 9.4.6.v20170531 in maven dependencies with jenkins-test-harness:2.57 (and above) solve the issue.

      JellyTestSuiteBuilder should be updated to use JenkinsRule and not the deprecated HudsonTestCase.

      https://github.com/jenkinsci/jenkins-test-harness/blob/0e0ec3c9ccbe6314d488faa248e2f50f312f3cad/src/main/java/org/jvnet/hudson/test/JellyTestSuiteBuilder.java#L138

      Link to maven-hpi-plugin code that generate the TestInjection class:
      https://github.com/jenkinsci/maven-hpi-plugin/blob/master/src/main/java/org/jenkinsci/maven/plugins/hpi/TestInsertionMojo.java

            jglick Jesse Glick
            ajard A. Jard
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: