diff --git a/.ci/coverage.py b/.ci/coverage.py new file mode 100644 index 0000000000..f051041308 --- /dev/null +++ b/.ci/coverage.py @@ -0,0 +1,13 @@ +from lcov_cobertura import LcovCobertura + +LCOV_FILE = 'build/coverage/test-coverage.info' +OUT_FILE = 'build/coverage/test-coverage.xml' + +with open(LCOV_FILE) as fr: + data = fr.read() + +converter = LcovCobertura(data) +res = converter.convert() + +with open(OUT_FILE, 'w') as fw: + fw.write(res) diff --git a/firmware/ec/test/Makefile b/firmware/ec/test/Makefile index 34b7c28dc6..966757592e 100644 --- a/firmware/ec/test/Makefile +++ b/firmware/ec/test/Makefile @@ -177,7 +177,9 @@ clean: .PHONY: FORCE ci: CFLAGS += -Werror -ci: clean test +ci: CFLAGS += -ftest-coverage -fprofile-arcs -fprofile-dir=$(PATHC)$*/ +ci: COV_CMDS = @mkdir -p $(PATHC)$* && mv *.gcno $(PATHC)$* +ci: clean junit coverage # Add flags and create extra commands to execute after compiler iff coverage is being done. cov: CFLAGS += -ftest-coverage -fprofile-arcs -fprofile-dir=$(PATHC)$*/