t1410: make hash size independent

Instead of parsing object IDs using fixed-length shell patterns, use cut
to extract the first two characters of an object ID in addition to the
test helper for object paths.  Update another test to look up an
appropriate object ID fragment from the all-zeros object ID instead of
hardcoding the value.

Although the test for parsing reflogs at BUFSIZ boundaries passes, mark
it with the SHA1 prerequisite, as it doesn't currently usefully test
anything when using a hash longer than 20 bytes.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
brian m. carlson 2019-06-28 22:59:20 +00:00 коммит произвёл Junio C Hamano
Родитель 56d8892459
Коммит ff4cb42e77
1 изменённых файлов: 8 добавлений и 8 удалений

Просмотреть файл

@ -30,14 +30,13 @@ check_fsck () {
}
corrupt () {
aa=${1%??????????????????????????????????????} zz=${1#??}
mv .git/objects/$aa/$zz .git/$aa$zz
mv .git/objects/$(test_oid_to_path $1) .git/$1
}
recover () {
aa=${1%??????????????????????????????????????} zz=${1#??}
aa=$(echo $1 | cut -c 1-2)
mkdir -p .git/objects/$aa
mv .git/$aa$zz .git/objects/$aa/$zz
mv .git/$1 .git/objects/$(test_oid_to_path $1)
}
check_dont_have () {
@ -55,6 +54,7 @@ check_dont_have () {
}
test_expect_success setup '
test_oid_init &&
mkdir -p A/B &&
echo rat >C &&
echo ox >A/D &&
@ -313,12 +313,12 @@ test_expect_success 'stale dirs do not cause d/f conflicts (reflogs off)' '
# Each line is 114 characters, so we need 75 to still have a few before the
# last 8K. The 89-character padding on the final entry lines up our
# newline exactly.
test_expect_success 'parsing reverse reflogs at BUFSIZ boundaries' '
test_expect_success SHA1 'parsing reverse reflogs at BUFSIZ boundaries' '
git checkout -b reflogskip &&
z38=00000000000000000000000000000000000000 &&
zf=$(test_oid zero_2) &&
ident="abc <xyz> 0000000001 +0000" &&
for i in $(test_seq 1 75); do
printf "$z38%02d $z38%02d %s\t" $i $(($i+1)) "$ident" &&
printf "$zf%02d $zf%02d %s\t" $i $(($i+1)) "$ident" &&
if test $i = 75; then
for j in $(test_seq 1 89); do
printf X
@ -329,7 +329,7 @@ test_expect_success 'parsing reverse reflogs at BUFSIZ boundaries' '
printf "\n"
done >.git/logs/refs/heads/reflogskip &&
git rev-parse reflogskip@{73} >actual &&
echo ${z38}03 >expect &&
echo ${zf}03 >expect &&
test_cmp expect actual
'