t5505: modernize and simplify hard-to-digest test
authorEric Sunshine <sunshine@sunshineco.com>
Mon, 2 Jul 2018 00:23:48 +0000 (20:23 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 3 Jul 2018 19:38:05 +0000 (12:38 -0700)
This test uses a subshell within a subshell but is formatted in such a
way as to suggests that the inner subshell is a sibling rather than a
child, which makes it difficult to digest the test's structure and
intent.

Worse, the inner subshell performs cleanup of actions from earlier in
the test, however, a failure between the initial actions and the cleanup
will prevent the cleanup from taking place.

Fix these problems by modernizing and simplifying the test and by using
test_when_finished() for the cleanup action.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5505-remote.sh
index a6c0178f3af6c3e3f01816197e51e9bca546b00a..3552b51b4ceb39f95bbd38991ed8f183e6e4d928 100755 (executable)
@@ -348,17 +348,13 @@ URL: $(pwd)/one
 EOF
 
 test_expect_success 'prune --dry-run' '
-       (
-               cd one &&
-               git branch -m side2 side) &&
+       git -C one branch -m side2 side &&
+       test_when_finished "git -C one branch -m side side2" &&
        (
                cd test &&
                git remote prune --dry-run origin >output &&
                git rev-parse refs/remotes/origin/side2 &&
                test_must_fail git rev-parse refs/remotes/origin/side &&
-       (
-               cd ../one &&
-               git branch -m side side2) &&
                test_i18ncmp expect output
        )
 '