build: fix coverage build
After adding the node_lib target in node.gyp, most of the node source files are moved to that target. When coverage option is enabled, corresponding cflags and ldflags are needed in that target as well. gcovr also needs to check .gcda data for both node and node_lib. PR-URL: https://github.com/nodejs/node/pull/18409 Fixes: https://github.com/nodejs/node/issues/18402 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
This commit is contained in:
parent
fca1c557ac
commit
a89d215b79
5
Makefile
5
Makefile
@ -191,6 +191,9 @@ coverage-test: coverage-build
|
||||
$(RM) out/$(BUILDTYPE)/obj.target/node/gen/*.gcda
|
||||
$(RM) out/$(BUILDTYPE)/obj.target/node/src/*.gcda
|
||||
$(RM) out/$(BUILDTYPE)/obj.target/node/src/tracing/*.gcda
|
||||
$(RM) out/$(BUILDTYPE)/obj.target/node_lib/gen/*.gcda
|
||||
$(RM) out/$(BUILDTYPE)/obj.target/node_lib/src/*.gcda
|
||||
$(RM) out/$(BUILDTYPE)/obj.target/node_lib/src/tracing/*.gcda
|
||||
-$(MAKE) $(COVTESTS)
|
||||
mv lib lib__
|
||||
mv lib_ lib
|
||||
@ -201,7 +204,7 @@ coverage-test: coverage-build
|
||||
--temp-directory "$(CURDIR)/.cov_tmp" \
|
||||
--report-dir "../coverage")
|
||||
-(cd out && "../gcovr/scripts/gcovr" --gcov-exclude='.*deps' \
|
||||
--gcov-exclude='.*usr' -v -r Release/obj.target/node \
|
||||
--gcov-exclude='.*usr' -v -r Release/obj.target \
|
||||
--html --html-detail -o ../coverage/cxxcoverage.html \
|
||||
--gcov-executable="$(GCOV)")
|
||||
mv lib lib_
|
||||
|
17
node.gypi
17
node.gypi
@ -184,25 +184,20 @@
|
||||
],
|
||||
}],
|
||||
[ '(OS=="freebsd" or OS=="linux") and node_shared=="false"'
|
||||
' and coverage=="false" and force_load=="true"', {
|
||||
' and force_load=="true"', {
|
||||
'ldflags': [ '-Wl,-z,noexecstack',
|
||||
'-Wl,--whole-archive <(v8_base)',
|
||||
'-Wl,--no-whole-archive' ]
|
||||
}],
|
||||
[ '(OS=="freebsd" or OS=="linux") and node_shared=="false"'
|
||||
' and coverage=="true" and force_load=="true"', {
|
||||
'ldflags': [ '-Wl,-z,noexecstack',
|
||||
'-Wl,--whole-archive <(v8_base)',
|
||||
'-Wl,--no-whole-archive',
|
||||
'--coverage',
|
||||
[ 'OS in "mac freebsd linux" and node_shared=="false"'
|
||||
' and coverage=="true"', {
|
||||
'ldflags': [ '--coverage',
|
||||
'-g',
|
||||
'-O0' ],
|
||||
'cflags': [ '--coverage',
|
||||
'cflags': [ '--coverage',
|
||||
'-g',
|
||||
'-O0' ],
|
||||
'cflags!': [ '-O3' ]
|
||||
}],
|
||||
[ 'OS=="mac" and node_shared=="false" and coverage=="true"', {
|
||||
'cflags!': [ '-O3' ],
|
||||
'xcode_settings': {
|
||||
'OTHER_LDFLAGS': [
|
||||
'--coverage',
|
||||
|
Loading…
x
Reference in New Issue
Block a user