[PATCH] Expect the exit code of builtin checkout to be in portable range
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Feb 28, 2008, 16:49 UTC
- Message-ID
- <20080228164953.GB4069@steel.home>
- In-Reply-To
- <20080228163047.GA4069@steel.home>
This allows crashes to be noticed at least in bash and dash, which put the signal which terminated the command in its exit status.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com> ---
Alex Riesen, Thu, Feb 28, 2008 17:30:47 +0100:
Show 5 quoted lines
> Noticed in t2008, which actually passed, but silently removed > core-files (I saw segfaults in syslog) and did not properly check the > exit code. The change for the t2008 comes as seperate patch, but it > should be noted that "! command" is *not* how you check for a command > to have failed. It could have crashed.
So we'd better check the exit status in failure tests. Like this, for instance
t/t2008-checkout-subdir.sh | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/t/t2008-checkout-subdir.sh b/t/t2008-checkout-subdir.sh index 4a723dc..1295a09 100755 --- a/t/t2008-checkout-subdir.sh +++ b/t/t2008-checkout-subdir.sh @@ -67,16 +67,28 @@ test_expect_success 'checkout with simple prefix' ' ' -test_expect_success 'relative path outside tree should fail' \ - '! git checkout HEAD -- ../../Makefile' +test_expect_success 'relative path outside tree should fail' ' + git checkout HEAD -- ../../Makefile + test $? -gt 0 -a $? -le 128 +' -test_expect_success 'incorrect relative path to file should fail (1)' \ - '! git checkout HEAD -- ../file0' +test_expect_success 'incorrect relative path to file should fail (1)' ' + git checkout HEAD -- ../file0 + test $? -gt 0 -a $? -le 128 +' -test_expect_success 'incorrect relative path should fail (2)' \ - '( cd dir1 && ! git checkout HEAD -- ./file0 )' +test_expect_success 'incorrect relative path should fail (2)' ' + ( cd dir1 && { + git checkout HEAD -- ./file0 + test $? -gt 0 -a $? -le 128 + } ) +' -test_expect_success 'incorrect relative path should fail (3)' \ - '( cd dir1 && ! git checkout HEAD -- ../../file0 )' +test_expect_success 'incorrect relative path should fail (3)' ' + ( cd dir1 && { + git checkout HEAD -- ../../file0 + test $? -gt 0 -a $? -le 128 + } ) +' test_done
-- 1.5.4.3.253.g9f1d5