Re: [PATCH v7 4/4] t1006: add tests for git cat-file --literally
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Apr 8, 2015, 20:34 UTC
- Message-ID
- <CAPig+cTYm-x7oLd+ts6wTXT3Xe_d1Fbw00=0NmrBPCd-+U4_eQ@mail.gmail.com>
- In-Reply-To
- <5525689F.5040306@gmail.com>
On Wed, Apr 8, 2015 at 1:42 PM, karthik nayak <karthik.188@gmail.com> wrote:
Show 35 quoted lines
> On 04/08/2015 02:19 AM, Eric Sunshine wrote: >> On Sat, Apr 4, 2015 at 1:44 AM, Karthik Nayak <karthik.188@gmail.com> >> wrote: >> > Signed-off-by: Karthik Nayak <karthik.188@gmail.com> >> > --- >> > 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 packed >> > delta 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 &&
...