diff --git a/.travis.yml b/.travis.yml index f7d6999f4..ca2df809f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,9 +20,7 @@ branches: env: global: - GO111MODULE=on - - TEST_COVERAGE=stdout - GO_METALINTER_THREADS=1 - - GO_COVER_DIR=_output - KUBECONFIG=$HOME/.kube/config # set CEPH_CSI_RUN_ALL_TESTS to non-empty to run all tests - CEPH_CSI_RUN_ALL_TESTS=true @@ -83,7 +81,7 @@ jobs: - make go-lint - make lint-extras - make gosec - - make go-test + - make go-test TEST_COVERAGE=stdout GO_COVER_DIR=_output/ - make mod-check - stage: build testing diff --git a/Makefile b/Makefile index c18013a1a..d6781b58e 100644 --- a/Makefile +++ b/Makefile @@ -74,8 +74,10 @@ all: cephcsi test: go-test static-check mod-check static-check: check-env go-lint lint-extras gosec +go-test: TEST_COVERAGE ?= $(shell . $(CURDIR)/build.env ; echo $${TEST_COVERAGE}) +go-test: GO_COVER_DIR ?= $(shell . $(CURDIR)/build.env ; echo $${GO_COVER_DIR}) go-test: check-env - ./scripts/test-go.sh + TEST_COVERAGE=$(TEST_COVERAGE) GO_COVER_DIR=$(GO_COVER_DIR) ./scripts/test-go.sh mod-check: check-env @echo 'running: go mod verify' diff --git a/build.env b/build.env index ecce0c471..4a49c7688 100644 --- a/build.env +++ b/build.env @@ -20,6 +20,11 @@ GO111MODULE=on GOLANGCI_VERSION=v1.21.0 GOSEC_VERSION=2.0.0 +# "go test" configuration +# set to stdout or html to enable coverage reporting, disabled by default +#TEST_COVERAGE=html +#GO_COVER_DIR=_output/ + # helm chart generation, testing and publishing HELM_VERSION=v3.1.2 diff --git a/scripts/test-go.sh b/scripts/test-go.sh index 9a567c68d..0cf419fb7 100755 --- a/scripts/test-go.sh +++ b/scripts/test-go.sh @@ -30,7 +30,7 @@ for gopackage in ${GOPACKAGES}; do fi if [[ ${TEST_COVERAGE} = "html" && -f cover.out ]]; then mkdir -p coverage - fn="coverage/${gopackage////-}.html" + fn="${GO_COVER_DIR}/${gopackage////-}.html" echo " * generating coverage html: ${fn}" go tool cover -html=cover.out -o "${fn}" fi