Merge pull request #626 from aluzzardi/coverage

Coverage improvements
This commit is contained in:
Victor Vieux 2015-04-15 17:58:38 -07:00
commit 694167bae9
2 changed files with 13 additions and 7 deletions

View File

@ -24,3 +24,4 @@ script:
- fgt golint ./...
- go test -v -race ./...
- script/coverage
- goveralls -service=travis-ci -coverprofile=goverage.report

View File

@ -1,16 +1,21 @@
#!/bin/bash
MODE="mode: count"
ROOT=${TRAVIS_BUILD_DIR}/../../..
ROOT=${TRAVIS_BUILD_DIR:-.}/../../..
# Grab the list of packages.
# Exclude the API from coverage as it will be covered by integration tests.
PACKAGES=`go list ./... | grep -v github.com/docker/swarm/api`
# Create the empty coverage file.
echo $MODE > goverage.report
# Run coverage on every package.
go list ./... | xargs -L 1 -I{} go test -test.short -covermode=count -coverprofile=$ROOT/{}/coverage.out {}
for package in $PACKAGES; do
output="$ROOT/$package/coverage.out"
# Aggregate.
go list ./... | xargs -L 1 -I{} cat "$ROOT/{}/coverage.out" | grep -v "$MODE" >> goverage.report
# Push
goveralls -service=travis-ci -coverprofile=goverage.report
go test -test.short -covermode=count -coverprofile=$output $package
if [ -f "$output" ] ; then
cat "$output" | grep -v "$MODE" >> goverage.report
fi
done