Test interaction between diff --check and --exit-code

Make sure that it works as advertised in the man page.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Wincent Colaiuta 2007-12-14 12:23:44 +01:00 committed by Junio C Hamano
parent 420f4f04de
commit 5973a07937
1 changed files with 29 additions and 0 deletions

View File

@ -76,4 +76,33 @@ test_expect_success 'git diff-index --cached HEAD' '
}
'

test_expect_success '--check --exit-code returns 0 for no difference' '

git diff --check --exit-code

'

test_expect_success '--check --exit-code returns 1 for a clean difference' '

echo "good" > a &&
git diff --check --exit-code
test $? = 1

'

test_expect_success '--check --exit-code returns 3 for a dirty difference' '

echo "bad " >> a &&
git diff --check --exit-code
test $? = 3

'

test_expect_success '--check with --no-pager returns 2 for dirty difference' '

git --no-pager diff --check
test $? = 2

'

test_done