Skip to content

Commit

Permalink
build: add node_lib_target_name to cctest deps
Browse files Browse the repository at this point in the history
Currently the cctest target depend on the node_core_target_name
target. But it is the node_lib_target_name target that compiles the
sources now which means that if a source file in src is updated the
cctest executable will not be re-linked against it, but will remain
unchanged. The code will still be compiled, just not linked which
means that if you are debugging you'll not see the changes and also a
warning will be displayed about this issue.

This commit changes the cctest target to depend on node_lib_target_name.

Backport-PR-URL: #20797
PR-URL: #18576
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: Yihong Wang <yh.wang@ibm.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
  • Loading branch information
danbev authored and rvagg committed Aug 16, 2018
1 parent 9bd5fc2 commit 18fd620
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 157 deletions.
129 changes: 3 additions & 126 deletions node.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,7 @@
'type': 'executable',

'dependencies': [
'<(node_core_target_name)',
'<(node_lib_target_name)',
'rename_node_bin_win',
'deps/gtest/gtest.gyp:gtest',
'node_js2c#host',
Expand All @@ -892,39 +892,6 @@
'node_dtrace_provider',
],

'variables': {
'obj_path': '<(obj_dir)/<(node_lib_target_name)/src',
'obj_gen_path': '<(obj_dir)/<(node_lib_target_name)/gen',
'obj_tracing_path': '<(obj_dir)/<(node_lib_target_name)/src/tracing',
'obj_suffix': 'o',
'obj_separator': '/',
'conditions': [
['OS=="win"', {
'obj_suffix': 'obj',
}],
['GENERATOR=="ninja"', {
'obj_path': '<(obj_dir)/src',
'obj_gen_path': '<(obj_dir)/gen',
'obj_tracing_path': '<(obj_dir)/src/tracing',
'obj_separator': '/<(node_lib_target_name).',
}, {
'conditions': [
['OS=="win"', {
'obj_path': '<(obj_dir)/<(node_lib_target_name)',
'obj_gen_path': '<(obj_dir)/<(node_lib_target_name)',
'obj_tracing_path': '<(obj_dir)/<(node_lib_target_name)',
}],
['OS=="aix"', {
'obj_path': '<(obj_dir)/<(node_lib_target_name)/src',
'obj_gen_path': '<(obj_dir)/<(node_lib_target_name)/gen',
'obj_tracing_path':
'<(obj_dir)/<(node_lib_target_name)/src/tracing',
}],
]}
]
],
},

'includes': [
'node.gypi'
],
Expand All @@ -941,7 +908,6 @@
'defines': [ 'NODE_WANT_INTERNALS=1' ],

'sources': [
'test/cctest/node_module_reg.cc',
'test/cctest/node_test_fixture.cc',
'test/cctest/test_aliased_buffer.cc',
'test/cctest/test_base64.cc',
Expand All @@ -951,119 +917,30 @@
'test/cctest/test_url.cc'
],

'libraries': [
'<(obj_path)<(obj_separator)async_wrap.<(obj_suffix)',
'<(obj_path)<(obj_separator)handle_wrap.<(obj_suffix)',
'<(obj_path)<(obj_separator)env.<(obj_suffix)',
'<(obj_path)<(obj_separator)node.<(obj_suffix)',
'<(obj_path)<(obj_separator)node_buffer.<(obj_suffix)',
'<(obj_path)<(obj_separator)node_debug_options.<(obj_suffix)',
'<(obj_path)<(obj_separator)node_i18n.<(obj_suffix)',
'<(obj_path)<(obj_separator)node_perf.<(obj_suffix)',
'<(obj_path)<(obj_separator)node_platform.<(obj_suffix)',
'<(obj_path)<(obj_separator)node_url.<(obj_suffix)',
'<(obj_path)<(obj_separator)util.<(obj_suffix)',
'<(obj_path)<(obj_separator)string_bytes.<(obj_suffix)',
'<(obj_path)<(obj_separator)string_search.<(obj_suffix)',
'<(obj_path)<(obj_separator)stream_base.<(obj_suffix)',
'<(obj_path)<(obj_separator)node_constants.<(obj_suffix)',
'<(obj_tracing_path)<(obj_separator)agent.<(obj_suffix)',
'<(obj_tracing_path)<(obj_separator)node_trace_buffer.<(obj_suffix)',
'<(obj_tracing_path)<(obj_separator)node_trace_writer.<(obj_suffix)',
'<(obj_tracing_path)<(obj_separator)trace_event.<(obj_suffix)',
'<(obj_gen_path)<(obj_separator)node_javascript.<(obj_suffix)',
],

