Skip to content

Commit de49b9e

Browse files
PhilipOakleydscho
authored andcommitted
hash-object: add a >4GB/LLP64 test case using filtered input
To verify that the `clean` side of the `clean`/`smudge` filter code is correct with regards to LLP64 (read: to ensure that `size_t` is used instead of `unsigned long`), here is a test case using a trivial filter, specifically _not_ writing anything to the object store to limit the scope of the test case. As in previous commits, the `big` file from previous test cases is reused if available, to save setup time, otherwise re-generated. Signed-off-by: Philip Oakley <philipoakley@iee.email> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
1 parent 6dfc114 commit de49b9e

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

t/t1007-hash-object.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,4 +276,16 @@ test_expect_success EXPENSIVE,SIZE_T_IS_64BIT,!LONG_IS_64BIT \
276276
test_cmp expect actual
277277
'
278278

279+
# This clean filter does nothing, other than excercising the interface.
280+
# We ensure that cleaning doesn't mangle large files on 64-bit Windows.
281+
test_expect_success EXPENSIVE,SIZE_T_IS_64BIT,!LONG_IS_64BIT \
282+
'hash filtered files over 4GB correctly' '
283+
{ test -f big || test-tool genzeros $((5*1024*1024*1024)) >big; } &&
284+
test_oid large5GB >expect &&
285+
test_config filter.null-filter.clean "cat" &&
286+
echo "big filter=null-filter" >.gitattributes &&
287+
git hash-object -- big >actual &&
288+
test_cmp expect actual
289+
'
290+
279291
test_done

0 commit comments

Comments
 (0)