git-commit-vandalism/t/t4201-shortlog.sh
Jeff King 82ebb0b6ec add test_cmp function for test scripts
Many scripts compare actual and expected output using
"diff -u". This is nicer than "cmp" because the output shows
how the two differ. However, not all versions of diff
understand -u, leading to unnecessary test failure.

This adds a test_cmp function to the test scripts and
switches all "diff -u" invocations to use it. The function
uses the contents of "$GIT_TEST_CMP" to compare its
arguments; the default is "diff -u".

On systems with a less-capable diff, you can do:

  GIT_TEST_CMP=cmp make test

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-13 00:57:52 -07:00

51 lines
1.5 KiB
Bash
Executable File
Raw Blame History

#!/bin/sh
#
# Copyright (c) 2006 Johannes E. Schindelin
#
test_description='git shortlog
'
. ./test-lib.sh
echo 1 > a1
git add a1
tree=$(git write-tree)
commit=$( (echo "Test"; echo) | git commit-tree $tree )
git update-ref HEAD $commit
echo 2 > a1
git commit --quiet -m "This is a very, very long first line for the commit message to see if it is wrapped correctly" a1
# test if the wrapping is still valid when replacing all i's by treble clefs.
echo 3 > a1
git commit --quiet -m "$(echo "This is a very, very long first line for the commit message to see if it is wrapped correctly" | sed "s/i/1234/g" | tr 1234 '\360\235\204\236')" a1
# now fsck up the utf8
git config i18n.commitencoding non-utf-8
echo 4 > a1
git commit --quiet -m "$(echo "This is a very, very long first line for the commit message to see if it is wrapped correctly" | sed "s/i/1234/g" | tr 1234 '\370\235\204\236')" a1
echo 5 > a1
git commit --quiet -m "a 12 34 56 78" a1
git shortlog -w HEAD > out
cat > expect << EOF
A U Thor (5):
Test
This is a very, very long first line for the commit message to see if
it is wrapped correctly
Thð<68>„žs ð<>„žs a very, very long fð<66>„žrst lð<6C>„žne for the commð<6D>„žt message to see ð<>„žf
ð<>„žt ð<>„žs wrapped correctly
Thø<68>„žs ø<>„žs a very, very long fø<66>„žrst lø<6C>„žne for the commø<6D>„žt
message to see ø<>„žf ø<>„žt ø<>„žs wrapped correctly
a 12 34
56 78
EOF
test_expect_success 'shortlog wrapping' 'test_cmp expect out'
test_done