This is another preparatory refactor to unify the trailer formatters.
Make format_trailer_info() operate on trailer_item objects, not the raw
string array.
We will continue to make improvements, culminating in the renaming of
format_trailer_info() to format_trailers(), at which point the
unification of these formatters will be complete.
In order to avoid breaking t4205 and t6300, flip *_success to *_failure
in the affected test cases. Add a temporary
"test_trailer_option_expect_failure" wrapper which we will use along
with "test_expect_failure" in the next commit to avoid breaking tests.
When the dust settles with the refactors a few more commits later, we
will drop the use of *_failure to make the tests truly pass again.
When the preparatory refactors are complete,
we'll be able to drop the use of *_failure that we introduce here.
Signed-off-by: Linus Arver <linusa@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Linus Arver committedMar 15, 2024 at 06:55 UTC65b4ad82b81e1a1f4afbb7f4974384d7db479c0a
3 files changed+30-19
t/t4205-log-pretty-formats.sh
+6-6
index e3d655e6b8..339e0c892e 100755--- a/t/t4205-log-pretty-formats.sh+++ b/t/t4205-log-pretty-formats.sh@@ -675,7 +675,7 @@ test_expect_success '%(trailers:only=no,only=true) shows only "key: value" trail test_cmp expect actual '-test_expect_success '%(trailers:unfold) unfolds trailers' '+test_expect_failure '%(trailers:unfold) unfolds trailers' ' git log --no-walk --pretty="%(trailers:unfold)" >actual && { unfold <trailers &&@@ -737,7 +737,7 @@ test_expect_success '%(trailers:key=foo,unfold) properly unfolds' ' test_cmp expect actual '-test_expect_success 'pretty format %(trailers:key=foo,only=no) also includes nontrailer lines' '+test_expect_failure 'pretty format %(trailers:key=foo,only=no) also includes nontrailer lines' ' git log --no-walk --pretty="format:%(trailers:key=Acked-by,only=no)" >actual && { echo "Acked-by: A U Thor <author@example.com>" &&@@ -752,7 +752,7 @@ test_expect_success '%(trailers:key) without value is error' ' test_cmp expect actual '-test_expect_success '%(trailers:keyonly) shows only keys' '+test_expect_failure '%(trailers:keyonly) shows only keys' ' git log --no-walk --pretty="format:%(trailers:keyonly)" >actual && test_write_lines \ "Signed-off-by" \@@ -774,7 +774,7 @@ test_expect_success '%(trailers:key=foo,valueonly) shows only value' ' test_cmp expect actual '-test_expect_success '%(trailers:valueonly) shows only values' '+test_expect_failure '%(trailers:valueonly) shows only values' ' git log --no-walk --pretty="format:%(trailers:valueonly)" >actual && test_write_lines \ "A U Thor <author@example.com>" \@@ -813,7 +813,7 @@ test_expect_success 'pretty format %(trailers:separator=X,unfold) changes separa test_cmp expect actual '-test_expect_success 'pretty format %(trailers:key_value_separator) changes key-value separator' '+test_expect_failure 'pretty format %(trailers:key_value_separator) changes key-value separator' ' git log --no-walk --pretty=format:"X%(trailers:key_value_separator=%x00)X" >actual && ( printf "XSigned-off-by\0A U Thor <author@example.com>\n" &&@@ -824,7 +824,7 @@ test_expect_success 'pretty format %(trailers:key_value_separator) changes key-v test_cmp expect actual '-test_expect_success 'pretty format %(trailers:key_value_separator,unfold) changes key-value separator' '+test_expect_failure 'pretty format %(trailers:key_value_separator,unfold) changes key-value separator' ' git log --no-walk --pretty=format:"X%(trailers:key_value_separator=%x00,unfold)X" >actual && ( printf "XSigned-off-by\0A U Thor <author@example.com>\n" &&
t/t6300-for-each-ref.sh
+14-2
index eb6c8204e8..2688dcc7b9 100755--- a/t/t6300-for-each-ref.sh+++ b/t/t6300-for-each-ref.sh@@ -1446,7 +1446,19 @@ test_trailer_option () { ' }-test_trailer_option '%(trailers:unfold) unfolds trailers' \+# Just like test_trailer_option, but expect failure instead of success.+test_trailer_option_expect_failure () {+ title=$1 option=$2+ cat >expect+ test_expect_failure "$title" '+ git for-each-ref --format="%($option)" refs/heads/main >actual &&+ test_cmp expect actual &&+ git for-each-ref --format="%(contents:$option)" refs/heads/main >actual &&+ test_cmp expect actual+ '+}++test_trailer_option_expect_failure '%(trailers:unfold) unfolds trailers' \ 'trailers:unfold' <<-EOF $(unfold <trailers)@@ -1530,7 +1542,7 @@ test_trailer_option '%(trailers:key=foo,unfold) properly unfolds' \ EOF-test_trailer_option '%(trailers:key=foo,only=no) also includes nontrailer lines' \+test_trailer_option_expect_failure '%(trailers:key=foo,only=no) also includes nontrailer lines' \ 'trailers:key=Signed-off-by,only=no' <<-EOF Signed-off-by: A U Thor <author@example.com> $(grep patch.description <trailers)