github.com/saracen/git-lfs@v2.5.2+incompatible/t/t-batch-retries.sh (about) 1 #!/usr/bin/env bash 2 3 . "$(dirname "$0")/testlib.sh" 4 5 begin_test "batch storage upload causes retries" 6 ( 7 set -e 8 9 reponame="batch-storage-upload-retry" 10 setup_remote_repo "$reponame" 11 clone_repo "$reponame" batch-storage-repo-upload 12 13 contents="storage-upload-retry" 14 oid="$(calc_oid "$contents")" 15 printf "$contents" > a.dat 16 17 git lfs track "*.dat" 18 git add .gitattributes a.dat 19 git commit -m "initial commit" 20 21 git config --local lfs.transfer.maxretries 3 22 23 GIT_TRACE=1 git push origin master 2>&1 | tee push.log 24 if [ "0" -ne "${PIPESTATUS[0]}" ]; then 25 echo >&2 "fatal: expected \`git push origin master\` to succeed ..." 26 exit 1 27 fi 28 29 actual_count="$(grep -c "tq: retrying object $oid: Fatal error: Server error" push.log)" 30 [ "2" = "$actual_count" ] 31 32 assert_server_object "$reponame" "$oid" 33 ) 34 end_test 35 36 begin_test "batch storage download causes retries" 37 ( 38 set -e 39 40 reponame="batch-storage-download-retry" 41 setup_remote_repo "$reponame" 42 clone_repo "$reponame" batch-storage-repo-download 43 44 contents="storage-download-retry" 45 oid="$(calc_oid "$contents")" 46 printf "$contents" > a.dat 47 48 git lfs track "*.dat" 49 git add .gitattributes a.dat 50 git commit -m "initial commit" 51 52 git push origin master 53 assert_server_object "$reponame" "$oid" 54 55 pushd .. 56 git \ 57 -c "filter.lfs.process=" \ 58 -c "filter.lfs.smudge=cat" \ 59 -c "filter.lfs.required=false" \ 60 clone "$GITSERVER/$reponame" "$reponame-assert" 61 62 cd "$reponame-assert" 63 64 git config credential.helper lfstest 65 git config --local lfs.transfer.maxretries 3 66 67 GIT_TRACE=1 git lfs pull origin master 2>&1 | tee pull.log 68 if [ "0" -ne "${PIPESTATUS[0]}" ]; then 69 echo >&2 "fatal: expected \`git lfs pull origin master\` to succeed ..." 70 exit 1 71 fi 72 73 actual_count="$(grep -c "tq: retrying object $oid: Fatal error: Server error" pull.log)" 74 [ "2" = "$actual_count" ] 75 76 assert_local_object "$oid" "${#contents}" 77 popd 78 ) 79 end_test