Merge pull request #109 from vdemeester/codecov-in-circle
Add test-coverage & codecov target and update circleci
Upstream-commit: e47cc91ac9
Component: cli
This commit is contained in:
2
components/cli/.gitignore
vendored
2
components/cli/.gitignore
vendored
@ -2,3 +2,5 @@
|
||||
/build/
|
||||
cli/winresources/rsrc_386.syso
|
||||
cli/winresources/rsrc_amd64.syso
|
||||
coverage.txt
|
||||
profile.out
|
||||
|
||||
@ -12,7 +12,11 @@ clean:
|
||||
# the "-tags daemon" part is temporary
|
||||
.PHONY: test
|
||||
test:
|
||||
go test -tags daemon -v $(shell go list ./... | grep -v /vendor/)
|
||||
./scripts/test/unit $(shell go list ./... | grep -v /vendor/)
|
||||
|
||||
.PHONY: test-coverage
|
||||
test-coverage:
|
||||
./scripts/test/unit-with-coverage
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
|
||||
@ -29,13 +29,16 @@ jobs:
|
||||
docker run --name cross cli-builder make cross
|
||||
docker cp cross:/go/src/github.com/docker/cli/build /work/build
|
||||
- run:
|
||||
name: "Unit Test"
|
||||
name: "Unit Test with Coverage"
|
||||
command: |
|
||||
if [ "$CIRCLE_NODE_INDEX" != "2" ]; then exit; fi
|
||||
dockerfile=dockerfiles/Dockerfile.dev
|
||||
echo "COPY . ." >> $dockerfile
|
||||
docker build -f $dockerfile --tag cli-builder .
|
||||
docker run cli-builder make test
|
||||
docker run --name test cli-builder make test-coverage
|
||||
docker cp test:/go/src/github.com/docker/cli/coverage.txt coverage.txt
|
||||
apk add -U bash curl
|
||||
curl -s https://codecov.io/bash | bash
|
||||
- run:
|
||||
name: "Validate Vendor and Code Generation"
|
||||
command: |
|
||||
|
||||
4
components/cli/scripts/test/unit
Executable file
4
components/cli/scripts/test/unit
Executable file
@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
set -eu -o pipefail
|
||||
|
||||
go test -tags daemon -v $@
|
||||
15
components/cli/scripts/test/unit-with-coverage
Executable file
15
components/cli/scripts/test/unit-with-coverage
Executable file
@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
set -eu -o pipefail
|
||||
|
||||
for pkg in $(go list ./... | grep -v /vendor/); do
|
||||
./scripts/test/unit \
|
||||
-cover \
|
||||
-coverprofile=profile.out \
|
||||
-covermode=atomic \
|
||||
${pkg}
|
||||
|
||||
if test -f profile.out; then
|
||||
cat profile.out >> coverage.txt
|
||||
rm profile.out
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user