From 5aef97cebcda2124074d29fde6f62b48cb77e135 Mon Sep 17 00:00:00 2001 From: Christoph Kutzinski Date: Sun, 3 Mar 2013 12:10:05 +0100 Subject: [PATCH] Added regression test for broken Maven 2 builds with maven-failsafe-plugin [JENKINS-15865] --- .../java/hudson/maven/MavenBuildTest.java | 32 ++++++++++++++++++ .../resources/hudson/maven/JENKINS-15865.zip | Bin 0 -> 2086 bytes 2 files changed, 32 insertions(+) create mode 100644 test/src/test/resources/hudson/maven/JENKINS-15865.zip diff --git a/test/src/test/java/hudson/maven/MavenBuildTest.java b/test/src/test/java/hudson/maven/MavenBuildTest.java index ed5af79adb..11af78c4ec 100755 --- a/test/src/test/java/hudson/maven/MavenBuildTest.java +++ b/test/src/test/java/hudson/maven/MavenBuildTest.java @@ -6,9 +6,14 @@ import hudson.model.ParametersDefinitionProperty; import hudson.model.Result; import hudson.model.StringParameterDefinition; import hudson.tasks.Maven.MavenInstallation; +import hudson.tasks.test.AbstractTestResultAction; +import hudson.tasks.test.AggregatedTestResultAction; +import hudson.tasks.test.TestResultProjectAction; import java.io.File; import java.io.IOException; +import java.util.List; +import java.util.Map; import org.jvnet.hudson.test.Bug; import org.jvnet.hudson.test.Email; @@ -145,6 +150,33 @@ public class MavenBuildTest extends HudsonTestCase { assertFalse( content.contains( "${maven.build.timestamp}") ); System.out.println( "content " + content ); + } + + @Bug(value=15865) + public void testMavenFailsafePluginTestResultsAreRecorded() throws Exception { + + // GIVEN: a Maven project with maven-failsafe-plugin and Maven 2.2.1 + MavenModuleSet mavenProject = createMavenProject(); + MavenInstallation mavenInstallation = configureDefaultMaven(); + mavenProject.setMaven(mavenInstallation.getName()); + mavenProject.getReporters().add(new TestReporter()); + mavenProject.setScm(new ExtractResourceSCM(getClass().getResource("JENKINS-15865.zip"))); + mavenProject.setGoals( "clean install" ); + + // WHEN project is build + MavenModuleSetBuild mmsb = buildAndAssertSuccess(mavenProject); + + // THEN we have a testresult recorded + AggregatedTestResultAction aggregatedTestResultAction = mmsb.getAggregatedTestResultAction(); + assertNotNull(aggregatedTestResultAction); + assertEquals(1, aggregatedTestResultAction.getTotalCount()); + + Map moduleBuilds = mmsb.getModuleLastBuilds(); + assertEquals(1, moduleBuilds.size()); + MavenBuild moduleBuild = moduleBuilds.values().iterator().next(); + AbstractTestResultAction testResultAction = moduleBuild.getTestResultAction(); + assertNotNull(testResultAction); + assertEquals(1, testResultAction.getTotalCount()); } private static class TestReporter extends MavenReporter { diff --git a/test/src/test/resources/hudson/maven/JENKINS-15865.zip b/test/src/test/resources/hudson/maven/JENKINS-15865.zip new file mode 100644 index 0000000000000000000000000000000000000000..db7d1644b5e852ffbabf58e3ba75bed6db3d1a69 GIT binary patch literal 2086 zcmWIWW@Zs#U|`^2NQq5$I=^7@t3!+o42M}67}yzP7z*-p^(u06LPIzin5{L913|d7 zf}4Sn|%O8rOL&zA9ZX z+hUu^?=M$xrL})-lyy|PX7G>8<0Y5<|B6G=Tgn2%JpWfrzk9Re;M)?bg_p(OZ-`u9 z{O9@0k4IfCHu!iX&wL`VTY97Mye^{$GJ^KCfhi>=$?bkS|KTL`Ho~k`_1+TV!teFLKzW&}>tY_H{ znNReRlW5z;_di(U`g-2CsQvIWo>;i+&gPxp zJ=|3+tR^*xTxig_?IQKc1}&II>D@I_u@cwR8u13HjVS*$NYK1c`q!; zs_2)R6DFnT?5(}r`G@M|{{g@xzy(YK3=C&ulAXW|D8T|u0>wqi`r!Ci)G!XL$Bci3 z?n!96Iib396EpK5Mr>9$4txQ`Xh{gS5q!u-WF?j*BFs6A-5f|-207)WTwGv0&?ALF zEQMi?YeiyiK~Ab3$WXBNKyJfg=3^}l-%}@j!aUA->ga_Pto1mfd%`nx#j_v=rWGND zo=Kb&v`(M*2|VF@=FDXdJSD{8LPe&i zJxx*5R(Y->Cazu4){r6+r0o^-IjBoC;gra#ojXJt7*=i5u{UPTX>3yqaAV{;&;yMY zMkYCCT;-w!IFNzGB*T_Q5EEWXvO-EpG&cu$gABu!!ytw+FbFXGb!28@faW)#Nud0O z$0W?$hHR1})Ff!$0~!ZP-y|5v$AD~H3$k(0l!VVrT)7ZA