diff --git a/.travis.yml b/.travis.yml index 2f33c4f6a..69a3ee5b8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,11 @@ go: install: - export PATH=$PATH:$HOME/gopath/bin - ./build.sh setup + - go get code.google.com/p/go.tools/cmd/cover + - go get github.com/mattn/goveralls script: - - ./build.sh test + - ./build.sh test-cov + +after_success: + - goveralls -coverprofile=acc.out -service=travis-ci diff --git a/build.sh b/build.sh index 89848245d..8a2befc86 100755 --- a/build.sh +++ b/build.sh @@ -31,6 +31,25 @@ assets() { godep go run cmd/assets/assets.go gui > auto/gui.files.go } +test-cov() { + echo "mode: set" > acc.out + fail=0 + + for dir in $(find . -maxdepth 10 -not -path './.git*' -not -path '*/integration' -not -path '*/_*' -type d); + do + if ls $dir/*.go &> /dev/null; then + godep go test -coverprofile=profile.out $dir || fail=1 + if [ -f profile.out ] + then + cat profile.out | grep -v "mode: set" >> acc.out + rm profile.out + fi + fi + done + + exit $fail +} + test() { check godep go test -cpu=1,2,4 ./... @@ -100,6 +119,10 @@ case "$1" in test ;; + test-cov) + test-cov + ;; + tar) rm -f *.tar.gz *.zip test || exit 1