From: Junio C Hamano Date: Wed, 07 Sep 2016 18:35:44 GMT Subject: Re: [PATCH] t9903: fix broken && chain Message-ID: In-Reply-To: <61de943c-df93-58e9-ca48-c469a71a1d43@kdbg.org> Johannes Sixt writes: > We might wonder why our && chain check does not catch this case: > The && chain check uses a strange exit code with the expectation that > the second or later part of a broken && chain would not exit with this > particular code. > > This expectation does not work in this case because __git_ps1, being > the first command in the second part of the broken && chain, records > the current exit code, does its work, and finally returns to the caller > with the recorded exit code. This fools our && chain check. > > Signed-off-by: Johannes Sixt > --- > t/t9903-bash-prompt.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh > index 0db4469..97c9b32 100755 > --- a/t/t9903-bash-prompt.sh > +++ b/t/t9903-bash-prompt.sh > @@ -177,7 +177,7 @@ test_expect_success 'prompt - interactive rebase' ' > git checkout b1 && > test_when_finished "git checkout master" && > git rebase -i HEAD^ && > - test_when_finished "git rebase --abort" > + test_when_finished "git rebase --abort" && > __git_ps1 >"$actual" && > test_cmp expected "$actual" > ' Thanks.