On Wed, Oct 1, 2014 at 5:40 AM, René Scharfe <l.s.r@xxxxxx> wrote: > Signed-off-by: Rene Scharfe <l.s.r@xxxxxx> > --- > 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" > + 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html