From 697529d0e832fcfaa058698e87374f41dbec381c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Sat, 2 May 2015 17:24:03 +0200 Subject: [PATCH] Worked on golang code coverage via coveralls --- .gitignore | 1 + test.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100755 test.sh diff --git a/.gitignore b/.gitignore index c3eb5d8862cfc..99ed4c4adfd7e 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,5 @@ public/css/*.min.css conf/custom.ini fig.yml +profile.cov diff --git a/test.sh b/test.sh new file mode 100755 index 0000000000000..881497029f97d --- /dev/null +++ b/test.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# The script does automatic checking on a Go package and its sub-packages, including: +# 1. gofmt (http://golang.org/cmd/gofmt/) +# 2. goimports (https://github.com/bradfitz/goimports) +# 3. golint (https://github.com/golang/lint) +# 4. go vet (http://golang.org/cmd/vet) +# 5. race detector (http://blog.golang.org/race-detector) +# 6. test coverage (http://blog.golang.org/cover) + +set -e + +# Automatic checks +# test -z "$(gofmt -s -l . | grep -v Godeps/_workspace/src/ | tee /dev/stderr)" +# go vet ./pkg/... +# godep go test -v -race ./pkg/... + +echo "mode: count" > profile.cov + +# Standard go tooling behavior is to ignore dirs with leading underscors +for dir in $(find ./pkg/ -maxdepth 4 -type d); +do +if ls $dir/*.go &> /dev/null; then + godep go test -covermode=count -coverprofile=$dir/profile.tmp $dir + if [ -f $dir/profile.tmp ] + then + cat $dir/profile.tmp | tail -n +2 >> profile.cov + rm $dir/profile.tmp + fi +fi +done + +go tool cover -func profile.cov + +# To submit the test coverage result to coveralls.io, +# use goveralls (https://github.com/mattn/goveralls) +# goveralls -coverprofile=profile.cov -service=travis-ci