From d40d56b9b6a3737330781d5ada3b6469dab09e6f Mon Sep 17 00:00:00 2001 From: redsolo Date: Mon, 14 Sep 2009 16:38:16 +0000 Subject: [PATCH] [FIXED HUDSON-4449] - Fixed so skipped tests are ignored. --- .../IncreasingPassedTestsRule.java | 4 ++-- .../IncreasingPassedTestsRuleTest.java | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/main/java/hudson/plugins/cigame/rules/unittesting/IncreasingPassedTestsRule.java b/src/main/java/hudson/plugins/cigame/rules/unittesting/IncreasingPassedTestsRule.java index fb53549..935db7d 100644 --- a/src/main/java/hudson/plugins/cigame/rules/unittesting/IncreasingPassedTestsRule.java +++ b/src/main/java/hudson/plugins/cigame/rules/unittesting/IncreasingPassedTestsRule.java @@ -30,8 +30,8 @@ public RuleResult evaluate(AbstractBuild build) { if ((action != null) && (action.getPreviousResult() != null)) { return evaluate(build.getResult(), build.getPreviousBuild().getResult(), - action.getTotalCount()-action.getFailCount(), - action.getPreviousResult().getTotalCount()-action.getPreviousResult().getFailCount()); + action.getTotalCount()-action.getFailCount() - action.getSkipCount(), + action.getPreviousResult().getTotalCount()-action.getPreviousResult().getFailCount() - action.getPreviousResult().getSkipCount()); } } return null; diff --git a/src/test/java/hudson/plugins/cigame/rules/unittesting/IncreasingPassedTestsRuleTest.java b/src/test/java/hudson/plugins/cigame/rules/unittesting/IncreasingPassedTestsRuleTest.java index 73a7f4c..a5e8106 100644 --- a/src/test/java/hudson/plugins/cigame/rules/unittesting/IncreasingPassedTestsRuleTest.java +++ b/src/test/java/hudson/plugins/cigame/rules/unittesting/IncreasingPassedTestsRuleTest.java @@ -14,6 +14,7 @@ import org.junit.Assert; import org.junit.Test; +import org.jvnet.hudson.test.Bug; @SuppressWarnings("unchecked") public class IncreasingPassedTestsRuleTest { @@ -89,4 +90,26 @@ public void assertResultIsCalculated() { assertThat(ruleResult, notNullValue()); assertThat(ruleResult.getPoints(), is(500d)); } + + @Bug(4449) + @Test + public void assertSkippedTestIsntCalculated() { + AbstractBuild build = mock(AbstractBuild.class); + AbstractBuild previousBuild = mock(AbstractBuild.class); + when(build.getPreviousBuild()).thenReturn(previousBuild); + when(build.getResult()).thenReturn(Result.SUCCESS); + when(previousBuild.getResult()).thenReturn(Result.SUCCESS); + AbstractTestResultAction action = mock(AbstractTestResultAction.class); + AbstractTestResultAction previousAction = mock(AbstractTestResultAction.class); + when(build.getActions(AbstractTestResultAction.class)).thenReturn(Arrays.asList(action)); + when(action.getPreviousResult()).thenReturn(previousAction); + when(action.getTotalCount()).thenReturn(10); + when(action.getSkipCount()).thenReturn(5); + when(previousAction.getTotalCount()).thenReturn(5); + when(previousAction.getSkipCount()).thenReturn(1); + + RuleResult ruleResult = new IncreasingPassedTestsRule(100).evaluate(build); + assertThat(ruleResult, notNullValue()); + assertThat(ruleResult.getPoints(), is(100d)); + } }