summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/Makefile.inc21
1 files changed, 16 insertions, 5 deletions
diff --git a/tests/Makefile.inc b/tests/Makefile.inc
index fd3cd9f8d1..44e3c69618 100644
--- a/tests/Makefile.inc
+++ b/tests/Makefile.inc
@@ -154,6 +154,15 @@ $(alltests): $$($$(@)-bin)
rm -f $(testobj)/junit-$(subst /,_,$^).xml $(testobj)/$(subst /,_,$^).failed
-./$^ || echo failed > $(testobj)/$(subst /,_,$^).failed
+.PHONY: coverage-unit-tests
+
+coverage-unit-tests: TEST_CFLAGS += --coverage
+coverage-unit-tests: TEST_LDFLAGS += --coverage
+coverage-unit-tests: clean-unit-tests unit-tests
+ lcov -o $(testobj)/tests.info -c -d $(testobj) --exclude '*/$(testobj)/*'
+ genhtml -q -o build/tests/coverage_rpt -t "coreboot unit tests" \
+ -s $(testobj)/tests.info
+
unit-tests: build-unit-tests run-unit-tests
build-unit-tests: $(test-bins)
@@ -185,9 +194,11 @@ list-unit-tests:
help-unit-tests help::
@echo '*** coreboot unit-tests targets ***'
- @echo ' unit-tests - Run all unit-tests from tests/'
- @echo ' clean-unit-tests - Remove unit-tests build artifacts'
- @echo ' list-unit-tests - List all unit-tests'
- @echo ' <unit-test> - Build and run single unit-test'
- @echo ' clean-<unit-test> - Remove single unit-test build artifacts'
+ @echo ' unit-tests - Run all unit-tests from tests/'
+ @echo ' clean-unit-tests - Remove unit-tests build artifacts'
+ @echo ' list-unit-tests - List all unit-tests'
+ @echo ' <unit-test> - Build and run single unit-test'
+ @echo ' clean-<unit-test> - Remove single unit-test build artifacts'
+ @echo ' coverage-unit-tests - Build unit tests for code coverage and'
+ @echo ' generate a code coverage report'
@echo