@@ -13,6 +13,7 @@ OSTYPE := $(shell uname -s | tr '[A-Z]' '[a-z]')
13
13
COVTESTS ?= test-cov
14
14
GTEST_FILTER ?= "*"
15
15
GNUMAKEFLAGS += --no-print-directory
16
+ GCOV ?= gcov
16
17
17
18
ifdef JOBS
18
19
PARALLEL_ARGS = -j $(JOBS )
@@ -34,6 +35,10 @@ ifdef DISABLE_V8_I18N
34
35
V8_BUILD_OPTIONS += i18nsupport=off
35
36
endif
36
37
38
+ ifeq ($(OSTYPE ) , darwin)
39
+ GCOV = xcrun llvm-cov gcov
40
+ endif
41
+
37
42
BUILDTYPE_LOWER := $(shell echo $(BUILDTYPE ) | tr '[A-Z]' '[a-z]')
38
43
39
44
# Determine EXEEXT
@@ -124,10 +129,12 @@ coverage-clean:
124
129
$(RM ) -r gcovr testing
125
130
$(RM ) -r out/$(BUILDTYPE ) /.coverage
126
131
$(RM ) -r .cov_tmp coverage
127
- $(RM ) out/$(BUILDTYPE ) /obj.target/node/src/* .gcda
132
+ $(RM ) out/$(BUILDTYPE ) /obj.target/node/{ src,gen} /* .gcda
128
133
$(RM ) out/$(BUILDTYPE ) /obj.target/node/src/tracing/* .gcda
129
- $(RM ) out/$(BUILDTYPE ) /obj.target/node/src/* .gcno
130
- $(RM ) out/$(BUILDTYPE ) /obj.target/node/src/tracing* .gcno
134
+ $(RM ) out/$(BUILDTYPE ) /obj.target/node/{src,gen}/* .gcno
135
+ $(RM ) out/$(BUILDTYPE ) /obj.target/node/src/tracing/* .gcno
136
+ $(RM ) out/$(BUILDTYPE ) /obj.target/cctest/src/* .gcno
137
+ $(RM ) out/$(BUILDTYPE ) /obj.target/cctest/test/cctest/* .gcno
131
138
132
139
# Build and test with code coverage reporting. Leave the lib directory
133
140
# instrumented for any additional runs the user may want to make.
@@ -157,7 +164,7 @@ coverage-build: all
157
164
coverage-test : coverage-build
158
165
$(RM ) -r out/$(BUILDTYPE ) /.coverage
159
166
$(RM ) -r .cov_tmp
160
- $(RM ) out/$(BUILDTYPE ) /obj.target/node/src/* .gcda
167
+ $(RM ) out/$(BUILDTYPE ) /obj.target/node/{ src,gen} /* .gcda
161
168
$(RM ) out/$(BUILDTYPE ) /obj.target/node/src/tracing/* .gcda
162
169
-$(MAKE ) $(COVTESTS )
163
170
mv lib lib__
@@ -170,7 +177,8 @@ coverage-test: coverage-build
170
177
--report-dir " ../coverage" )
171
178
-(cd out && " ../gcovr/scripts/gcovr" --gcov-exclude=' .*deps' \
172
179
--gcov-exclude=' .*usr' -v -r Release/obj.target/node \
173
- --html --html-detail -o ../coverage/cxxcoverage.html)
180
+ --html --html-detail -o ../coverage/cxxcoverage.html \
181
+ --gcov-executable=" $( GCOV) " )
174
182
mv lib lib_
175
183
mv lib__ lib
176
184
@echo -n " Javascript coverage %: "
0 commit comments