From: Philippe Blain via GitGitGadget Date: Mon, 12 Oct 2020 18:09:29 GMT Subject: [PATCH v3 3/3] log, show: add tests for messages containing CRLF Message-ID: <59957d139135bc33dd1de97a60d02890dbfce7d5.1602526169.git.gitgitgadget@gmail.com> In-Reply-To: From: Philippe Blain 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 --- 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}" actual-branch && + awk "{print \$NF}" 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