tests: check --[short]stat output after chmod

Add a test to check 'diff --stat' output with a text file after chmod,
and the same for a binary file. This demonstrates that text and binary
files are treated differently, which can be misleading.

While at it, add tests to check --shortstat output, too.

Reported-by: Martin Mareš <mj@ucw.cz>
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2012-05-01 19:10:13 +02:00 committed by Junio C Hamano
parent ec57a821a3
commit 4434e6ba6c

View file

@ -25,4 +25,41 @@ test_expect_success 'chmod' '
test_cmp expected check
'
test_expect_success 'prepare binary file' '
git commit -m rezrov &&
dd if=/dev/zero of=binbin bs=1024 count=1 &&
git add binbin &&
git commit -m binbin
'
test_expect_success '--stat output after text chmod' '
test_chmod -x rezrov &&
echo " 0 files changed" >expect &&
git diff HEAD --stat >actual &&
test_cmp expect actual
'
test_expect_success '--shortstat output after text chmod' '
git diff HEAD --shortstat >actual &&
test_cmp expect actual
'
test_expect_success '--stat output after binary chmod' '
test_chmod +x binbin &&
cat >expect <<-EOF &&
binbin | Bin 1024 -> 1024 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
EOF
git diff HEAD --stat >actual &&
test_cmp expect actual
'
test_expect_success '--shortstat output after binary chmod' '
cat >expect <<-EOF &&
1 file changed, 0 insertions(+), 0 deletions(-)
EOF
git diff HEAD --shortstat >actual &&
test_cmp expect actual
'
test_done