summaryrefslogtreecommitdiff
path: root/lib/module.c
diff options
context:
space:
mode:
authorArthur Jones <arthur.jones@riverbed.com>2018-06-14 06:44:38 -0700
committerArthur Jones <arthur.jones@riverbed.com>2018-07-04 11:06:11 -0700
commit83284209097c4f0ab0aba415e986df0dee6f9cc4 (patch)
tree8d4f01f4e7db165f099c9678132fee32e6442534 /lib/module.c
parent732c8da3483d4e09fcfe260454092acef3280086 (diff)
unit tests: support code coverage instrumentation and reports
Currently, make check runs the unit tests and reports pass/fail, but we have no way to guage how much of the code is covered by these tests. gcov provides those statistics on a per source file basis, but requires special CFLAGS and LDFLAGS. Here, we add the --enable-gcov configure option to setup those options correctly. We also add a make target called check-coverage, which runs the unit tests, runs gcov and uploads the data to the codecov.io cloud service for display. Finally, we include a Dockerfile-coverage which creates a container image in alpine linux to run the tests. To create the image: $ docker build \ --build-arg commit=`git rev-parse HEAD` \ --build-arg token=<upload token from codecov.io> \ -t frr-gcov:latest \ -f docker/alpine/Dockerfile-coverage . and to create and upload the report: $ docker run -it --rm frr-gcov:latest Testing done: Created and uploaded a report from my fork using alpine linux 3.7. Non-coverage alpine 3.7 build still works. Issue: https://github.com/FRRouting/frr/issues/2442 Signed-off-by: Arthur Jones <arthur.jones@riverbed.com>
Diffstat (limited to 'lib/module.c')
0 files changed, 0 insertions, 0 deletions