You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
1.9 KiB
94 lines
1.9 KiB
#!/bin/sh |
|
|
|
test_description='basic tests for the SHA1 array implementation' |
|
. ./test-lib.sh |
|
|
|
echo20 () { |
|
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" |
|
shift |
|
done |
|
} |
|
|
|
test_expect_success 'ordered enumeration' ' |
|
echo20 "" 44 55 88 aa >expect && |
|
{ |
|
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_expect_success 'lookup non-existing entry with duplicates' ' |
|
{ |
|
echo20 append 88 44 aa 55 && |
|
echo20 append 88 44 aa 55 && |
|
echo20 lookup 66 |
|
} | test-sha1-array >actual && |
|
n=$(cat actual) && |
|
test "$n" -lt 0 |
|
' |
|
|
|
test_expect_success 'lookup with almost duplicate values' ' |
|
{ |
|
echo "append 5555555555555555555555555555555555555555" && |
|
echo "append 555555555555555555555555555555555555555f" && |
|
echo20 lookup 55 |
|
} | test-sha1-array >actual && |
|
n=$(cat actual) && |
|
test "$n" -eq 0 |
|
' |
|
|
|
test_expect_success 'lookup with single duplicate value' ' |
|
{ |
|
echo20 append 55 55 && |
|
echo20 lookup 55 |
|
} | test-sha1-array >actual && |
|
n=$(cat actual) && |
|
test "$n" -ge 0 && |
|
test "$n" -le 1 |
|
' |
|
|
|
test_done
|
|
|