diff --git a/Makefile b/Makefile index 36974cb..00be0e2 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,9 @@ endif build: clean sh script/build.sh $(VERSION) +coverage: + sh go.test.sh atomic + test: redis_test boltdb_test memory_test config_test go test -v -cover -covermode=count -coverprofile=coverage.txt ./gorush/... @@ -41,7 +44,7 @@ config_test: init go test -v -cover -covermode=count -coverprofile=coverage.txt ./config/... html: - go tool cover -html=coverage.txt && unlink coverage.txt + go tool cover -html=coverage.txt docker_build: clean tar -zcvf build.tar.gz gorush.go gorush config storage Makefile glide.lock glide.yaml diff --git a/go.test.sh b/go.test.sh new file mode 100755 index 0000000..96295a8 --- /dev/null +++ b/go.test.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +set -e + +output() { + printf "\033[32m" + echo $1 + printf "\033[0m" + exit 0 +} + +coverage_mode=$1 + +test -z $coverage_mode && output "Usage: $0 coverage_mode" + +test -f coverage.txt && rm -rf coverage.txt +echo "mode: ${coverage_mode}" > coverage.txt + +for d in ./storage/boltdb/... ./storage/redis/... ./storage/memory/... ./config/... ./gorush/...; do + go test -v -cover -coverprofile=profile.out -covermode=${coverage_mode} $d + if [ -f profile.out ]; then + sed '1d' profile.out >> coverage.txt + rm profile.out + fi +done