Manually cleaning up from former tests in subsequent ones breaks the
ability to select which tests we want to run.  Use test_when_finished to
avoid this problem.

Signed-off-by: Elijah Newren <new...@gmail.com>
---
 t/t6036-recursive-corner-cases.sh | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/t/t6036-recursive-corner-cases.sh 
b/t/t6036-recursive-corner-cases.sh
index e5f167a06e..b5621303d6 100755
--- a/t/t6036-recursive-corner-cases.sh
+++ b/t/t6036-recursive-corner-cases.sh
@@ -4,12 +4,6 @@ test_description='recursive merge corner cases involving 
criss-cross merges'
 
 . ./test-lib.sh
 
-get_clean_checkout () {
-       git reset --hard &&
-       git clean -fdqx &&
-       git checkout "$1"
-}
-
 #
 #  L1  L2
 #   o---o
@@ -445,10 +439,12 @@ test_expect_success 'setup differently handled merges of 
directory/file conflict
 '
 
 test_expect_success 'merge of D & E1 fails but has appropriate contents' '
+       test_when_finished "git -C directory-file reset --hard" &&
+       test_when_finished "git -C directory-file clean -fdqx" &&
        (
                cd directory-file &&
 
-               get_clean_checkout D^0 &&
+               git checkout D^0 &&
 
                test_must_fail git merge -s recursive E1^0 &&
 
@@ -468,10 +464,12 @@ test_expect_success 'merge of D & E1 fails but has 
appropriate contents' '
 '
 
 test_expect_success 'merge of E1 & D fails but has appropriate contents' '
+       test_when_finished "git -C directory-file reset --hard" &&
+       test_when_finished "git -C directory-file clean -fdqx" &&
        (
                cd directory-file &&
 
-               get_clean_checkout E1^0 &&
+               git checkout E1^0 &&
 
                test_must_fail git merge -s recursive D^0 &&
 
@@ -491,10 +489,12 @@ test_expect_success 'merge of E1 & D fails but has 
appropriate contents' '
 '
 
 test_expect_success 'merge of D & E2 fails but has appropriate contents' '
+       test_when_finished "git -C directory-file reset --hard" &&
+       test_when_finished "git -C directory-file clean -fdqx" &&
        (
                cd directory-file &&
 
-               get_clean_checkout D^0 &&
+               git checkout D^0 &&
 
                test_must_fail git merge -s recursive E2^0 &&
 
@@ -516,10 +516,12 @@ test_expect_success 'merge of D & E2 fails but has 
appropriate contents' '
 '
 
 test_expect_success 'merge of E2 & D fails but has appropriate contents' '
+       test_when_finished "git -C directory-file reset --hard" &&
+       test_when_finished "git -C directory-file clean -fdqx" &&
        (
                cd directory-file &&
 
-               get_clean_checkout E2^0 &&
+               git checkout E2^0 &&
 
                test_must_fail git merge -s recursive D^0 &&
 
-- 
2.17.0.1.gda85003413

Reply via email to