summaryrefslogtreecommitdiffstats
path: root/test/test-performance.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/test-performance.sh')
-rwxr-xr-xtest/test-performance.sh231
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