git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] t1450: add tests for NUL in headers of commits and tags

From
René Scharfe <l.s.r@web.de>
Date
Nov 19, 2015, 20:54 UTC
Message-ID
<564E371E.50606@web.de>
In-Reply-To
<CAPig+cSXiGVLvq59sUFAzTRoQFf-QswAoMSk20LvJqntzaf65A@mail.gmail.com>
Am 19.11.2015 um 21:33 schrieb Eric Sunshine:
Show 16 quoted lines
> On Thu, Nov 19, 2015 at 11:20 AM, René Scharfe <l.s.r@web.de> wrote:
>> Signed-off-by: Rene Scharfe <l.s.r@web.de>
>> ---
>> diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
>> @@ -176,6 +176,18 @@ test_expect_success 'integer overflow in timestamps is reported' '
>> +test_expect_success 'commit with NUL in header' '
>> +       git cat-file commit HEAD >basis &&
>> +       sed "s/author ./author Q/" <basis | q_to_nul >commit-NUL-header &&
>> +       new=$(git hash-object -t commit -w --stdin <commit-NUL-header) &&
>> +       test_when_finished "remove_object $new" &&
>> +       git update-ref refs/heads/bogus "$new" &&
>> +       test_when_finished "git update-ref -d refs/heads/bogus" &&
>> +       test_must_fail git fsck 2>out &&
>> +       cat out &&
>
> What is the purpose of this 'cat'?

It shows the full error message when the test is run with --debug, which is convenient when the following grep doesn't match. The same is done in most tests in that file.

Show 29 quoted lines
>
>> +       grep "error in commit $new.*unterminated header: NUL at offset" out
>> +'
>> @@ -276,6 +288,26 @@ test_expect_success 'tag with bad tagger' '
>> +test_expect_failure 'tag with NUL in header' '
>> +       sha=$(git rev-parse HEAD) &&
>> +       q_to_nul >tag-NUL-header <<-EOF &&
>> +       object $sha
>> +       type commit
>> +       tag contains-Q-in-header
>> +       tagger T A Gger <tagger@example.com> 1234567890 -0000
>> +
>> +       This is an invalid tag.
>> +       EOF
>> +
>> +       tag=$(git hash-object --literally -t tag -w --stdin <tag-NUL-header) &&
>> +       test_when_finished "remove_object $tag" &&
>> +       echo $tag >.git/refs/tags/wrong &&
>> +       test_when_finished "git update-ref -d refs/tags/wrong" &&
>> +       test_must_fail git fsck --tags 2>out &&
>> +       cat out &&
>
> Ditto.
>
>> +       grep "error in tag $tag.*unterminated header: NUL at offset" out
>> +'
>> +
>> --
>> 2.6.3
Previous: Eric SunshineNext: Jeff King
Message 6 of 14 in “t1450: add tests for NUL in headers of commits and tags”
  1. 1/2 t1450: add tests for NUL in headers of commits and tagsRené Scharfe, Nov 19, 2015
  2. 2/2 fsck: treat a NUL in a tag header as an errorRené Scharfe, Nov 19, 2015
  3. Jeff KingNov 20, 2015
  4. Johannes SchindelinNov 20, 2015
  5. Eric SunshineNov 19, 2015
  6. René ScharfeNov 19, 2015
  7. Jeff KingNov 20, 2015
  8. René ScharfeNov 20, 2015
  9. 3/2 test: factor out helper function test_must_containRené Scharfe, Nov 20, 2015
  10. Johannes SixtNov 21, 2015
  11. René ScharfeNov 21, 2015
  12. 4/2 test: use test_must_containRené Scharfe, Nov 20, 2015
  13. SZEDER GáborNov 21, 2015
  14. René ScharfeNov 21, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.