File tree Expand file tree Collapse file tree 2 files changed +14
-13
lines changed
tests/memory_tracking_test Expand file tree Collapse file tree 2 files changed +14
-13
lines changed Original file line number Diff line number Diff line change 11IF (NOT MEMORY_ALLOCATOR STREQUAL "system" )
2- # Need to ensure that the directory containing
3- # memcached_memory_tracking_test is added to the RPATH so we can
4- # successfully dlopen() the plugin.
5- LINK_DIRECTORIES (${Memcached_BINARY_DIR} )
6-
72 ADD_EXECUTABLE (memcached_memory_tracking_test
83 $<TARGET_OBJECTS:memory_tracking>
94 memory_tracking_test.cc)
105 TARGET_LINK_LIBRARIES (memcached_memory_tracking_test memcached_logger platform gtest ${MALLOC_LIBRARIES} )
11- ADD_TEST (NAME memcached-memory-tracking COMMAND memcached_memory_tracking_test)
6+ ADD_TEST (NAME memcached-memory-tracking
7+ COMMAND memcached_memory_tracking_test $<TARGET_FILE:memcached_memory_tracking_plugin>)
8+ ADD_DEPENDENCIES (memcached_memory_tracking_test memcached_memory_tracking_plugin)
129
1310 ADD_LIBRARY (memcached_memory_tracking_plugin MODULE
1411 memory_tracking_plugin.cc)
1512 TARGET_LINK_LIBRARIES (memcached_memory_tracking_plugin platform)
16- SET_TARGET_PROPERTIES (memcached_memory_tracking_plugin PROPERTIES PREFIX "" )
17- IF (APPLE )
18- SET_TARGET_PROPERTIES (memcached_memory_tracking_plugin PROPERTIES
19- SUFFIX ".dylib" )
20- ENDIF (APPLE )
2113ENDIF (NOT MEMORY_ALLOCATOR STREQUAL "system" )
Original file line number Diff line number Diff line change 3434// via DCE.
3535char * p;
3636
37+ // / Path to plugin to be loaded via dlopen.
38+ const char * pluginPath = nullptr ;
39+
3740class MemoryTrackerTest : public ::testing::Test {
3841public:
3942 // callback function for when memory is allocated.
@@ -131,8 +134,7 @@ void MemoryTrackerTest::AccountingTestThread(void* arg) {
131134 // Test memory allocations performed from another shared library loaded
132135 // at runtime.
133136 char * errmsg = nullptr ;
134- cb_dlhandle_t plugin = cb_dlopen (" memcached_memory_tracking_plugin" ,
135- &errmsg);
137+ cb_dlhandle_t plugin = cb_dlopen (pluginPath, &errmsg);
136138 EXPECT_NE (plugin, nullptr );
137139
138140 // dlopen()ing a plugin can allocate memory. Reset alloc_size.
@@ -219,6 +221,13 @@ TEST_F(MemoryTrackerTest, mallocUsableSize) {
219221int main (int argc, char ** argv) {
220222 ::testing::InitGoogleTest (&argc, argv);
221223
224+ if (argc != 2 ) {
225+ std::cerr << " Usage: <memory_tracking_test> "
226+ " <path_to_memory_tracking_plugin>\n " ;
227+ return 1 ;
228+ }
229+ pluginPath = argv[1 ];
230+
222231 AllocHooks::initialize ();
223232
224233 return RUN_ALL_TESTS ();
You can’t perform that action at this time.
0 commit comments