mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Report Code Coverage and Add Status Badges
- Update Makefile to generate coverage details when running the tests - Update CircleCI to use the Makefile - Add Build and Coverage Badges to README Closes #20 Signed-off-by: Dave Tucker <dt@docker.com>
This commit is contained in:
parent
dc7e065b01
commit
2c797384ff
4 changed files with 39 additions and 23 deletions
4
libnetwork/.gitignore
vendored
4
libnetwork/.gitignore
vendored
|
@ -22,3 +22,7 @@ _testmain.go
|
||||||
*.exe
|
*.exe
|
||||||
*.test
|
*.test
|
||||||
*.prof
|
*.prof
|
||||||
|
|
||||||
|
# Coverage
|
||||||
|
*.tmp
|
||||||
|
*.coverprofile
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
.PHONY: all all-local build build-local check check-code check-format run-tests check-local install-deps
|
.PHONY: all all-local build build-local check check-code check-format run-tests check-local install-deps coveralls circle-ci
|
||||||
|
|
||||||
docker = docker run --rm --privileged -v $(shell pwd):/go/src/github.com/docker/libnetwork -w /go/src/github.com/docker/libnetwork golang:1.4
|
dockerargs = --privileged -v $(shell pwd):/go/src/github.com/docker/libnetwork -w /go/src/github.com/docker/libnetwork golang:1.4
|
||||||
|
docker = docker run --rm ${dockerargs}
|
||||||
|
ciargs = -e "COVERALLS_TOKEN=$$COVERALLS_TOKEN"
|
||||||
|
cidocker = docker run ${ciargs} ${dockerargs}
|
||||||
|
|
||||||
all:
|
all:
|
||||||
${docker} make all-local
|
${docker} make all-local
|
||||||
|
@ -21,10 +24,19 @@ check-code:
|
||||||
go vet ./...
|
go vet ./...
|
||||||
|
|
||||||
check-format:
|
check-format:
|
||||||
test -z "$$(shell goimports -l . | grep -v Godeps/_workspace/src/ | tee /dev/stderr)"
|
test -z "$$(goimports -l . | grep -v Godeps/_workspace/src/ | tee /dev/stderr)"
|
||||||
|
|
||||||
run-tests:
|
run-tests:
|
||||||
$(shell which godep) go test -test.v ./...
|
echo "mode: count" > coverage.coverprofile
|
||||||
|
for dir in $$(find . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -type d); do \
|
||||||
|
if ls $$dir/*.go &> /dev/null; then \
|
||||||
|
$(shell which godep) go test -test.v -covermode=count -coverprofile=$$dir/profile.tmp $$dir ; \
|
||||||
|
if [ -f $$dir/profile.tmp ]; then \
|
||||||
|
cat $$dir/profile.tmp | tail -n +2 >> coverage.coverprofile ; \
|
||||||
|
rm $$dir/profile.tmp ; \
|
||||||
|
fi ; \
|
||||||
|
fi ; \
|
||||||
|
done
|
||||||
|
|
||||||
check-local: check-format check-code run-tests
|
check-local: check-format check-code run-tests
|
||||||
|
|
||||||
|
@ -34,3 +46,15 @@ install-deps:
|
||||||
go get github.com/golang/lint/golint
|
go get github.com/golang/lint/golint
|
||||||
go get golang.org/x/tools/cmd/vet
|
go get golang.org/x/tools/cmd/vet
|
||||||
go get golang.org/x/tools/cmd/goimports
|
go get golang.org/x/tools/cmd/goimports
|
||||||
|
go get golang.org/x/tools/cmd/cover
|
||||||
|
go get github.com/mattn/goveralls
|
||||||
|
|
||||||
|
coveralls:
|
||||||
|
@goveralls -service circleci -coverprofile=coverage.coverprofile -repotoken $$COVERALLS_TOKEN
|
||||||
|
|
||||||
|
# CircleCI's Docker fails when cleaning up using the --rm flag
|
||||||
|
# The following target is a workaround for this
|
||||||
|
|
||||||
|
circle-ci:
|
||||||
|
@${cidocker} make install-deps check-local coveralls
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
# libnetwork - networking for containers
|
# libnetwork - networking for containers
|
||||||
|
|
||||||
|
[![Circle CI](https://circleci.com/gh/docker/libnetwork/tree/master.svg?style=svg)](https://circleci.com/gh/docker/libnetwork/tree/master) [![Coverage Status](https://coveralls.io/repos/docker/libnetwork/badge.svg)](https://coveralls.io/r/docker/libnetwork)
|
||||||
|
|
||||||
Libnetwork provides a native Go implementation for connecting containers
|
Libnetwork provides a native Go implementation for connecting containers
|
||||||
|
|
||||||
The goal of libnetwork is to deliver a robust Container Network Model that provides a consistent programming interface and the required network abstractions for applications.
|
The goal of libnetwork is to deliver a robust Container Network Model that provides a consistent programming interface and the required network abstractions for applications.
|
||||||
|
|
|
@ -1,27 +1,12 @@
|
||||||
machine:
|
machine:
|
||||||
environment:
|
services:
|
||||||
BASE_DIR: src/github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME
|
- docker
|
||||||
CHECKOUT: /home/ubuntu/$CIRCLE_PROJECT_REPONAME
|
|
||||||
pre:
|
|
||||||
# sudo -E doesn't preserve $PATH, so go isn't found anymore.
|
|
||||||
- sudo ln -s $(which go) /usr/local/bin
|
|
||||||
|
|
||||||
checkout:
|
|
||||||
post:
|
|
||||||
# We need docker/libnetwork itself in the GOPATH for imports to work.
|
|
||||||
- ln -s $CHECKOUT $(echo $GOPATH | cut -d":" -f1)/$BASE_DIR
|
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
override:
|
override:
|
||||||
- go get github.com/tools/godep
|
- echo "Nothing to install"
|
||||||
post:
|
|
||||||
- go get github.com/golang/lint/golint
|
|
||||||
- go get golang.org/x/tools/cmd/goimports
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
override:
|
override:
|
||||||
- test -z "$(goimports -l . | grep -v Godeps/_workspace/src/ | tee /dev/stderr)"
|
- make circle-ci
|
||||||
- go vet ./...
|
|
||||||
- test -z "$(golint ./... | tee /dev/stderr)"
|
|
||||||
- sudo -E $(which godep) go test -test.v ./...
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue