Skip to content

Commit 2ac30e9

Browse files
committed
Makefile: include examples in the coverage-report
1 parent 4c46a13 commit 2ac30e9

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
/.vscode
22
/coverage.html
33
/coverage.txt
4+
/coverage_data_examples
5+
/coverage_data_unittests

Makefile

+18-3
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,33 @@ help:
99
@echo 'Internal Targets:'
1010
@awk 'match($$0, /^([a-zA-Z_\/-]+):.*? ### (.*)$$/, m) {printf " \033[36m%-30s\033[0m %s\n", m[1], m[2]}' $(MAKEFILE_LIST) | sort
1111

12+
coverage_data_examples coverage_data_unittests:
13+
mkdir $@
14+
15+
.PHONY: clean
16+
clean: ## clean all build and test artifacts
17+
rm -rf coverage_data_examples coverage_data_unittests
18+
rm -rf coverage.{txt,html}
19+
1220
.PHONY: unit-tests
13-
unit-tests: ## Run all tests
14-
go test -race -v -covermode=atomic -coverprofile=coverage.txt ./...
21+
unit-tests: coverage_data_unittests ## Run all tests
22+
go test -race -v -covermode=atomic ./... -args -test.gocoverdir="$(shell pwd)/coverage_data_unittests"
1523

1624
.PHONY: lint
1725
lint: ## run linter / static checker
1826
staticcheck ./...
1927

2028
.PHONY: coverage-report
21-
coverage-report: unit-tests ## Run unit tests and generate an HTML coverage report
29+
coverage-report: coverage_data_examples unit-tests run-examples-cov ## Run unit tests and examples. Then generate an HTML coverage report
30+
go tool covdata textfmt -i=./coverage_data_examples/,./coverage_data_unittests/ -o coverage.txt
2231
go tool cover -o coverage.html -html coverage.txt
2332

33+
.PHONY: run-examples-cov
34+
run-examples-cov: coverage_data_examples ### Run examples tests with coverage
35+
for d in internal/example_*; do \
36+
GOCOVERDIR=coverage_data_examples go run -coverpkg=github.com/osbuild/logging/... -covermode=atomic -cover github.com/osbuild/logging/$$d || exit 1; \
37+
done
38+
2439
.PHONY: run-examples
2540
run-examples: ## Run examples tests
2641
for d in internal/example_*; do go run github.com/osbuild/logging/$$d || exit 1; done

0 commit comments

Comments
 (0)