]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t4205: cover `git log --reflog -z` blindspot
authorDenton Liu <liu.denton@gmail.com>
Wed, 20 Nov 2019 00:51:18 +0000 (16:51 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 20 Nov 2019 04:33:36 +0000 (13:33 +0900)
The test suite does not include any tests where `--reflog` and `-z` are
used together in `git log`. Cover this blindspot. Note that the
`--pretty=oneline` case is written separately because it follows a
slightly different codepath.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4205-log-pretty-formats.sh

index f42a69faa2fde46d958577d10c50d2a6379ebf60..0335b428b1df345cb3a61c400bd8280f392fba8f 100755 (executable)
@@ -134,6 +134,36 @@ test_expect_failure C_LOCALE_OUTPUT 'NUL termination with --stat' '
        test_cmp expected actual
 '
 
+for p in short medium full fuller email raw
+do
+       test_expect_success "NUL termination with --reflog --pretty=$p" '
+               revs="$(git rev-list --reflog)" &&
+               for r in $revs
+               do
+                       git show -s "$r" --pretty="$p" &&
+                       printf "\0" || return 1
+               done >expect &&
+               {
+                       git log -z --reflog --pretty="$p" &&
+                       printf "\0"
+               } >actual &&
+               test_cmp expect actual
+       '
+done
+
+test_expect_success 'NUL termination with --reflog --pretty=oneline' '
+       revs="$(git rev-list --reflog)" &&
+       for r in $revs
+       do
+               git show -s --pretty=oneline "$r" >raw &&
+               cat raw | lf_to_nul || exit 1
+       done >expect &&
+       # the trailing NUL is already produced so we do not need to
+       # output another one
+       git log -z --pretty=oneline --reflog >actual &&
+       test_cmp expect actual
+'
+
 test_expect_success 'setup more commits' '
        test_commit "message one" one one message-one &&
        test_commit "message two" two two message-two &&