test-lib-functions: detect test_when_finished in subshell
commit0968f12a99c4ac784b6b7f858003662cfaae117f
authorJohn Keeping <john@keeping.me.uk>
Sat, 5 Sep 2015 13:12:49 +0000 (5 14:12 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 8 Sep 2015 17:35:05 +0000 (8 10:35 -0700)
treee7ef01837bbd052b6b5216627ed82371c814e9b0
parentda568b66f1b481998bee3a2569739ca1302fd65c
test-lib-functions: detect test_when_finished in subshell

test_when_finished does nothing in a subshell because the change to
test_cleanup does not affect the parent.

There is no POSIX way to detect that we are in a subshell ($$ and $PPID
are specified to remain unchanged), but we can detect it on Bash and
fall back to ignoring the bug on other shells.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib-functions.sh