diff options
author | Jeff King <peff@peff.net> | 2020-12-04 18:49:24 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-12-04 21:55:14 (GMT) |
commit | d9ca6f8d9054e3441c0f291916cbedd2d0cad15f (patch) | |
tree | c44fe31515ee34c67d390b5d4e2511b4cc236f56 /t/t0064-oid-array.sh | |
parent | fb3920fd003e14283fb480b1eb4e8495b95034c9 (diff) | |
download | git-d9ca6f8d9054e3441c0f291916cbedd2d0cad15f.zip git-d9ca6f8d9054e3441c0f291916cbedd2d0cad15f.tar.gz git-d9ca6f8d9054e3441c0f291916cbedd2d0cad15f.tar.bz2 |
t0064: drop sha1 mention from filename
The data type is an oid_array these days, and we are using "test-tool
oid-array", so let's name the test script appropriately.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0064-oid-array.sh')
-rwxr-xr-x | t/t0064-oid-array.sh | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/t/t0064-oid-array.sh b/t/t0064-oid-array.sh new file mode 100755 index 0000000..71034a8 --- /dev/null +++ b/t/t0064-oid-array.sh @@ -0,0 +1,99 @@ +#!/bin/sh + +test_description='basic tests for the oid array implementation' +. ./test-lib.sh + +echoid () { + prefix="${1:+$1 }" + shift + while test $# -gt 0 + do + echo "$prefix$ZERO_OID" | sed -e "s/00/$1/g" + shift + done +} + +test_expect_success 'ordered enumeration' ' + echoid "" 44 55 88 aa >expect && + { + echoid append 88 44 aa 55 && + echo for_each_unique + } | test-tool oid-array >actual && + test_cmp expect actual +' + +test_expect_success 'ordered enumeration with duplicate suppression' ' + echoid "" 44 55 88 aa >expect && + { + echoid append 88 44 aa 55 && + echoid append 88 44 aa 55 && + echo for_each_unique + } | test-tool oid-array >actual && + test_cmp expect actual +' + +test_expect_success 'lookup' ' + { + echoid append 88 44 aa 55 && + echoid lookup 55 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -eq 1 +' + +test_expect_success 'lookup non-existing entry' ' + { + echoid append 88 44 aa 55 && + echoid lookup 33 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -lt 0 +' + +test_expect_success 'lookup with duplicates' ' + { + echoid append 88 44 aa 55 && + echoid append 88 44 aa 55 && + echoid lookup 55 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -ge 2 && + test "$n" -le 3 +' + +test_expect_success 'lookup non-existing entry with duplicates' ' + { + echoid append 88 44 aa 55 && + echoid append 88 44 aa 55 && + echoid lookup 66 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -lt 0 +' + +test_expect_success 'lookup with almost duplicate values' ' + # n-1 5s + root=$(echoid "" 55) && + root=${root%5} && + { + id1="${root}5" && + id2="${root}f" && + echo "append $id1" && + echo "append $id2" && + echoid lookup 55 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -eq 0 +' + +test_expect_success 'lookup with single duplicate value' ' + { + echoid append 55 55 && + echoid lookup 55 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -ge 0 && + test "$n" -le 1 +' + +test_done |