/hudson-test-framework/src/main/java/org/jvnet/hudson/test/MockBuilder.java

http://github.com/hudson/hudson · Java · 45 lines · 31 code · 9 blank · 5 comment · 0 complexity · 1b2e32254e65972abe8c8e4f12bf6b5f MD5 · raw file

  1. package org.jvnet.hudson.test;
  2. import hudson.Extension;
  3. import hudson.Launcher;
  4. import hudson.model.AbstractBuild;
  5. import hudson.model.BuildListener;
  6. import hudson.model.Descriptor;
  7. import hudson.model.Result;
  8. import hudson.tasks.Builder;
  9. import java.io.IOException;
  10. import net.sf.json.JSONObject;
  11. import org.kohsuke.stapler.StaplerRequest;
  12. /**
  13. * Forces the build result to be some pre-configured value.
  14. *
  15. * @author Kohsuke Kawaguchi
  16. */
  17. public class MockBuilder extends Builder {
  18. public final Result result;
  19. public MockBuilder(Result result) {
  20. this.result = result;
  21. }
  22. public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException {
  23. listener.getLogger().println("Simulating a specific result code "+result);
  24. build.setResult(result);
  25. return true;
  26. }
  27. @Extension
  28. public static final class DescriptorImpl extends Descriptor<Builder> {
  29. public Builder newInstance(StaplerRequest req, JSONObject data) {
  30. throw new UnsupportedOperationException();
  31. }
  32. public String getDisplayName() {
  33. return "Force the build result";
  34. }
  35. }
  36. }