mirror of
https://github.com/3ybactuk/marketplace-go-service-project.git
synced 2025-10-30 05:53: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)
|
||||
25
make/generate.mk
Normal file
25
make/generate.mk
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
|
||||
define generate
|
||||
@if [ -f "$(1)/go.mod" ]; then \
|
||||
echo "===== running go generate for $(1) ====="; \
|
||||
if [ ! -d "$(1)/internal" ]; then \
|
||||
echo "no internal package in $(1)"; \
|
||||
exit 0; \
|
||||
fi; \
|
||||
go generate ./$(1)/internal/...; \
|
||||
fi
|
||||
endef
|
||||
|
||||
|
||||
cart-generate:
|
||||
$(call generate,cart)
|
||||
|
||||
loms-generate:
|
||||
$(call generate,loms)
|
||||
|
||||
notifier-generate:
|
||||
$(call generate,notifier)
|
||||
|
||||
comments-generate:
|
||||
$(call generate,comments)
|
||||
Reference in New Issue
Block a user