mirror of
https://github.com/3ybactuk/marketplace-go-service-project.git
synced 2025-10-30 14:03:45 +03:00
[hw-2] add tests, coverage, benchmarks
This commit is contained in:
28
make/coverage.mk
Normal file
28
make/coverage.mk
Normal file
@@ -0,0 +1,28 @@
|
||||
COV_REPORT_DIR := .coverage
|
||||
|
||||
define coverage
|
||||
@if [ -f "$(1)/go.mod" ]; then \
|
||||
echo "===== coverage for $(1) ====="; \
|
||||
outdir=$(COV_REPORT_DIR)/$(1); \
|
||||
mkdir -p $$outdir; \
|
||||
pkgs=$$(go list ./$(1)/... | grep -vE 'mock|config|generated|header|document|internal/pb'); \
|
||||
if [ -z "$$pkgs" ]; then \
|
||||
echo "no packages to test in $(1)"; exit 0; \
|
||||
fi; \
|
||||
go test -race -covermode=atomic -coverprofile=$$outdir/coverage.out $$pkgs; \
|
||||
go tool cover -html=$$outdir/coverage.out -o $$outdir/coverage.html; \
|
||||
echo "html report: $$outdir/coverage.html"; \
|
||||
fi
|
||||
endef
|
||||
|
||||
cart-coverage:
|
||||
$(call coverage,cart)
|
||||
|
||||
loms-coverage:
|
||||
$(call coverage,loms)
|
||||
|
||||
notifier-coverage:
|
||||
$(call coverage,notifier)
|
||||
|
||||
comments-coverage:
|
||||
$(call coverage,comments)
|
||||
Reference in New Issue
Block a user