git-lfs/t/t-batch-retries-ratelimit.sh
Chris Darroch 6d578a0e46 t: make all test scripts executable
Several of our test scripts in the t/ directory do not have file
permissions allowing them to be executed directly, so we correct
that now.
2024-06-18 12:00:48 -07:00

133 lines
3.0 KiB
Bash
Executable File

#!/usr/bin/env bash
. "$(dirname "$0")/testlib.sh"
begin_test "batch upload causes retries"
(
set -e
reponame="upload-batch-retry-later"
setup_remote_repo "$reponame"
clone_repo "$reponame" batch-repo-upload
contents="content"
oid="$(calc_oid "$contents")"
printf "%s" "$contents" > a.dat
git lfs track "*.dat"
git add .gitattributes a.dat
git commit -m "initial commit"
GIT_TRACE=1 git push origin main 2>&1 | tee push.log
if [ "0" -ne "${PIPESTATUS[0]}" ]; then
echo >&2 "fatal: expected \`git push origin main\` to succeed ..."
exit 1
fi
assert_server_object "$reponame" "$oid"
)
end_test
begin_test "batch upload with multiple files causes retries"
(
set -e
reponame="upload-multiple-batch-retry-later"
setup_remote_repo "$reponame"
clone_repo "$reponame" batch-repo-upload-multiple
contents1="content 1"
oid1="$(calc_oid "$contents1")"
printf "%s" "$contents1" > a.dat
contents2="content 2"
oid2="$(calc_oid "$contents2")"
printf "%s" "$contents2" > b.dat
git lfs track "*.dat"
git add .gitattributes a.dat b.dat
git commit -m "initial commit"
GIT_TRACE=1 git push origin main 2>&1 | tee push.log
if [ "0" -ne "${PIPESTATUS[0]}" ]; then
echo >&2 "fatal: expected \`git push origin main\` to succeed ..."
exit 1
fi
assert_server_object "$reponame" "$oid1"
assert_server_object "$reponame" "$oid2"
)
end_test
begin_test "batch clone causes retries"
(
set -e
reponame="clone-batch-retry-later"
setup_remote_repo "$reponame"
clone_repo "$reponame" batch-repo-clone
contents="content"
oid="$(calc_oid "$contents")"
printf "%s" "$contents" > a.dat
git lfs track "*.dat"
git add .gitattributes a.dat
git commit -m "initial commit"
git push origin main
assert_server_object "$reponame" "$oid"
pushd ..
git lfs clone "$GITSERVER/$reponame" "$reponame-assert"
if [ "0" -ne "$?" ]; then
echo >&2 "fatal: expected \`git lfs clone \"$GITSERVER/$reponame\" \"$reponame-assert\"\` to su``"
exit 1
fi
cd "$reponame-assert"
assert_local_object "$oid" "${#contents}"
popd
)
end_test
begin_test "batch clone with multiple files causes retries"
(
set -e
reponame="clone-multiple-batch-retry-later"
setup_remote_repo "$reponame"
clone_repo "$reponame" batch-repo-clone-multiple
contents1="content 1"
oid1="$(calc_oid "$contents1")"
printf "%s" "$contents1" > a.dat
contents2="content 2"
oid2="$(calc_oid "$contents2")"
printf "%s" "$contents2" > b.dat
git lfs track "*.dat"
git add .gitattributes a.dat b.dat
git commit -m "initial commit"
git push origin main
assert_server_object "$reponame" "$oid1"
assert_server_object "$reponame" "$oid2"
pushd ..
git lfs clone "$GITSERVER/$reponame" "$reponame-assert"
if [ "0" -ne "$?" ]; then
echo >&2 "fatal: expected \`git lfs clone \"$GITSERVER/$reponame\" \"$reponame-assert\"\` to su``"
exit 1
fi
cd "$reponame-assert"
assert_local_object "$oid1" "${#contents1}"
assert_local_object "$oid2" "${#contents2}"
popd
)
end_test