Skip to content

Commit

Permalink
Do honest test coverage analysis in Jenkins
Browse files Browse the repository at this point in the history
  • Loading branch information
calmh committed Aug 19, 2014
1 parent 264400a commit c57656e
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 2 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ coverage.out
files/pidx
bin
perfstats*.csv
coverage.xml
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ syncthing
=========

[![Latest Build](http://img.shields.io/jenkins/s/http/build.syncthing.net/syncthing.svg?style=flat-square)](http://build.syncthing.net/job/syncthing/lastSuccessfulBuild/artifact/)
[![Coverage Status](https://img.shields.io/coveralls/syncthing/syncthing.svg?style=flat-square)](https://coveralls.io/r/syncthing/syncthing?branch=master)
[![API Documentation](http://img.shields.io/badge/api-Godoc-blue.svg?style=flat-square)](http://godoc.org/github.com/syncthing/syncthing)
[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](http://opensource.org/licenses/MIT)

Expand Down
7 changes: 7 additions & 0 deletions auto/auto_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Copyright (C) 2014 Jakob Borg and Contributors (see the CONTRIBUTORS file).
// All rights reserved. Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file.

package auto_test

// Empty test file to generate 0% coverage rather than no coverage
1 change: 0 additions & 1 deletion build.go
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,6 @@ func setup() {
runPrint("go", "get", "-v", "code.google.com/p/go.tools/cmd/cover")
runPrint("go", "get", "-v", "code.google.com/p/go.tools/cmd/vet")
runPrint("go", "get", "-v", "code.google.com/p/go.net/html")
runPrint("go", "get", "-v", "github.com/mattn/goveralls")
runPrint("go", "get", "-v", "github.com/tools/godep")
}

Expand Down
15 changes: 15 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,31 @@ case "${1:-default}" in
;;

test-cov)
go get github.com/axw/gocov/gocov
go get github.com/AlekSi/gocov-xml

echo "mode: set" > coverage.out
fail=0

# For every package in the repo
for dir in $(go list ./...) ; do
# run the tests
godep go test -coverprofile=profile.out $dir
if [ -f profile.out ] ; then
# and if there was test output, append it to coverage.out
grep -v "mode: set" profile.out >> coverage.out
rm profile.out
fi
done

gocov convert coverage.out | gocov-xml > coverage.xml

# This is usually run from within Jenkins. If it is, we need to
# tweak the paths in coverage.xml so cobertura finds the
# source.
if [[ "${WORKSPACE:-default}" != "default" ]] ; then
sed "s#$WORKSPACE##g" < coverage.xml > coverage.xml.new && mv coverage.xml.new coverage.xml
fi
;;

*)
Expand Down
7 changes: 7 additions & 0 deletions cmd/syncthing/main_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Copyright (C) 2014 Jakob Borg and Contributors (see the CONTRIBUTORS file).
// All rights reserved. Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file.

package main_test

// Empty test file to generate 0% coverage rather than no coverage
7 changes: 7 additions & 0 deletions discover/discover_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Copyright (C) 2014 Jakob Borg and Contributors (see the CONTRIBUTORS file).
// All rights reserved. Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file.

package discover_test

// Empty test file to generate 0% coverage rather than no coverage
7 changes: 7 additions & 0 deletions osutil/osutil_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Copyright (C) 2014 Jakob Borg and Contributors (see the CONTRIBUTORS file).
// All rights reserved. Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file.

package osutil_test

// Empty test file to generate 0% coverage rather than no coverage
7 changes: 7 additions & 0 deletions versioner/versioner_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Copyright (C) 2014 Jakob Borg and Contributors (see the CONTRIBUTORS file).
// All rights reserved. Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file.

package versioner_test

// Empty test file to generate 0% coverage rather than no coverage

0 comments on commit c57656e

Please sign in to comment.