From: Philippe Blain <levraiphilippeblain@xxxxxxxxx> A previous commit fixed a bug in ref-filter.c causing messages containing CRLF to be incorrectly parsed and displayed. Add tests to also check that `git log` and `git show` correctly handle such messages, to prevent futur regressions if these commands are refactored to use the ref-filter API. To prevent having to modify expected output in further tests, use 'test_cleanup_crlf_refs' in t4202 to clean-up after the added tests. Signed-off-by: Philippe Blain <levraiphilippeblain@xxxxxxxxx> --- t/t4202-log.sh | 18 ++++++++++++++++++ t/t7007-show.sh | 5 +++++ 2 files changed, 23 insertions(+) diff --git a/t/t4202-log.sh b/t/t4202-log.sh index 56d34ed465..d4942a6f92 100755 --- a/t/t4202-log.sh +++ b/t/t4202-log.sh @@ -6,6 +6,7 @@ test_description='git log' . "$TEST_DIRECTORY/lib-gpg.sh" . "$TEST_DIRECTORY/lib-terminal.sh" . "$TEST_DIRECTORY/lib-log-graph.sh" +. "$TEST_DIRECTORY/lib-crlf-messages.sh" test_cmp_graph () { lib_test_cmp_graph --format=%s "$@" @@ -105,6 +106,23 @@ test_expect_success 'oneline' ' test_cmp expect actual ' +test_create_crlf_refs + +test_expect_success 'oneline with CRLF messages' ' + for branch in $LIB_CLRF_BRANCHES; do + cat .crlf-subject-${branch}.txt >expect && + git log --oneline -1 ${branch} >tmp-branch && + git log --oneline -1 tag-${branch} >tmp-tag && + awk "{print \$NF}" <tmp-branch >actual-branch && + awk "{print \$NF}" <tmp-tag >actual-tag && + test_cmp expect actual-branch && + test_cmp expect actual-tag + done +' +test_crlf_subject_body_and_contents log --all --reverse --grep Subject + +test_cleanup_crlf_refs + test_expect_success 'diff-filter=A' ' git log --no-renames --pretty="format:%s" --diff-filter=A HEAD > actual && diff --git a/t/t7007-show.sh b/t/t7007-show.sh index 42d3db6246..5ffe852829 100755 --- a/t/t7007-show.sh +++ b/t/t7007-show.sh @@ -3,6 +3,7 @@ test_description='git show' . ./test-lib.sh +. "$TEST_DIRECTORY/lib-crlf-messages.sh" test_expect_success setup ' echo hello world >foo && @@ -128,4 +129,8 @@ test_expect_success 'show --graph is forbidden' ' test_must_fail git show --graph HEAD ' +test_create_crlf_refs + +test_crlf_subject_body_and_contents show $LIB_CRLF_BRANCHES + test_done -- gitgitgadget