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

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Minor
    • Component/s: jenkins-test-harness
    • Environment:
      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

            Assignee:
            Jesse Glick
            Reporter:
            A. Jard
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Resolved:
              Archived: