[apparmor] [patch 01/12] parser: add build option for coverage (v3)

Seth Arnold seth.arnold at canonical.com
Fri Dec 6 03:11:43 UTC 2013


On Tue, Dec 03, 2013 at 12:12:17PM -0800, Steve Beattie wrote:
> This patch adds a parser make variable and a make target for building
> the compiler with coverage compilation flags. With this, coverage
> information can be generated by running tests/test suites against the
> built parser and run through tools like gcovr.
> 
> Patch History:
>   v1: initial version
>   v2: refreshed/no change
>   v3: address feedback from sarnold:
>       - mark coverage target as phony
>       - correct missing '.' typo in clean target
>       - make coverage extensions consistent in clean targets
> 
> Signed-off-by: Steve Beattie <steve at nxnw.org>

Acked-by: Seth Arnold <seth.arnold at canonical.com>

Thanks

> ---
>  parser/Makefile                |    9 ++++++++-
>  parser/libapparmor_re/Makefile |    2 +-
>  parser/tst/Makefile            |    1 +
>  3 files changed, 10 insertions(+), 2 deletions(-)
> 
> Index: b/parser/Makefile
> ===================================================================
> --- a/parser/Makefile
> +++ b/parser/Makefile
> @@ -51,6 +51,9 @@ CFLAGS	= -g -O2 -pipe
>  ifdef DEBUG
>  CFLAGS += -pg -D DEBUG
>  endif
> +ifdef COVERAGE
> +CFLAGS = -g -pg -fprofile-arcs -ftest-coverage
> +endif
>  endif #CFLAGS
>  
>  LIBAPPARMOR_PATH=../libraries/libapparmor/src/
> @@ -149,6 +152,9 @@ indep: docs
>  
>  all:	arch indep
>  
> +.PHONY: coverage
> +coverage:
> +	$(MAKE) clean apparmor_parser COVERAGE=1
>  
>  apparmor_parser: $(OBJECTS) $(AAREOBJECTS)
>  	$(CXX) $(LDFLAGS) $(EXTRA_CFLAGS) -o $@ $(OBJECTS) $(LIBS) \
> @@ -302,7 +308,8 @@ install-indep:
>  .SILENT: clean
>  .PHONY: clean
>  clean: _clean
> -	rm -f core core.* *.o *.s *.a *~
> +	rm -f core core.* *.o *.s *.a *~ *.gcda *.gcno
> +	rm -f gmon.out
>  	rm -f $(TOOLS) $(TESTS)
>  	rm -f $(LEX_C_FILES)
>  	rm -f $(YACC_C_FILES)
> Index: b/parser/libapparmor_re/Makefile
> ===================================================================
> --- a/parser/libapparmor_re/Makefile
> +++ b/parser/libapparmor_re/Makefile
> @@ -29,4 +29,4 @@ parse.cc : parse.y parse.h flex-tables.h
>  	${BISON} -o $@ $<
>  
>  clean:
> -	rm -f *.o parse.cc ${TARGET}
> +	rm -f *.o parse.cc ${TARGET} *.gcda *.gcno
> Index: b/parser/tst/Makefile
> ===================================================================
> --- a/parser/tst/Makefile
> +++ b/parser/tst/Makefile
> @@ -59,3 +59,4 @@ $(PARSER):
>  
>  clean:
>  	find $(GEN_TRANS_DIRS) -type f | xargs rm -f
> +	rm -f gmon.out
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20131205/99d9df97/attachment.pgp>


More information about the AppArmor mailing list