diff options
Diffstat (limited to 'third_party/git/t/perf/p1400-update-ref.sh')
-rwxr-xr-x | third_party/git/t/perf/p1400-update-ref.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/third_party/git/t/perf/p1400-update-ref.sh b/third_party/git/t/perf/p1400-update-ref.sh new file mode 100755 index 000000000000..ce5ac3ed85e1 --- /dev/null +++ b/third_party/git/t/perf/p1400-update-ref.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +test_description="Tests performance of update-ref" + +. ./perf-lib.sh + +test_perf_fresh_repo + +test_expect_success "setup" ' + git init --bare target-repo.git && + test_commit PRE && + test_commit POST && + printf "create refs/heads/%d PRE\n" $(test_seq 1000) >create && + printf "update refs/heads/%d POST PRE\n" $(test_seq 1000) >update && + printf "delete refs/heads/%d POST\n" $(test_seq 1000) >delete && + git update-ref --stdin <create +' + +test_perf "update-ref" ' + for i in $(test_seq 1000) + do + git update-ref refs/heads/branch PRE && + git update-ref refs/heads/branch POST PRE && + git update-ref -d refs/heads/branch + done +' + +test_perf "update-ref --stdin" ' + git update-ref --stdin <update && + git update-ref --stdin <delete && + git update-ref --stdin <create +' + +test_perf "nonatomic push" ' + git push ./target-repo.git $(test_seq 1000) && + git push --delete ./target-repo.git $(test_seq 1000) +' + +test_done |