Thread (13 messages) flat view 13 messages, 2 authors, 2016-06-15

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 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 &&
        ...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help