• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • maven-plugin
    • None

      The current implementation of Hudson's Maven support needlessly requires the use of maven-surefire-plugin for executing tests. If an alternative test runner plugin is used, Hudson's maven-plugin will not recognize test results, meaning that UNSTABLE builds are wrongly considered to be FAILED builds, and also that build status does not include test result reports.

      This behavior is due to the fact that the SurefireArchiver class includes conditional logic that insists that the test runner plugin is Surefire. If this conditional check is removed, then test results are correctly found and interpreted, and unstable builds are no longer considered failed builds.

      I've attached a simple patch that demonstrates this. Even though the contents of the patch may not be the correct fix, it at least illustrates the nature of the problem.

          [JENKINS-8334] maven-plugin insists on Surefire to run tests

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java
          maven-plugin/src/test/java/hudson/maven/MojoInfoBuilder.java
          maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java
          maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java
          http://jenkins-ci.org/commit/jenkins/900341f4912e3d055c30cc12ea5ed05310bf97df
          Log:
          Add regression test for SurefireArchiver test mojo detection JENKINS-8334

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java maven-plugin/src/test/java/hudson/maven/MojoInfoBuilder.java maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java http://jenkins-ci.org/commit/jenkins/900341f4912e3d055c30cc12ea5ed05310bf97df Log: Add regression test for SurefireArchiver test mojo detection JENKINS-8334

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          maven-plugin/src/main/java/hudson/maven/MojoInfo.java
          maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java
          http://jenkins-ci.org/commit/jenkins/2c0b577aabbd7aa1518eaf2f8111f80f7c549f20
          Log:
          [FIXED JENKINS-8334] use heuristics to detect test-mojos instead of relying on hard-coded plugin names

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: maven-plugin/src/main/java/hudson/maven/MojoInfo.java maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java http://jenkins-ci.org/commit/jenkins/2c0b577aabbd7aa1518eaf2f8111f80f7c549f20 Log: [FIXED JENKINS-8334] use heuristics to detect test-mojos instead of relying on hard-coded plugin names

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          core/src/main/java/hudson/tasks/junit/TestResult.java
          maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java
          maven-plugin/src/main/java/hudson/maven/reporters/TestMojo.java
          maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java
          maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java
          http://jenkins-ci.org/commit/jenkins/b68b84eaa04e521ac99c02257d91802d1ab9f3ff
          Log:
          Refactored detection of test mojos to simplify SurefireArchiver class JENKINS-8334

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: core/src/main/java/hudson/tasks/junit/TestResult.java maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java maven-plugin/src/main/java/hudson/maven/reporters/TestMojo.java maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java http://jenkins-ci.org/commit/jenkins/b68b84eaa04e521ac99c02257d91802d1ab9f3ff Log: Refactored detection of test mojos to simplify SurefireArchiver class JENKINS-8334

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2200
          Add regression test for SurefireArchiver test mojo detection JENKINS-8334 (Revision 900341f4912e3d055c30cc12ea5ed05310bf97df)
          [FIXED JENKINS-8334] use heuristics to detect test-mojos instead of relying on hard-coded plugin names (Revision 2c0b577aabbd7aa1518eaf2f8111f80f7c549f20)
          Refactored detection of test mojos to simplify SurefireArchiver class JENKINS-8334 (Revision b68b84eaa04e521ac99c02257d91802d1ab9f3ff)

          Result = SUCCESS
          Christoph Kutzinski : 900341f4912e3d055c30cc12ea5ed05310bf97df
          Files :

          • maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java
          • maven-plugin/src/test/java/hudson/maven/MojoInfoBuilder.java
          • maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java
          • maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java

          Christoph Kutzinski : 2c0b577aabbd7aa1518eaf2f8111f80f7c549f20
          Files :

          • maven-plugin/src/main/java/hudson/maven/MojoInfo.java
          • maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java

          Christoph Kutzinski : b68b84eaa04e521ac99c02257d91802d1ab9f3ff
          Files :

          • maven-plugin/src/main/java/hudson/maven/reporters/TestMojo.java
          • maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java
          • maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java
          • maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java
          • core/src/main/java/hudson/tasks/junit/TestResult.java

          dogfood added a comment - Integrated in jenkins_main_trunk #2200 Add regression test for SurefireArchiver test mojo detection JENKINS-8334 (Revision 900341f4912e3d055c30cc12ea5ed05310bf97df) [FIXED JENKINS-8334] use heuristics to detect test-mojos instead of relying on hard-coded plugin names (Revision 2c0b577aabbd7aa1518eaf2f8111f80f7c549f20) Refactored detection of test mojos to simplify SurefireArchiver class JENKINS-8334 (Revision b68b84eaa04e521ac99c02257d91802d1ab9f3ff) Result = SUCCESS Christoph Kutzinski : 900341f4912e3d055c30cc12ea5ed05310bf97df Files : maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java maven-plugin/src/test/java/hudson/maven/MojoInfoBuilder.java maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java Christoph Kutzinski : 2c0b577aabbd7aa1518eaf2f8111f80f7c549f20 Files : maven-plugin/src/main/java/hudson/maven/MojoInfo.java maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java Christoph Kutzinski : b68b84eaa04e521ac99c02257d91802d1ab9f3ff Files : maven-plugin/src/main/java/hudson/maven/reporters/TestMojo.java maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java maven-plugin/src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java core/src/main/java/hudson/tasks/junit/TestResult.java

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          changelog.html
          core/src/main/java/hudson/tasks/junit/TestResult.java
          maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java
          http://jenkins-ci.org/commit/jenkins/6b1cc47024172238a65d45f28db84f13495d8780
          Log:
          Changelog and cleanup for JENKINS-8334

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: changelog.html core/src/main/java/hudson/tasks/junit/TestResult.java maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java http://jenkins-ci.org/commit/jenkins/6b1cc47024172238a65d45f28db84f13495d8780 Log: Changelog and cleanup for JENKINS-8334

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2201
          Changelog and cleanup for JENKINS-8334 (Revision 6b1cc47024172238a65d45f28db84f13495d8780)

          Result = SUCCESS
          Christoph Kutzinski : 6b1cc47024172238a65d45f28db84f13495d8780
          Files :

          • maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java
          • changelog.html
          • core/src/main/java/hudson/tasks/junit/TestResult.java

          dogfood added a comment - Integrated in jenkins_main_trunk #2201 Changelog and cleanup for JENKINS-8334 (Revision 6b1cc47024172238a65d45f28db84f13495d8780) Result = SUCCESS Christoph Kutzinski : 6b1cc47024172238a65d45f28db84f13495d8780 Files : maven-plugin/src/main/java/hudson/maven/reporters/SurefireArchiver.java changelog.html core/src/main/java/hudson/tasks/junit/TestResult.java

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          src/main/java/hudson/maven/reporters/SurefireArchiver.java
          src/test/java/hudson/maven/MojoInfoBuilder.java
          src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java
          src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java
          http://jenkins-ci.org/commit/maven-plugin/61f6325a51ca37b4663cc096a79056755c764b94
          Log:
          Add regression test for SurefireArchiver test mojo detection JENKINS-8334
          Originally-Committed-As: 900341f4912e3d055c30cc12ea5ed05310bf97df

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: src/main/java/hudson/maven/reporters/SurefireArchiver.java src/test/java/hudson/maven/MojoInfoBuilder.java src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java http://jenkins-ci.org/commit/maven-plugin/61f6325a51ca37b4663cc096a79056755c764b94 Log: Add regression test for SurefireArchiver test mojo detection JENKINS-8334 Originally-Committed-As: 900341f4912e3d055c30cc12ea5ed05310bf97df

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          src/main/java/hudson/maven/MojoInfo.java
          src/main/java/hudson/maven/reporters/SurefireArchiver.java
          http://jenkins-ci.org/commit/maven-plugin/05d64e51bb883e2d684980ad8a8f52ce89761226
          Log:
          [FIXED JENKINS-8334] use heuristics to detect test-mojos instead of relying on hard-coded plugin names
          Originally-Committed-As: 2c0b577aabbd7aa1518eaf2f8111f80f7c549f20

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: src/main/java/hudson/maven/MojoInfo.java src/main/java/hudson/maven/reporters/SurefireArchiver.java http://jenkins-ci.org/commit/maven-plugin/05d64e51bb883e2d684980ad8a8f52ce89761226 Log: [FIXED JENKINS-8334] use heuristics to detect test-mojos instead of relying on hard-coded plugin names Originally-Committed-As: 2c0b577aabbd7aa1518eaf2f8111f80f7c549f20

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          src/main/java/hudson/maven/reporters/SurefireArchiver.java
          src/main/java/hudson/maven/reporters/TestMojo.java
          src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java
          src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java
          http://jenkins-ci.org/commit/maven-plugin/4d603c4c96f155821f15b0298928a512eea44599
          Log:
          Refactored detection of test mojos to simplify SurefireArchiver class JENKINS-8334
          Originally-Committed-As: b68b84eaa04e521ac99c02257d91802d1ab9f3ff

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: src/main/java/hudson/maven/reporters/SurefireArchiver.java src/main/java/hudson/maven/reporters/TestMojo.java src/test/java/hudson/maven/reporters/SurefireArchiverDetectTestMojosTest.java src/test/java/hudson/maven/reporters/SurefireArchiverUnitTest.java http://jenkins-ci.org/commit/maven-plugin/4d603c4c96f155821f15b0298928a512eea44599 Log: Refactored detection of test mojos to simplify SurefireArchiver class JENKINS-8334 Originally-Committed-As: b68b84eaa04e521ac99c02257d91802d1ab9f3ff

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          src/main/java/hudson/maven/reporters/SurefireArchiver.java
          http://jenkins-ci.org/commit/maven-plugin/487579aacc73afca228d4533598b4f44877da108
          Log:
          Changelog and cleanup for JENKINS-8334
          Originally-Committed-As: 6b1cc47024172238a65d45f28db84f13495d8780

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: src/main/java/hudson/maven/reporters/SurefireArchiver.java http://jenkins-ci.org/commit/maven-plugin/487579aacc73afca228d4533598b4f44877da108 Log: Changelog and cleanup for JENKINS-8334 Originally-Committed-As: 6b1cc47024172238a65d45f28db84f13495d8780

            kutzi kutzi
            jvoegele jvoegele
            Votes:
            2 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: