github.com/resonatecoop/id@v1.1.0-43/Makefile (about)

     1  .PHONY: fmt lint golint test test-with-coverage ci
     2  # TODO: When Go 1.9 is released vendor folder should be ignored automatically
     3  PACKAGES=`go list ./... | grep -v vendor | grep -v mocks`
     4  
     5  fmt:
     6  	for pkg in ${PACKAGES}; do \
     7  		go fmt $$pkg; \
     8  	done;
     9  
    10  lint:
    11  	gometalinter --tests --disable-all --deadline=120s -E vet -E gofmt -E misspell -E ineffassign -E goimports -E deadcode ./...
    12  
    13  golint:
    14  	for pkg in ${PACKAGES}; do \
    15  		golint $$pkg; \
    16  	done;
    17  
    18  test:
    19  	TEST_FAILED= ; \
    20  	for pkg in ${PACKAGES}; do \
    21  		go test $$pkg || TEST_FAILED=1; \
    22  	done; \
    23  	[ -z "$$TEST_FAILED" ]
    24  
    25  test-with-coverage:
    26  	echo "" > coverage.out
    27  	echo "mode: set" > coverage-all.out
    28  	TEST_FAILED= ; \
    29  	for pkg in ${PACKAGES}; do \
    30  		go test -coverprofile=coverage.out -covermode=set $$pkg || TEST_FAILED=1; \
    31  		tail -n +2 coverage.out >> coverage-all.out; \
    32  	done; \
    33  	[ -z "$$TEST_FAILED" ]
    34  	#go tool cover -html=coverage-all.out
    35  
    36  ci:
    37  	bash -c 'docker-compose -f docker-compose.test.yml -p go_oauth2_server_ci up --build --abort-on-container-exit --exit-code-from sut'