From e2abe0b5c305771294e59003028eac31fb921889 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Erik=20Hedenstr=C3=B6m?= <erik@hedenstroem.com>
Date: Thu, 2 Oct 2014 22:58:28 +0200
Subject: [PATCH] Tear down scenario or feature if test fails

---
 src/gurka.erl | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gurka.erl b/src/gurka.erl
index abd65c5..2ec783c 100644
--- a/src/gurka.erl
+++ b/src/gurka.erl
@@ -59,6 +59,7 @@ run(Module, Options, FeatureState, ScenarioState, _PreviousPhase, [Step = #step{
         {Flag, State} when Flag == ok; Flag == true ->
             [{ok, Step} | run(Module, Options, State, ScenarioState, background, Steps)];
         Term ->
+            apply(Module, Options, teardown_feature, [FeatureState]),
             [{Term, Step}]
     end;
 
@@ -77,6 +78,7 @@ run(Module, Options, FeatureState, ScenarioState, PreviousPhase, [Step = #step{p
                 {error, undef, _Stack} ->
                     [{ok, Step} | run(Module, Options, FeatureState, FeatureState, scenario, Steps)];
                 Term ->
+                    apply(Module, Options, teardown_feature, [FeatureState]),
                     [{Term, Step}]
             end;
         _ ->
@@ -90,6 +92,8 @@ run(Module, Options, FeatureState, ScenarioState, _PreviousPhase, [Step = #step{
         {Flag, State} when Flag == ok; Flag == true ->
             [{ok, Step} | run(Module, Options, FeatureState, State, scenario, Steps)];
         Term ->
+            apply(Module, Options, teardown_scenario, [ScenarioState]),
+            apply(Module, Options, teardown_feature, [FeatureState]),
             [{Term, Step}]
     end;
 
-- 
GitLab