Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
git/t/t0064-sha1-array.sh
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
executable file
94 lines (83 sloc)
1.89 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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 |