Skip to content

Commit

Permalink
test: split up into individual targets, run all
Browse files Browse the repository at this point in the history
"make test" used to abort after the first test failure. That was
partly intentional: if the simple tests already fail (for example,
because of a syntax error), then there is no point in continuing to
test.

However, it also makes it harder to find all errors in a CI system
when the errors are unrelated (first error shows up, gets fixed, next
error shows up, etc.).

Now "make test" still aborts early, but "make -k test" is used in the
CI and will run all individual tests because they are split up into
different targets.
  • Loading branch information
pohly committed Jan 23, 2019
1 parent 73db459 commit 9132a01
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
15 changes: 15 additions & 0 deletions build.make
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,23 @@ clean:
-rm -rf bin

test:

.PHONY: test-go
test: test-go
test-go:
@ echo; echo $@
go test `go list ./... | grep -v 'vendor'` $(TESTARGS)

.PHONY: test-vet
test: test-vet
test-vet:
@ echo; echo $@
go vet `go list ./... | grep -v vendor`

.PHONY: test-fmt
test: test-fmt
test-fmt:
@ echo; echo $@
files=$$(find . -name '*.go' | grep -v './vendor'); \
if [ $$(gofmt -d $$files | wc -l) -ne 0 ]; then \
echo "formatting errors:"; \
Expand Down
2 changes: 1 addition & 1 deletion travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ matrix:
include:
- go: 1.11.1
script:
- make all test
- make -k all test
after_success:
- if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" quay.io;
Expand Down

0 comments on commit 9132a01

Please sign in to comment.