--- a/stages/stages.go Mon Sep 04 20:58:56 2017 -0500
+++ b/stages/stages.go Mon Sep 04 21:04:34 2017 -0500
@@ -146,7 +146,13 @@
+// ShouldRun will return True if a stage should be run based on the passed in +// error (from the plan) and whether or not the stage is enabled. func (s *Stage) ShouldRun(err error) bool {
+ if s.Enabled == false { --- a/stages/stages_test.go Mon Sep 04 20:58:56 2017 -0500
+++ b/stages/stages_test.go Mon Sep 04 21:04:34 2017 -0500
@@ -39,7 +39,7 @@
-func (s *stagesSuite) TestShouldRunOnFail(t sweet.T) {
+func (s *stagesSuite) TestShouldRunOnFailEnabled(t sweet.T) { err := errors.New("testing")
@@ -53,7 +53,21 @@
Expect(stage.ShouldRun(err)).To(BeFalse())
-func (s *stagesSuite) TestShouldRunOnSuccess(t sweet.T) {
+func (s *stagesSuite) TestShouldRunOnFailDisabled(t sweet.T) { + stage := Stage{Enabled: false} + err := errors.New("testing") + stage.Run = "on-failure" + Expect(stage.ShouldRun(err)).To(BeFalse()) + Expect(stage.ShouldRun(err)).To(BeFalse()) + stage.Run = "on-success" + Expect(stage.ShouldRun(err)).To(BeFalse()) +func (s *stagesSuite) TestShouldRunOnSuccessEnabled(t sweet.T) { @@ -65,3 +79,16 @@
Expect(stage.ShouldRun(nil)).To(BeFalse())
+func (s *stagesSuite) TestShouldRunOnSuccessDisabled(t sweet.T) { + stage := Stage{Enabled: false} + stage.Run = "on-success" + Expect(stage.ShouldRun(nil)).To(BeFalse()) + Expect(stage.ShouldRun(nil)).To(BeFalse()) + stage.Run = "on-failure" + Expect(stage.ShouldRun(nil)).To(BeFalse())