Browse Source

Worked on golang code coverage via coveralls

Torkel Ödegaard 10 years ago
parent
commit
697529d0e8
2 changed files with 37 additions and 0 deletions
  1. 1 0
      .gitignore
  2. 36 0
      test.sh

+ 1 - 0
.gitignore

@@ -26,4 +26,5 @@ public/css/*.min.css
 
 conf/custom.ini
 fig.yml
+profile.cov
 

+ 36 - 0
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