aboutsummaryrefslogtreecommitdiff
path: root/Makefile.main
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2017-07-17 19:07:49 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-07-19 15:49:39 +1000
commit36698d130b522d99437c07b24124ca30a94deea8 (patch)
tree41e744d50647cd8e8bc9cd1bd553e5a8ff928d7e /Makefile.main
parent22abfd2d18ee2a613e63745aeef1260a3cf4d4ff (diff)
downloadskiboot-36698d130b522d99437c07b24124ca30a94deea8.zip
skiboot-36698d130b522d99437c07b24124ca30a94deea8.tar.gz
skiboot-36698d130b522d99437c07b24124ca30a94deea8.tar.bz2
gcov: properly handle gard and pflash code coverage
We end up with a bit of a nasty hack to count the libflash symlinks in gard and pflash as part of libflash code coverage, but it does work and is unlikely to break anytime soon. Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'Makefile.main')
-rw-r--r--Makefile.main13
1 files changed, 12 insertions, 1 deletions
diff --git a/Makefile.main b/Makefile.main
index 7275ae6..438dcb2 100644
--- a/Makefile.main
+++ b/Makefile.main
@@ -255,8 +255,18 @@ extract-gcov: extract-gcov.c
coverage-report: skiboot.info
genhtml --branch-coverage -q -o $@ $<
-skiboot.info: coverage
+# A rather nasty hack here that relies on the lcov file format
+external/pflash/pflash.info: coverage
+ (cd external/pflash; lcov -q -c -d . -o pflash.info --rc lcov_branch_coverage=1; sed -i -e 's%external/pflash/libflash%libflash%; s%external/pflash/ccan%ccan%' pflash.info)
+external/gard/gard.info: coverage
+ (cd external/gard; lcov -q -c -d . -o gard.info --rc lcov_branch_coverage=1; sed -i -e 's%external/gard/libflash%libflash%; s%external/gard/ccan%ccan%' gard.info)
+
+skiboot.info: coverage external/pflash/pflash.info external/gard/gard.info
lcov -q -c -d . $(LCOV_DIRS) -o $@ --rc lcov_branch_coverage=1
+ lcov -q -r $@ 'external/pflash/*' -o $@
+ lcov -q -r $@ 'external/gard/*' -o $@
+ lcov -q -a $@ -a external/pflash/pflash.info -o $@
+ lcov -q -a $@ -a external/gard/gard.info -o $@
lcov -q -r $@ $(LCOV_EXCLUDE) -o $@ --rc lcov_branch_coverage=1
tags:
@@ -274,6 +284,7 @@ clean:
$(RM) *.[odsa] $(SUBDIRS:%=%/*.[odsa])
$(RM) *.elf $(TARGET).lid *.map $(TARGET).lds $(TARGET).lid.xz
$(RM) include/asm-offsets.h version.c .version
+ $(RM) skiboot.info external/gard/gard.info external/pflash/pflash.info
$(RM) extract-gcov $(TARGET).lid.stb $(TARGET).lid.xz.stb
distclean: clean