diff --git a/.travis.yml b/.travis.yml index cd5d235..3f7121e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,7 @@ install: - go get github.com/mattn/goveralls script: - - make test + - make coverage - $(go env GOPATH | awk 'BEGIN{FS=":"} {print $1}')/bin/goveralls -coverprofile=coverage.txt -service=travis-ci -repotoken=$COVERALLS_TOKEN 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 diff --git a/storage/memory/memory_test.go b/storage/memory/memory_test.go index 491dfd7..7957177 100644 --- a/storage/memory/memory_test.go +++ b/storage/memory/memory_test.go @@ -10,6 +10,8 @@ func TestMemoryEngine(t *testing.T) { memory := New() + assert.Nil(t, memory.Init()) + memory.AddTotalCount(1) val = memory.GetTotalCount() assert.Equal(t, int64(1), val)