diff options
Diffstat (limited to 'test/test-performance.sh')
-rwxr-xr-x | test/test-performance.sh | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/test/test-performance.sh b/test/test-performance.sh deleted file mode 100755 index cb19666..0000000 --- a/test/test-performance.sh +++ /dev/null @@ -1,231 +0,0 @@ -scriptDir="$(cd "$(dirname "$0")"; pwd)" - -source "$scriptDir/sonar-base.sh" - -cd_to_tmp() { - tmpfile="/tmp/git-prompt-tests-$(time_now)$1" - mkdir -p "$tmpfile" - cd "$tmpfile" -} - -rm_tmp() { - cd $scriptDir - rm -rf /tmp/git-prompt-tests* -} - -report() { - arr=( "$@" ) - printf '%s\n' "${arr[@]}" | sort -n | awk ' - function colored(s) { - OFMT="%2.3fs"; - OFS=""; - ORS=""; - if( s > 0.2 ) { - print "\033[1;31m", s, "\033[0m" - } else if( s > 0.1 ) { - print "\033[1;33m", s, "\033[0m" - } else { - print "\033[1;32m", s, "\033[0m" - } - OFS="\t"; - ORS="\n"; - } - BEGIN { - c = 0; - sum = 0; - } - $1 ~ /^[0-9]*(\.[0-9]*)?$/ { - a[c++] = $1; - sum += $1; - } - END { - min = a[0] + 0; - max = a[c-1] + 0; - ave = sum / c; - if( (c % 2) == 1 ) { - median = a[ int(c/2) ]; - } else { - median = ( a[c/2] + a[c/2-1] ) / 2; - } - OFS="\t"; - OFMT="%2.3fs"; - print c, colored(ave), colored(median), colored(min), colored(max); - } -' -} - -table_headers() { - printf " Count\tMean\tMedian\tMin\tMax\n" -} - -profile () { - cmd="$2" - for (( i = 0; i < 100; i++ )); do - start=$(gdate +%s.%N) - eval $cmd > /dev/null - duration=$(echo "$(gdate +%s.%N) - $start" | bc) - timings[$i]=$duration - done - printf '%-25s' "$1" - report "${timings[@]}" -} - -test_empty_repo() { - cd_to_tmp - git init --quiet - - table_headers - profile "prompt.zsh" "/.$scriptDir/prompt.zsh" - profile "prompt.bash" "/.$scriptDir/prompt.bash" - - rm_tmp -} - -test_lots_of_file_changes() { - cd_to_tmp - git init --quiet - - table_headers - - profile "no changes zsh" "/.$scriptDir/prompt.zsh" - profile "no changes bash" "/.$scriptDir/prompt.bash" - - for (( i = 0; i < 100; i++ )); do - touch foo$i - done - - profile "100 untracked zsh" "/.$scriptDir/prompt.zsh" - profile "100 untracked bash" "/.$scriptDir/prompt.bash" - - for (( i = 0; i < 100; i++ )); do - touch bar$i - git add bar$i - done - - profile "100 added zsh" "/.$scriptDir/prompt.zsh" - profile "100 added bash" "/.$scriptDir/prompt.bash" - - for (( i = 0; i < 100; i++ )); do - echo "bar$i" > bar$i - done - - profile "100 modify zsh" "/.$scriptDir/prompt.zsh" - profile "100 modify bash" "/.$scriptDir/prompt.bash" - - rm_tmp -} - -test_commits_local_and_remote_ahead() { - cd_to_tmp "remote" - git init --quiet - touch README - git add . - git commit -m "initial commit" --quiet - remoteLocation="$(pwd)" - - cd_to_tmp "new" - git init --quiet - git remote add origin $remoteLocation - git fetch origin --quiet - git checkout master --quiet - - git checkout -b foo --quiet - git push --quiet -u origin foo >/dev/null - - table_headers - - profile "0 commits zsh" "/.$scriptDir/prompt.zsh" - profile "0 commits bash" "/.$scriptDir/prompt.bash" - - for (( i = 0; i < 100; i++ )); do - echo "foo$i" >> foo - git add . - git commit -m "foo $i" --quiet - done - - profile "100 local zsh" "/.$scriptDir/prompt.zsh" - profile "100 local bash" "/.$scriptDir/prompt.bash" - - git push --quiet - - profile "100 remote zsh" "/.$scriptDir/prompt.zsh" - profile "100 remote bash" "/.$scriptDir/prompt.bash" - - rm_tmp -} - -test_commits_local_and_remote_behind() { - cd_to_tmp "remote" - git init --bare --quiet - remoteLocation="$(pwd)" - - cd_to_tmp "new" - git init --quiet - git remote add origin $remoteLocation - git fetch origin --quiet - git checkout -b master --quiet - touch README - git add README - git commit -m "initial commit" --quiet - - git push --quiet -u origin master >/dev/null - git reset --quiet --hard HEAD - - git checkout -b foo --quiet - git push --quiet -u origin foo >/dev/null - - git checkout master --quiet - - table_headers - - profile "0 commits zsh" "/.$scriptDir/prompt.zsh" - profile "0 commits bash" "/.$scriptDir/prompt.bash" - - for (( i = 0; i < 100; i++ )); do - echo "foo$i" >> foo - git add . - git commit -m "foo $i" --quiet - done - - git push --quiet - git checkout foo --quiet - - profile "100 behind remote zsh" "/.$scriptDir/prompt.zsh" - profile "100 behind remote bash" "/.$scriptDir/prompt.bash" - - git checkout master --quiet - git checkout -b bar --quiet - git push --quiet -u origin bar >/dev/null - git reset --hard origin/foo --quiet - - profile "100 behind mine zsh" "/.$scriptDir/prompt.zsh" - profile "100 behind mine bash" "/.$scriptDir/prompt.bash" - -} - -test_large_repo() { - cd_to_tmp - git clone https://github.com/Homebrew/homebrew --quiet - cd homebrew - - table_headers - profile "prompt.zsh" "/.$scriptDir/prompt.zsh" - profile "prompt.bash" "/.$scriptDir/prompt.bash" - - rm_tmp -} - -test_lots_of_submodules() { - cd_to_tmp - git clone https://github.com/michaeldfallen/dotfiles --quiet - cd dotfiles - git submodule update --init --quiet - - table_headers - profile "prompt.zsh" "/.$scriptDir/prompt.zsh" - profile "prompt.bash" "/.$scriptDir/prompt.bash" - - rm_tmp -} - -. ./shunit/shunit2 |