Re: [PATCH v7 4/4] t1006: add tests for git cat-file --literally
From: Eric Sunshine <hidden>
Date: 2016-06-15 23:04:24
On Wed, Apr 8, 2015 at 1:42 PM, karthik nayak [off-list ref] wrote:
On 04/08/2015 02:19 AM, Eric Sunshine wrote:quoted
On Sat, Apr 4, 2015 at 1:44 AM, Karthik Nayak [off-list ref] wrote:quoted
Signed-off-by: Karthik Nayak <redacted> ---diff --git a/t/t1006-cat-file.sh b/t/t1006-cat-file.sh index ab36b1e..5b74044 100755 --- a/t/t1006-cat-file.sh +++ b/t/t1006-cat-file.sh@@ -296,4 +308,19 @@ test_expect_success '%(deltabase) reports packeddelta bases' ' } ' +bogus_type="bogus" +bogus_sha1=$(git hash-object -t $bogus_type --literally -w --stdin </dev/null) + +test_expect_success "Type of broken object is correct" ' + echo $bogus_type >expect && + git cat-file -t --literally $bogus_sha1 >actual && + test_cmp expect actual +' + +test_expect_success "Size of broken object is correct" ' + echo "0" >expect &&Zero is such a common fallback value when things go wrong that it may not be the best choice for this test. Consequently, it might be better to create the bogus object with non-zero length. Take a look at how 'hello_length' and 'hello_sha1' are computed elsewhere in this script for inspiration.The first part of this patch contains tests which make use of 'hello_length' adn 'hello_sha1', but I get what you're saying, will look into it. Thanks.
Just to be sure we're on the same page, I wasn't suggesting re-using
'hello_size' and 'hello_sha1', but merely to use that as an example of
how to avoid hard-coding the length of your non-zero-length bogus
object. So, something like this, perhaps:
bogus_content='bogus'
bogus_size=$(strlen "$bogus_content")
bogus_sha1=$(echo_without_newline "$bogus_content" |
git hash-object -t $bogus_type --literally -w --stdin)
...
test_expect_success "Size of broken object is correct" '
echo $bogus_size >expect &&
...