Re: [PATCH 1/2] sha1-array: add test-sha1-array and basic tests
- From
René Scharfe <l.s.r@web.de>
- Date
- Oct 1, 2014, 14:21 UTC
- Message-ID
- <542C0DE2.6060502@web.de>
- In-Reply-To
- <CAPig+cQxXccnQCwr7oVfccAQn3sTUpv=b=qHEX1H7abng--=0A@mail.gmail.com>
Am 01.10.2014 um 16:11 schrieb Eric Sunshine:
Show 26 quoted lines
> On Wed, Oct 1, 2014 at 5:40 AM, René Scharfe <l.s.r@web.de> wrote:
>> Signed-off-by: Rene Scharfe <l.s.r@web.de>
>> ---
>> diff --git a/t/t0064-sha1-array.sh b/t/t0064-sha1-array.sh
>> new file mode 100755
>> index 0000000..bd68789
>> --- /dev/null
>> +++ b/t/t0064-sha1-array.sh
>> @@ -0,0 +1,64 @@
>> +#!/bin/sh
>> +
>> +test_description='basic tests for the SHA1 array implementation'
>> +. ./test-lib.sh
>> +
>> +echo20() {
>> + prefix="$1"
>> + shift
>> + while test $# -gt 0
>> + do
>> + echo "$prefix$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1"
>
> Each caller of echo20() manually includes a space at the end of
> $prefix. Would it make sense to instead have echo20() do this on
> behalf of the caller?
>
> echo "$prefix $1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1"That wouldn't work if the prefix is the empty string; we don't want a space in that case (see the next echo20 call below).
But ${prefix:+$prefix } would do the trick. Thanks for the idea. :)Show 60 quoted lines
>
>> + shift
>> + done
>> +}
>> +
>> +test_expect_success 'ordered enumeration' '
>> + echo20 "" 44 55 88 aa >expect &&
>> + {
>> + echo20 "append " 88 44 aa 55 &&
>
> Which would slightly reduce the burden on the caller and make it read
> (very slightly) nicer:
>
> echo20 append 88 44 aa 55 &&
>
>> + echo for_each_unique
>> + } | test-sha1-array >actual &&
>> + test_cmp expect actual
>> +'
>> +
>> +test_expect_success 'ordered enumeration with duplicate suppression' '
>> + echo20 "" 44 55 88 aa >expect &&
>> + {
>> + echo20 "append " 88 44 aa 55 &&
>> + echo20 "append " 88 44 aa 55 &&
>> + echo for_each_unique
>> + } | test-sha1-array >actual &&
>> + test_cmp expect actual
>> +'
>> +
>> +test_expect_success 'lookup' '
>> + {
>> + echo20 "append " 88 44 aa 55 &&
>> + echo20 "lookup " 55
>> + } | test-sha1-array >actual &&
>> + n=$(cat actual) &&
>> + test "$n" -eq 1
>> +'
>> +
>> +test_expect_success 'lookup non-existing entry' '
>> + {
>> + echo20 "append " 88 44 aa 55 &&
>> + echo20 "lookup " 33
>> + } | test-sha1-array >actual &&
>> + n=$(cat actual) &&
>> + test "$n" -lt 0
>> +'
>> +
>> +test_expect_success 'lookup with duplicates' '
>> + {
>> + echo20 "append " 88 44 aa 55 &&
>> + echo20 "append " 88 44 aa 55 &&
>> + echo20 "lookup " 55
>> + } | test-sha1-array >actual &&
>> + n=$(cat actual) &&
>> + test "$n" -ge 2 &&
>> + test "$n" -le 3
>> +'
>> +
>> +test_done