Index: src/main/java/com/progress/hudson/BuildItem.java =================================================================== --- src/main/java/com/progress/hudson/BuildItem.java (revision 14467) +++ src/main/java/com/progress/hudson/BuildItem.java (working copy) @@ -68,7 +68,7 @@ } private void setRetriesLeft(Integer retriesLeft) { - if(this.retriesLeft!=-1){ + if(retriesLeft!=-1){ //only set if not infinite (-1) this.retriesLeft = retriesLeft; } Index: src/test/java/com/progress/hudson/BuildItemTest.java =================================================================== --- src/test/java/com/progress/hudson/BuildItemTest.java (revision 0) +++ src/test/java/com/progress/hudson/BuildItemTest.java (revision 0) @@ -0,0 +1,21 @@ +package com.progress.hudson; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class BuildItemTest { + + @Test + public void readyForBuild_rebuildImmediatelyOneTime_shouldRebuildOnceAndThenStop() { + //Configure buildItem to rebuild immediately, one time. + BuildItem buildItem = new BuildItem(null,0,1); + + //First time around, the buildItem should rebuild + assertTrue(buildItem.readyForBuild()); + + //Second time around, it should not rebuild + assertFalse(buildItem.readyForBuild()); + } + +}