Re: [PATCH 05/10] t0064: make hash size independent

2018-06-11 Thread brian m. carlson
On Mon, Jun 11, 2018 at 04:09:05AM -0400, Eric Sunshine wrote:
> On Mon, Jun 4, 2018 at 7:52 PM, brian m. carlson
>  wrote:
> >  test_expect_success 'lookup with almost duplicate values' '
> > +   # n-1 5s
> > +   root=$(test_translate 555 \
> > +   
> > 555) &&
> 
> This is rather unwieldy and ugly. How about simply re-using echoid()
> to compute the value, like this:
> 
> root=$(echoid "" 55) &&
> root=${root%5} &&
> 
> That is, use echoid() to generate the all-5's OID of correct length
> and then chop the last '5' off the end.

Sure, that would be nicer.
-- 
brian m. carlson: Houston, Texas, US
OpenPGP: https://keybase.io/bk2204


signature.asc
Description: PGP signature


Re: [PATCH 05/10] t0064: make hash size independent

2018-06-11 Thread Eric Sunshine
On Mon, Jun 4, 2018 at 7:52 PM, brian m. carlson
 wrote:
> Compute test values of the appropriate size instead of hard-coding
> 40-character values.  Rename the echo20 function to echoid, since the
> values may be of varying sizes.
>
> Signed-off-by: brian m. carlson 
> ---
> diff --git a/t/t0064-sha1-array.sh b/t/t0064-sha1-array.sh
> @@ -3,30 +3,30 @@
> -echo20 () {
> +echoid () {
> prefix="${1:+$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"
> +   echo "$prefix$ZERO_OID" | sed -e "s/00/$1/g"
> shift
> done
>  }
>
>
>  test_expect_success 'lookup with almost duplicate values' '
> +   # n-1 5s
> +   root=$(test_translate 555 \
> +   
> 555) &&

This is rather unwieldy and ugly. How about simply re-using echoid()
to compute the value, like this:

root=$(echoid "" 55) &&
root=${root%5} &&

That is, use echoid() to generate the all-5's OID of correct length
and then chop the last '5' off the end.

> {
> -   echo "append " &&
> -   echo "append 555f" &&
> -   echo20 lookup 55
> +   id1="${root}5" &&
> +   id2="${root}f" &&
> +   echo "append $id1" &&
> +   echo "append $id2" &&
> +   echoid lookup 55


[PATCH 05/10] t0064: make hash size independent

2018-06-04 Thread brian m. carlson
Compute test values of the appropriate size instead of hard-coding
40-character values.  Rename the echo20 function to echoid, since the
values may be of varying sizes.

Signed-off-by: brian m. carlson 
---
 t/t0064-sha1-array.sh | 49 ---
 1 file changed, 27 insertions(+), 22 deletions(-)

diff --git a/t/t0064-sha1-array.sh b/t/t0064-sha1-array.sh
index 67484502a0..ab230179d2 100755
--- a/t/t0064-sha1-array.sh
+++ b/t/t0064-sha1-array.sh
@@ -3,30 +3,30 @@
 test_description='basic tests for the SHA1 array implementation'
 . ./test-lib.sh
 
-echo20 () {
+echoid () {
prefix="${1:+$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"
+   echo "$prefix$ZERO_OID" | sed -e "s/00/$1/g"
shift
done
 }
 
 test_expect_success 'ordered enumeration' '
-   echo20 "" 44 55 88 aa >expect &&
+   echoid "" 44 55 88 aa >expect &&
{
-   echo20 append 88 44 aa 55 &&
+   echoid append 88 44 aa 55 &&
echo for_each_unique
} | test-tool sha1-array >actual &&
test_cmp expect actual
 '
 
 test_expect_success 'ordered enumeration with duplicate suppression' '
-   echo20 "" 44 55 88 aa >expect &&
+   echoid "" 44 55 88 aa >expect &&
{
-   echo20 append 88 44 aa 55 &&
-   echo20 append 88 44 aa 55 &&
+   echoid append 88 44 aa 55 &&
+   echoid append 88 44 aa 55 &&
echo for_each_unique
} | test-tool sha1-array >actual &&
test_cmp expect actual
@@ -34,8 +34,8 @@ test_expect_success 'ordered enumeration with duplicate 
suppression' '
 
 test_expect_success 'lookup' '
{
-   echo20 append 88 44 aa 55 &&
-   echo20 lookup 55
+   echoid append 88 44 aa 55 &&
+   echoid lookup 55
} | test-tool sha1-array >actual &&
n=$(cat actual) &&
test "$n" -eq 1
@@ -43,8 +43,8 @@ test_expect_success 'lookup' '
 
 test_expect_success 'lookup non-existing entry' '
{
-   echo20 append 88 44 aa 55 &&
-   echo20 lookup 33
+   echoid append 88 44 aa 55 &&
+   echoid lookup 33
} | test-tool sha1-array >actual &&
n=$(cat actual) &&
test "$n" -lt 0
@@ -52,9 +52,9 @@ test_expect_success 'lookup non-existing entry' '
 
 test_expect_success 'lookup with duplicates' '
{
-   echo20 append 88 44 aa 55 &&
-   echo20 append 88 44 aa 55 &&
-   echo20 lookup 55
+   echoid append 88 44 aa 55 &&
+   echoid append 88 44 aa 55 &&
+   echoid lookup 55
} | test-tool sha1-array >actual &&
n=$(cat actual) &&
test "$n" -ge 2 &&
@@ -63,19 +63,24 @@ test_expect_success 'lookup with duplicates' '
 
 test_expect_success 'lookup non-existing entry with duplicates' '
{
-   echo20 append 88 44 aa 55 &&
-   echo20 append 88 44 aa 55 &&
-   echo20 lookup 66
+   echoid append 88 44 aa 55 &&
+   echoid append 88 44 aa 55 &&
+   echoid lookup 66
} | test-tool sha1-array >actual &&
n=$(cat actual) &&
test "$n" -lt 0
 '
 
 test_expect_success 'lookup with almost duplicate values' '
+   # n-1 5s
+   root=$(test_translate 555 \
+   
555) &&
{
-   echo "append " &&
-   echo "append 555f" &&
-   echo20 lookup 55
+   id1="${root}5" &&
+   id2="${root}f" &&
+   echo "append $id1" &&
+   echo "append $id2" &&
+   echoid lookup 55
} | test-tool sha1-array >actual &&
n=$(cat actual) &&
test "$n" -eq 0
@@ -83,8 +88,8 @@ test_expect_success 'lookup with almost duplicate values' '
 
 test_expect_success 'lookup with single duplicate value' '
{
-   echo20 append 55 55 &&
-   echo20 lookup 55
+   echoid append 55 55 &&
+   echoid lookup 55
} | test-tool sha1-array >actual &&
n=$(cat actual) &&
test "$n" -ge 0 &&