t: wrap complicated expect_code users in a block
commit9ddc5ac97ecdd03ceda4b6e3ff20a7524a9f0f8d
authorJeff King <peff@peff.net>
Fri, 20 Mar 2015 10:12:29 +0000 (20 06:12 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 20 Mar 2015 17:20:16 +0000 (20 10:20 -0700)
tree534ebb6d622071a3e4f2bd393344e24012011480
parentc21fc9d0ab217d6e3cf01ee895e827b72d8207b6
t: wrap complicated expect_code users in a block

If we are expecting a command to produce a particular exit
code, we can use test_expect_code. However, some cases are
more complicated, and want to accept one of a range of exit
codes. For these, we end up with something like:

  cmd;
  case "$?" in
  ...

That unfortunately breaks the &&-chain and fools
--chain-lint. Since these special cases are so few, we can
wrap them in a block, like this:

  { cmd; ret=$?; } &&
  case "$ret" in
  ...

This accomplishes the same thing, and retains the &&-chain
(the exit status fed to the && is that of the assignment,
which should always be true). It's technically longer, but
it is probably a good thing for unusual code like this to
stand out.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t0005-signals.sh
t/t4026-color.sh
t/t5004-archive-corner-cases.sh
t/t5512-ls-remote.sh