'conditions': [
[ 'node_use_openssl=="true"', {
'conditions': [
['node_target_type!="static_library"', {
'libraries': [
'<(obj_path)<(obj_separator)node_crypto.<(obj_suffix)',
'<(obj_path)<(obj_separator)node_crypto_bio.<(obj_suffix)',
'<(obj_path)<(obj_separator)node_crypto_clienthello.<(obj_suffix)',
'<(obj_path)<(obj_separator)tls_wrap.<(obj_suffix)',
],
}],
],
'defines': [
'HAVE_OPENSSL=1',
],
}],
[ 'node_use_perfctr=="true"', {
'defines': [ 'HAVE_PERFCTR=1' ],
'libraries': [
'<(obj_path)<(obj_separator)node_counters.<(obj_suffix)',
'<(obj_path)<(obj_separator)'
'node_win32_perfctr_provider.<(obj_suffix)',
],
}],
['v8_enable_inspector==1', {
'sources': [
'test/cctest/test_inspector_socket.cc',
'test/cctest/test_inspector_socket_server.cc'
],
'conditions': [
['node_target_type!="static_library"', {
'libraries': [
'<(obj_path)<(obj_separator)inspector_agent.<(obj_suffix)',
'<(obj_path)<(obj_separator)inspector_io.<(obj_suffix)',
'<(obj_path)<(obj_separator)inspector_js_api.<(obj_suffix)',
'<(obj_path)<(obj_separator)inspector_socket.<(obj_suffix)',
'<(obj_path)<(obj_separator)inspector_socket_server.<(obj_suffix)',
],
}],
],
'defines': [
'HAVE_INSPECTOR=1',
],
}],
[ 'node_use_dtrace=="true" and node_target_type!="static_library"', {
'libraries': [
'<(obj_path)<(obj_separator)node_dtrace.<(obj_suffix)',
],
'conditions': [
['OS!="mac" and OS!="linux"', {
'libraries': [
'<(obj_path)<(obj_separator)node_dtrace_provider.<(obj_suffix)',
'<(obj_path)<(obj_separator)node_dtrace_ustack.<(obj_suffix)',
]
}],
['OS=="linux"', {
'libraries': [
'<(SHARED_INTERMEDIATE_DIR)<(obj_separator)'
'node_dtrace_provider.<(obj_suffix)',
]
}],
],
}, {
'conditions': [
[ 'node_use_etw=="true" and OS=="win"', {
'libraries': [
'<(obj_path)<(obj_separator)node_dtrace.<(obj_suffix)',
'<(obj_path)<(obj_separator)'
'node_win32_etw_provider.<(obj_suffix)',
],
}]
]
}],
[ 'OS=="win" and node_target_type!="static_library"', {
'libraries': [
'<(obj_path)<(obj_separator)backtrace_win32.<(obj_suffix)',
],
}, {
'conditions': [
['node_target_type!="static_library"', {
'libraries': [
'<(obj_path)<(obj_separator)backtrace_posix.<(obj_suffix)',
],
}],
],
'defines': [ 'HAVE_INSPECTOR=0' ]
}],
['OS=="solaris"', {
'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ]
}],
]
],
}
], # end targets

Expand Down
29 changes: 0 additions & 29 deletions test/cctest/node_module_reg.cc

This file was deleted.

24 changes: 22 additions & 2 deletions test/cctest/test_node_postmortem_metadata.cc
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
#include "node_postmortem_metadata.cc"

#include "gtest/gtest.h"
#include "node.h"
#include "node_internals.h"
#include "node_test_fixture.h"
#include "req-wrap-inl.h"
#include "tracing/agent.h"
#include "v8.h"
#include "v8abbr.h"

extern "C" {
extern uintptr_t
nodedbg_offset_HandleWrap__handle_wrap_queue___ListNode_HandleWrap;
extern uintptr_t
nodedbg_offset_Environment__handle_wrap_queue___Environment_HandleWrapQueue;
extern int debug_symbols_generated;
extern int nodedbg_const_Environment__kContextEmbedderDataIndex__int;
extern uintptr_t
nodedbg_offset_Environment_HandleWrapQueue__head___ListNode_HandleWrap;
extern uintptr_t
nodedbg_offset_Environment__req_wrap_queue___Environment_ReqWrapQueue;
extern uintptr_t nodedbg_offset_ExternalString__data__uintptr_t;
extern uintptr_t nodedbg_offset_ListNode_ReqWrap__next___uintptr_t;
extern uintptr_t nodedbg_offset_ReqWrap__req_wrap_queue___ListNode_ReqWrapQueue;
extern uintptr_t nodedbg_offset_ListNode_HandleWrap__next___uintptr_t;
extern uintptr_t
nodedbg_offset_Environment_ReqWrapQueue__head___ListNode_ReqWrapQueue;
extern uintptr_t
nodedbg_offset_BaseObject__persistent_handle___v8_Persistent_v8_Object;
}


class DebugSymbolsTest : public EnvironmentTestFixture {};
Expand Down

0 comments on commit 18fd620

Please sign in to comment.