diff --git a/test/src/test/groovy/jenkins/model/lazy/LazyBuildMixIn_Test.groovy b/test/src/test/groovy/jenkins/model/lazy/LazyBuildMixIn_Test.groovy new file mode 100644 index 0000000000000000000000000000000000000000..b61c934cf98e56d9d5ad458d299f92b34403a837 --- /dev/null +++ b/test/src/test/groovy/jenkins/model/lazy/LazyBuildMixIn_Test.groovy @@ -0,0 +1,33 @@ +package jenkins.model.lazy + +import hudson.model.Run +import hudson.model.TaskListener +import hudson.model.listeners.RunListener +import org.junit.Rule +import org.junit.Test +import org.jvnet.hudson.test.Bug +import org.jvnet.hudson.test.JenkinsRule + +class LazyBuildMixIn_Test { + @Rule + public JenkinsRule r = new JenkinsRule(); + + @Test + @Bug(20662) + public void testNewRunningBuildRelationFromPrevious() { + RunListener listener = new RunListener() { + @Override public void onCompleted(Run r, TaskListener listener) { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + } + } + }; + RunListener.all().add(listener); + def p = r.createFreeStyleProject(); + def b1 = p.scheduleBuild2(0).get(); + assert null == b1.getNextBuild(); + def b2 = p.scheduleBuild2(0).waitForStart(); + assert b2 == b1.getNextBuild(); + } +}