Add coverage checks
This commit is contained in:
parent
b019ba757f
commit
2880bea640
22
Makefile
22
Makefile
@ -1,13 +1,22 @@
|
||||
SHELL := /bin/bash
|
||||
|
||||
BINDIR := bin
|
||||
EXECUTABLE_CLI := airshipadm
|
||||
|
||||
SCRIPTS_DIR := scripts
|
||||
|
||||
# linting
|
||||
LINTER_CMD := "github.com/golangci/golangci-lint/cmd/golangci-lint" run
|
||||
ADDTL_LINTERS := goconst,gofmt,lll,unparam
|
||||
|
||||
# go options
|
||||
PKG := ./...
|
||||
TESTS := .
|
||||
PKG := ./...
|
||||
TESTS := .
|
||||
|
||||
# coverage
|
||||
COVER := $(SCRIPTS_DIR)/coverage_test.sh
|
||||
COVER_FILE := cover.out
|
||||
MIN_COVERAGE := 70
|
||||
|
||||
|
||||
.PHONY: build
|
||||
@ -19,13 +28,19 @@ test: build
|
||||
test: lint
|
||||
test: TESTFLAGS += -race -v
|
||||
test: unit-tests
|
||||
test: cover
|
||||
|
||||
.PHONY: unit-tests
|
||||
unit-tests: build
|
||||
@echo "Performing unit test step..."
|
||||
@go test -run $(TESTS) $(PKG) $(TESTFLAGS)
|
||||
@go test -run $(TESTS) $(PKG) $(TESTFLAGS) -coverprofile=$(COVER_FILE)
|
||||
@echo "All unit tests passed"
|
||||
|
||||
.PHONY: cover
|
||||
cover: unit-tests
|
||||
@./$(COVER) $(COVER_FILE) $(MIN_COVERAGE)
|
||||
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
@echo "Performing linting step..."
|
||||
@ -35,6 +50,7 @@ lint:
|
||||
.PHONY: clean
|
||||
clean:
|
||||
@rm -fr $(BINDIR)
|
||||
@rm -fr $(COVER_FILE)
|
||||
|
||||
.PHONY: docs
|
||||
docs:
|
||||
|
19
scripts/coverage_test.sh
Executable file
19
scripts/coverage_test.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
check_coverage() {
|
||||
COVER_FILE=$1
|
||||
MIN_COVERAGE=$2
|
||||
coverage_float=$(go tool cover -func="${COVER_FILE}" | awk "/^total:/ { print \$3 }")
|
||||
coverage_int=${coverage_float%.*}
|
||||
if (( "${coverage_int}" < "${MIN_COVERAGE}" )) ; then
|
||||
echo "Coverage is at ${coverage_float}, but the required coverage is ${MIN_COVERAGE}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$#" -ne 2 ]; then
|
||||
echo "Usage: $0 <cover_file> <required_coverage>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
check_coverage $1 $2
|
Loading…
x
Reference in New Issue
Block a user