From: René Scharfe Date: Wed, 01 Oct 2014 14:21:22 GMT Subject: Re: [PATCH 1/2] sha1-array: add test-sha1-array and basic tests Message-ID: <542C0DE2.6060502@web.de> In-Reply-To: Am 01.10.2014 um 16:11 schrieb Eric Sunshine: > On Wed, Oct 1, 2014 at 5:40 AM, René Scharfe wrote: >> Signed-off-by: Rene Scharfe >> --- >> 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. :) > >> + 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