public BuildCommand buildCommand() { return BuildCommand.fail(format("\"%s\" does not support new build command agent", this.getClass().getName())); }
@Test public void forceBuildFailWithMessage() { runBuild(fail("force failure"), Failed); assertThat(console.output(), is("force failure")); }
public BuildCommand updateToCommand(String baseDir) { List<BuildCommand> commands = new ArrayList<>(); for (MaterialRevision revision : revisions) { Material material = revision.getMaterial(); if (material instanceof ScmMaterial) { if (material instanceof GitMaterial) { GitMaterialUpdater updater = new GitMaterialUpdater((GitMaterial) material); commands.add(updater.updateTo(baseDir, revision.toRevisionContext())); } else if (material instanceof HgMaterial) { HgMaterialUpdater updater = new HgMaterialUpdater((HgMaterial) material); commands.add(updater.updateTo(baseDir, revision.toRevisionContext())); } else if (material instanceof SvnMaterial) { SvnMaterialUpdater updater = new SvnMaterialUpdater((SvnMaterial) material); commands.add(updater.updateTo(baseDir, revision.toRevisionContext())); } else if (material instanceof PackageMaterial) { //do nothing } else if (material instanceof TfsMaterial) { TfsMaterialUpdater updater = new TfsMaterialUpdater((TfsMaterial) material); commands.add(updater.updateTo(baseDir, revision.toRevisionContext())); } else if (material instanceof P4Material) { P4MaterialUpdater updater = new P4MaterialUpdater((P4Material) material); commands.add(updater.updateTo(baseDir, revision.toRevisionContext())); } else { commands.add(BuildCommand.fail("%s Material is not supported for new build command agent", material.getTypeForDisplay())); } } } return BuildCommand.compose(commands); }
@Test public void resultShouldBeFailedWhenCommandFailed() { runBuild(fail("force build failure"), Failed); assertThat(statusReporter.singleResult(), is(Failed)); }
@Test public void shouldNotFailBuildWhenTestCommandFail() { runBuild(echo("foo").setTest(fail("")), Passed); assertThat(statusReporter.singleResult(), is(Passed)); }
@Test public void shouldRunCommandWithRunIfFailedIfBuildIsFailed() { runBuild(compose( fail("force failure"), echo("on failure").runIf("failed")), Failed); assertThat(console.lastLine(), is("on failure")); }
@Test public void shouldRunCommandWithRunIfAnyRegardlessOfBuildResult() { runBuild(compose( echo("foo"), echo("on passing").runIf("any"), fail("force failure"), echo("on failure").runIf("any")), Failed); assertThat(console.asList(), is(Arrays.asList("foo", "on passing", "force failure", "on failure"))); }
@Test public void shouldNotFailBuildWhenTestEqWithComposedCommandOutputFail() { runBuild(echo("foo").setTest(test("-eq", "42", compose(fail("42")))), Passed); assertThat(statusReporter.singleResult(), is(Passed)); assertThat(console.output(), containsString("foo")); } }
@Test public void shouldNotFailBuildWhenComposedTestCommandFail() { runBuild(echo("foo").setTest(compose(echo(""), fail(""))), Passed); assertThat(statusReporter.singleResult(), is(JobResult.Passed)); }