On Thu, Aug 30, 2018 at 02:42:01PM -0400, Jeff King wrote: > > Would "echo base >base" give us 5-byte long base even on Windows? > > Or the test does not care if it is either "base\n" or "base\r\n"? > > > > Just double-checking. > > Good question. On the first one, I don't know. On the second one, yes, > it does matter. We'd feed "6" to patch_delta(), and it would complain > about the mismatch before actually hitting the code we're trying to > exercise. The test would still pass (the error result is the same either > way), but would quietly not test what we wanted. > > Maybe something like this to be on the safe side? That could be squashed into patch 2. Patch 4 would need this one additional case: diff --git a/t/t5303-pack-corruption-resilience.sh b/t/t5303-pack-corruption-resilience.sh index 0c537958e7..e91d6f5770 100755 --- a/t/t5303-pack-corruption-resilience.sh +++ b/t/t5303-pack-corruption-resilience.sh @@ -379,7 +379,7 @@ test_expect_success \ 'printf "\0\1\1X\1" > tail_garbage_literal && test_must_fail test-tool delta -p /dev/null tail_garbage_literal /dev/null' -# \5 - five bytes in base +# \4 - four bytes in base # \1 - one byte in result # \1 - one literal byte (X) # \221 - copy, one byte offset, one byte size @@ -387,8 +387,8 @@ test_expect_success \ # \1 - copy 1 byte test_expect_success \ 'apply delta with trailing garbage copy' \ - 'printf "\5\1\1X\221\0\1" > tail_garbage_copy && - echo base >base && + 'printf "\4\1\1X\221\0\1" > tail_garbage_copy && + printf base >base && test_must_fail test-tool delta -p /dev/null tail_garbage_copy /dev/null' # \0 - empty base I can re-roll, or even prepare a patch on top (it's sufficiently subtle that it may merit calling out explicitly in a commit). -Peff