aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorWincent Colaiuta <win@wincent.com>2007-12-14 12:23:44 +0100
committerJunio C Hamano <gitster@pobox.com>2007-12-14 20:52:26 -0800
commit5973a07937f2c64b595c6784b06eb4441c07b5ef (patch)
treebb57614d6ce0350b01cd9a8e14b2393ce72dc13c /t
parent420f4f04de9b3790da695918ac168d4115665d92 (diff)
downloadgit-5973a07937f2c64b595c6784b06eb4441c07b5ef.tar.gz
git-5973a07937f2c64b595c6784b06eb4441c07b5ef.tar.xz
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>
Diffstat (limited to 't')
-rwxr-xr-xt/t4017-diff-retval.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/t/t4017-diff-retval.sh b/t/t4017-diff-retval.sh
index 68731908b..dc0b7126c 100755
--- a/t/t4017-diff-retval.sh
+++ b/t/t4017-diff-retval.sh
@@ -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