From cba5da5382d73b7ca6b46157889b14e5f6e2ee16 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sat, 8 Apr 2017 12:07:12 +0100 Subject: makes GTT coverage optional The gitano-test-tool coverage was consuming a lot of time and slowing down coverage test running. In addition it was around 2/3 of all processes covered and as such was making coverage report generation slow too. This change adds a COVER_GTT makefile argument which must be set to 'yes' in order for COVERAGE=yes test runs to also cover gtt. --- Makefile | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c85383a..4eed020 100644 --- a/Makefile +++ b/Makefile @@ -96,12 +96,33 @@ $(RUN_GEN_BIN) $(shell pwd) $(shell pwd)/bin $(shell pwd)/lib $(shell pwd)/plugi chmod 755 $2 endef +ifeq ($(COVER_GTT),yes) +define GEN_LOCAL_TESTING_BIN + +$(RUN_GEN_BIN) $(shell pwd) $(shell pwd)/bin $(shell pwd)/lib $(shell pwd)/plugins $1 $2 $(shell pwd)/extras/luacov/src $(shell pwd)/.coverage/ +chmod 755 $2 + +endef +else +define GEN_LOCAL_TESTING_BIN + +$(RUN_GEN_BIN) $(shell pwd) $(shell pwd)/bin $(shell pwd)/lib $(shell pwd)/plugins $1 $2 +chmod 755 $2 + +endef +endif else define GEN_LOCAL_BIN $(RUN_GEN_BIN) $(shell pwd) $(shell pwd)/bin $(shell pwd)/lib $(shell pwd)/plugins $1 $2 chmod 755 $2 +endef +define GEN_LOCAL_TESTING_BIN + +$(RUN_GEN_BIN) $(shell pwd) $(shell pwd)/bin $(shell pwd)/lib $(shell pwd)/plugins $1 $2 +chmod 755 $2 + endef endif @@ -163,7 +184,7 @@ bin/%: bin/%.in $(GEN_BIN) FORCE @$(call GEN_LOCAL_BIN,$<,$@) testing/%: testing/%.in $(GEN_BIN) FORCE - @$(call GEN_LOCAL_BIN,$<,$@) + @$(call GEN_LOCAL_TESTING_BIN,$<,$@) lib/gitano/%.lua: lib/gitano/%.lua.in $(GEN_BIN) FORCE @$(call GEN_LOCAL_MOD,$<,$@) -- cgit v1.2.1 From 47e6127d9d9d77d0a391f295fa076b5e1cbad273 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sat, 8 Apr 2017 13:50:18 +0100 Subject: updates TESTING for COVER_GTT=yes --- TESTING | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/TESTING b/TESTING index f9a9b5b..d648c96 100644 --- a/TESTING +++ b/TESTING @@ -314,3 +314,10 @@ should be excluded is not, then adjust the `.luacov` file which is the configuration for the coverage tool. This is also loaded by the internal in-tree-only module `lib/gitano/coverage.lua` which is generated at build time from `lib/gitano/coverage.lua.in`. + +If you are trying to get coverage for the `gitano-test-tool` binary in the +`testing` directory then you will need to **also** pass `COVER_GTT=yes` when +running the test suite. This distinction is present since around two thirds of +all invocations of coverable code in the test suite uses the test tool to +perform some related task, meaning that covering it causes a significant +slowdown in testing, and increases the cost of generating the coverage report. -- cgit v1.2.1