From a3167cc0ecf4e9f536befec8d34bb98bce219e5a Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Tue, 6 Nov 2018 15:33:23 +0100 Subject: [PATCH] Added test-coverage to Makefile and upload to codecov, see #58 --- .dockerignore | 3 ++- .gitignore | 1 + .travis.yml | 6 +++++- Makefile | 6 +++++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.dockerignore b/.dockerignore index 86de36859..039f68539 100644 --- a/.dockerignore +++ b/.dockerignore @@ -6,4 +6,5 @@ assets/public/build/* Dockerfile /photoprism docker-compose* -.travis.yml \ No newline at end of file +.travis.yml +/coverage.* \ No newline at end of file diff --git a/.gitignore b/.gitignore index 4459cbbbc..feaab74b9 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ frontend/node_modules/* # Output of the go coverage tool, specifically when used with LiteIDE *.out +/coverage.* # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 .glide/ diff --git a/.travis.yml b/.travis.yml index ac52466ab..cc4a83796 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,11 +7,15 @@ before_script: - docker-compose -f docker-compose.travis.yml up -d --build script: - - docker-compose -f docker-compose.travis.yml exec photoprism make migrate test + - docker-compose -f docker-compose.travis.yml exec photoprism make migrate test-coverage after_script: + - docker cp $(docker-compose ps -q photoprism):/go/src/github.com/photoprism/photoprism/coverage.txt coverage.txt - docker-compose -f docker-compose.travis.yml down +after_success: + - bash <(curl -s https://codecov.io/bash) + deploy: provider: script script: make docker-push diff --git a/Makefile b/Makefile index c71fe5935..e72940e18 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,7 @@ GOMOD=$(GOCMD) mod GORUN=$(GOCMD) run GOCLEAN=$(GOCMD) clean GOTEST=$(GOCMD) test +GOTOOL=$(GOCMD) tool GOGET=$(GOCMD) get GOFMT=$(GOCMD) fmt GOIMPORTS=goimports @@ -36,7 +37,10 @@ start: migrate: $(GORUN) cmd/photoprism/photoprism.go migrate test: - $(GOTEST) -v ./internal/... + $(GOTEST) -timeout 30m -v ./internal/... +test-coverage: + $(GOTEST) -timeout 30m -race -coverprofile=coverage.txt -covermode=atomic -v ./internal/... + $(GOTOOL) cover -html=coverage.txt -o coverage.html clean: $(GOCLEAN) rm -f $(BINARY_NAME)