From 7d90d5497c2115599665728056c818efc575b4c4 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Mon, 5 Mar 2018 22:53:44 -0800 Subject: [PATCH] Reviewer feedback --- CMakeLists.txt | 66 ++++++++------- Makefile | 84 +++++++++++-------- build.yaml | 26 +++--- src/core/lib/channel/channel_tracer.cc | 29 ++++++- src/core/lib/channel/channel_tracer.h | 28 ++----- src/core/lib/surface/channel.cc | 5 +- test/core/channel/channel_tracer_test.cc | 25 +++--- .../generated/sources_and_headers.json | 36 ++++---- tools/run_tests/generated/tests.json | 48 +++++------ 9 files changed, 192 insertions(+), 155 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c80744d827c..93d3b129624 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -283,7 +283,6 @@ add_dependencies(buildtests_c grpc_byte_buffer_reader_test) add_dependencies(buildtests_c grpc_channel_args_test) add_dependencies(buildtests_c grpc_channel_stack_builder_test) add_dependencies(buildtests_c grpc_channel_stack_test) -add_dependencies(buildtests_c grpc_channel_tracer_test) add_dependencies(buildtests_c grpc_completion_queue_test) add_dependencies(buildtests_c grpc_completion_queue_threading_test) add_dependencies(buildtests_c grpc_credentials_test) @@ -518,6 +517,7 @@ add_dependencies(buildtests_cxx bm_pollset) endif() add_dependencies(buildtests_cxx channel_arguments_test) add_dependencies(buildtests_cxx channel_filter_test) +add_dependencies(buildtests_cxx channel_tracer_test) add_dependencies(buildtests_cxx chttp2_settings_timeout_test) add_dependencies(buildtests_cxx cli_call_test) add_dependencies(buildtests_cxx client_channel_stress_test) @@ -6559,33 +6559,6 @@ target_link_libraries(grpc_channel_stack_test endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) -add_executable(grpc_channel_tracer_test - test/core/channel/channel_tracer_test.cc -) - - -target_include_directories(grpc_channel_tracer_test - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include - PRIVATE ${_gRPC_SSL_INCLUDE_DIR} - PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR} - PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR} - PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} - PRIVATE ${_gRPC_CARES_INCLUDE_DIR} - PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} -) - -target_link_libraries(grpc_channel_tracer_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - grpc - gpr_test_util - gpr -) - -endif (gRPC_BUILD_TESTS) -if (gRPC_BUILD_TESTS) - add_executable(grpc_completion_queue_test test/core/surface/completion_queue_test.cc ) @@ -9512,6 +9485,43 @@ target_link_libraries(channel_filter_test endif (gRPC_BUILD_TESTS) if (gRPC_BUILD_TESTS) +add_executable(channel_tracer_test + test/core/channel/channel_tracer_test.cc + third_party/googletest/googletest/src/gtest-all.cc + third_party/googletest/googlemock/src/gmock-all.cc +) + + +target_include_directories(channel_tracer_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${_gRPC_SSL_INCLUDE_DIR} + PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR} + PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR} + PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR} + PRIVATE ${_gRPC_CARES_INCLUDE_DIR} + PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR} + PRIVATE third_party/googletest/googletest/include + PRIVATE third_party/googletest/googletest + PRIVATE third_party/googletest/googlemock/include + PRIVATE third_party/googletest/googlemock + PRIVATE ${_gRPC_PROTO_GENS_DIR} +) + +target_link_libraries(channel_tracer_test + ${_gRPC_PROTOBUF_LIBRARIES} + ${_gRPC_ALLTARGETS_LIBRARIES} + grpc_test_util + grpc++ + grpc + gpr_test_util + gpr + ${_gRPC_GFLAGS_LIBRARIES} +) + +endif (gRPC_BUILD_TESTS) +if (gRPC_BUILD_TESTS) + add_executable(chttp2_settings_timeout_test test/core/transport/chttp2/settings_timeout_test.cc third_party/googletest/googletest/src/gtest-all.cc diff --git a/Makefile b/Makefile index 02a72910ff1..d5777d0e106 100644 --- a/Makefile +++ b/Makefile @@ -1006,7 +1006,6 @@ grpc_byte_buffer_reader_test: $(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test grpc_channel_args_test: $(BINDIR)/$(CONFIG)/grpc_channel_args_test grpc_channel_stack_builder_test: $(BINDIR)/$(CONFIG)/grpc_channel_stack_builder_test grpc_channel_stack_test: $(BINDIR)/$(CONFIG)/grpc_channel_stack_test -grpc_channel_tracer_test: $(BINDIR)/$(CONFIG)/grpc_channel_tracer_test grpc_completion_queue_test: $(BINDIR)/$(CONFIG)/grpc_completion_queue_test grpc_completion_queue_threading_test: $(BINDIR)/$(CONFIG)/grpc_completion_queue_threading_test grpc_create_jwt: $(BINDIR)/$(CONFIG)/grpc_create_jwt @@ -1115,6 +1114,7 @@ bm_metadata: $(BINDIR)/$(CONFIG)/bm_metadata bm_pollset: $(BINDIR)/$(CONFIG)/bm_pollset channel_arguments_test: $(BINDIR)/$(CONFIG)/channel_arguments_test channel_filter_test: $(BINDIR)/$(CONFIG)/channel_filter_test +channel_tracer_test: $(BINDIR)/$(CONFIG)/channel_tracer_test chttp2_settings_timeout_test: $(BINDIR)/$(CONFIG)/chttp2_settings_timeout_test cli_call_test: $(BINDIR)/$(CONFIG)/cli_call_test client_channel_stress_test: $(BINDIR)/$(CONFIG)/client_channel_stress_test @@ -1425,7 +1425,6 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/grpc_channel_args_test \ $(BINDIR)/$(CONFIG)/grpc_channel_stack_builder_test \ $(BINDIR)/$(CONFIG)/grpc_channel_stack_test \ - $(BINDIR)/$(CONFIG)/grpc_channel_tracer_test \ $(BINDIR)/$(CONFIG)/grpc_completion_queue_test \ $(BINDIR)/$(CONFIG)/grpc_completion_queue_threading_test \ $(BINDIR)/$(CONFIG)/grpc_credentials_test \ @@ -1584,6 +1583,7 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/bm_pollset \ $(BINDIR)/$(CONFIG)/channel_arguments_test \ $(BINDIR)/$(CONFIG)/channel_filter_test \ + $(BINDIR)/$(CONFIG)/channel_tracer_test \ $(BINDIR)/$(CONFIG)/chttp2_settings_timeout_test \ $(BINDIR)/$(CONFIG)/cli_call_test \ $(BINDIR)/$(CONFIG)/client_channel_stress_test \ @@ -1732,6 +1732,7 @@ buildtests_cxx: privatelibs_cxx \ $(BINDIR)/$(CONFIG)/bm_pollset \ $(BINDIR)/$(CONFIG)/channel_arguments_test \ $(BINDIR)/$(CONFIG)/channel_filter_test \ + $(BINDIR)/$(CONFIG)/channel_tracer_test \ $(BINDIR)/$(CONFIG)/chttp2_settings_timeout_test \ $(BINDIR)/$(CONFIG)/cli_call_test \ $(BINDIR)/$(CONFIG)/client_channel_stress_test \ @@ -1918,8 +1919,6 @@ test_c: buildtests_c $(Q) $(BINDIR)/$(CONFIG)/grpc_channel_stack_builder_test || ( echo test grpc_channel_stack_builder_test failed ; exit 1 ) $(E) "[RUN] Testing grpc_channel_stack_test" $(Q) $(BINDIR)/$(CONFIG)/grpc_channel_stack_test || ( echo test grpc_channel_stack_test failed ; exit 1 ) - $(E) "[RUN] Testing grpc_channel_tracer_test" - $(Q) $(BINDIR)/$(CONFIG)/grpc_channel_tracer_test || ( echo test grpc_channel_tracer_test failed ; exit 1 ) $(E) "[RUN] Testing grpc_completion_queue_test" $(Q) $(BINDIR)/$(CONFIG)/grpc_completion_queue_test || ( echo test grpc_completion_queue_test failed ; exit 1 ) $(E) "[RUN] Testing grpc_completion_queue_threading_test" @@ -2130,6 +2129,8 @@ test_cxx: buildtests_cxx $(Q) $(BINDIR)/$(CONFIG)/channel_arguments_test || ( echo test channel_arguments_test failed ; exit 1 ) $(E) "[RUN] Testing channel_filter_test" $(Q) $(BINDIR)/$(CONFIG)/channel_filter_test || ( echo test channel_filter_test failed ; exit 1 ) + $(E) "[RUN] Testing channel_tracer_test" + $(Q) $(BINDIR)/$(CONFIG)/channel_tracer_test || ( echo test channel_tracer_test failed ; exit 1 ) $(E) "[RUN] Testing chttp2_settings_timeout_test" $(Q) $(BINDIR)/$(CONFIG)/chttp2_settings_timeout_test || ( echo test chttp2_settings_timeout_test failed ; exit 1 ) $(E) "[RUN] Testing cli_call_test" @@ -11414,38 +11415,6 @@ endif endif -GRPC_CHANNEL_TRACER_TEST_SRC = \ - test/core/channel/channel_tracer_test.cc \ - -GRPC_CHANNEL_TRACER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GRPC_CHANNEL_TRACER_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/grpc_channel_tracer_test: openssl_dep_error - -else - - - -$(BINDIR)/$(CONFIG)/grpc_channel_tracer_test: $(GRPC_CHANNEL_TRACER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(GRPC_CHANNEL_TRACER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/grpc_channel_tracer_test - -endif - -$(OBJDIR)/$(CONFIG)/test/core/channel/channel_tracer_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -deps_grpc_channel_tracer_test: $(GRPC_CHANNEL_TRACER_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(GRPC_CHANNEL_TRACER_TEST_OBJS:.o=.dep) -endif -endif - - GRPC_COMPLETION_QUEUE_TEST_SRC = \ test/core/surface/completion_queue_test.cc \ @@ -15165,6 +15134,49 @@ endif endif +CHANNEL_TRACER_TEST_SRC = \ + test/core/channel/channel_tracer_test.cc \ + +CHANNEL_TRACER_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CHANNEL_TRACER_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/channel_tracer_test: openssl_dep_error + +else + + + + +ifeq ($(NO_PROTOBUF),true) + +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+. + +$(BINDIR)/$(CONFIG)/channel_tracer_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/channel_tracer_test: $(PROTOBUF_DEP) $(CHANNEL_TRACER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LDXX) $(LDFLAGS) $(CHANNEL_TRACER_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/channel_tracer_test + +endif + +endif + +$(OBJDIR)/$(CONFIG)/test/core/channel/channel_tracer_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_channel_tracer_test: $(CHANNEL_TRACER_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(CHANNEL_TRACER_TEST_OBJS:.o=.dep) +endif +endif + + CHTTP2_SETTINGS_TIMEOUT_TEST_SRC = \ test/core/transport/chttp2/settings_timeout_test.cc \ diff --git a/build.yaml b/build.yaml index d03b7a113c0..bdc6db8d8d9 100644 --- a/build.yaml +++ b/build.yaml @@ -2432,17 +2432,6 @@ targets: - gpr_test_util - gpr uses_polling: false -- name: grpc_channel_tracer_test - build: test - language: c - src: - - test/core/channel/channel_tracer_test.cc - deps: - - grpc_test_util - - grpc - - gpr_test_util - - gpr - uses_polling: false - name: grpc_completion_queue_test build: test language: c @@ -3896,6 +3885,21 @@ targets: - grpc - gpr uses_polling: false +- name: channel_tracer_test + gtest: true + build: test + language: c++ + src: + - test/core/channel/channel_tracer_test.cc + deps: + - grpc_test_util + - grpc++ + - grpc + - gpr_test_util + - gpr + uses: + - grpc++_test + uses_polling: false - name: chttp2_settings_timeout_test gtest: true build: test diff --git a/src/core/lib/channel/channel_tracer.cc b/src/core/lib/channel/channel_tracer.cc index fdb96570cdc..38a5b1ee202 100644 --- a/src/core/lib/channel/channel_tracer.cc +++ b/src/core/lib/channel/channel_tracer.cc @@ -40,6 +40,27 @@ namespace grpc_core { +ChannelTrace::TraceEvent::TraceEvent( + grpc_slice data, grpc_error* error, + grpc_connectivity_state connectivity_state, + RefCountedPtr referenced_tracer) + : data_(data), + error_(error), + timestamp_(grpc_millis_to_timespec(grpc_core::ExecCtx::Get()->Now(), + GPR_CLOCK_REALTIME)), + connectivity_state_(connectivity_state), + next_(nullptr), + referenced_tracer_(std::move(referenced_tracer)) {} + +ChannelTrace::TraceEvent::TraceEvent(grpc_slice data, grpc_error* error, + grpc_connectivity_state connectivity_state) + : data_(data), + error_(error), + timestamp_(grpc_millis_to_timespec(grpc_core::ExecCtx::Get()->Now(), + GPR_CLOCK_REALTIME)), + connectivity_state_(connectivity_state), + next_(nullptr) {} + ChannelTrace::TraceEvent::~TraceEvent() { GRPC_ERROR_UNREF(error_); grpc_slice_unref_internal(data_); @@ -72,7 +93,7 @@ ChannelTrace::~ChannelTrace() { gpr_mu_destroy(&tracer_mu_); } -intptr_t ChannelTrace::GetUuid() { return channel_uuid_; } +intptr_t ChannelTrace::GetUuid() const { return channel_uuid_; } void ChannelTrace::AddTraceEventHelper(TraceEvent* new_trace_event) { ++num_events_logged_; @@ -125,7 +146,7 @@ char* fmt_time(gpr_timespec tm) { } // anonymous namespace -void ChannelTrace::TraceEvent::RenderTraceEvent(grpc_json* json) { +void ChannelTrace::TraceEvent::RenderTraceEvent(grpc_json* json) const { grpc_json* json_iterator = nullptr; json_iterator = grpc_json_create_child(json_iterator, json, "description", grpc_slice_to_c_string(data_), @@ -150,7 +171,7 @@ void ChannelTrace::TraceEvent::RenderTraceEvent(grpc_json* json) { } json_iterator = grpc_json_create_child(json_iterator, json, "timestamp", - fmt_time(time_created_), GRPC_JSON_STRING, true); + fmt_time(timestamp_), GRPC_JSON_STRING, true); json_iterator = grpc_json_create_child(json_iterator, json, "state", grpc_connectivity_state_name(connectivity_state_), @@ -163,7 +184,7 @@ void ChannelTrace::TraceEvent::RenderTraceEvent(grpc_json* json) { } } -char* ChannelTrace::RenderTrace() { +char* ChannelTrace::RenderTrace() const { if (!max_list_size_) return nullptr; // tracing is disabled if max_events == 0 grpc_json* json = grpc_json_create(GRPC_JSON_OBJECT); diff --git a/src/core/lib/channel/channel_tracer.h b/src/core/lib/channel/channel_tracer.h index 976e66c49e9..3339be85e30 100644 --- a/src/core/lib/channel/channel_tracer.h +++ b/src/core/lib/channel/channel_tracer.h @@ -38,7 +38,7 @@ class ChannelTrace : public RefCounted { ~ChannelTrace(); // returns the tracer's uuid - intptr_t GetUuid(); + intptr_t GetUuid() const; // Adds a new trace event to the tracing object void AddTraceEvent(grpc_slice data, grpc_error* error, @@ -57,7 +57,7 @@ class ChannelTrace : public RefCounted { // Returns the tracing data rendered as a grpc json string. // The string is owned by the caller and must be freed. - char* RenderTrace(); + char* RenderTrace() const; private: // Private class to encapsulate all the data and bookkeeping needed for a @@ -69,41 +69,27 @@ class ChannelTrace : public RefCounted { // overall channelz object, not just the ChannelTrace object TraceEvent(grpc_slice data, grpc_error* error, grpc_connectivity_state connectivity_state, - RefCountedPtr referenced_tracer) - : data_(data), - error_(error), - connectivity_state_(connectivity_state), - next_(nullptr), - referenced_tracer_(std::move(referenced_tracer)) { - time_created_ = gpr_now(GPR_CLOCK_REALTIME); - } + RefCountedPtr referenced_tracer); // Constructor for a TraceEvent that does not reverence a different // channel. TraceEvent(grpc_slice data, grpc_error* error, - grpc_connectivity_state connectivity_state) - : data_(data), - error_(error), - connectivity_state_(connectivity_state), - next_(nullptr), - referenced_tracer_(nullptr) { - time_created_ = gpr_now(GPR_CLOCK_REALTIME); - } + grpc_connectivity_state connectivity_state); ~TraceEvent(); // Renders the data inside of this TraceEvent into a json object. This is // used by the ChannelTrace, when it is rendering itself. - void RenderTraceEvent(grpc_json* json); + void RenderTraceEvent(grpc_json* json) const; // set and get for the next_ pointer. - TraceEvent* next() { return next_; } + TraceEvent* next() const { return next_; } void set_next(TraceEvent* next) { next_ = next; } private: grpc_slice data_; grpc_error* error_; - gpr_timespec time_created_; + gpr_timespec timestamp_; grpc_connectivity_state connectivity_state_; TraceEvent* next_; // the tracer object for the (sub)channel that this trace event refers to. diff --git a/src/core/lib/surface/channel.cc b/src/core/lib/surface/channel.cc index 1488736c499..fb435b98817 100644 --- a/src/core/lib/surface/channel.cc +++ b/src/core/lib/surface/channel.cc @@ -21,6 +21,7 @@ #include "src/core/lib/surface/channel.h" #include +#include #include #include @@ -173,8 +174,8 @@ grpc_channel* grpc_channel_create_with_builder( } else if (0 == strcmp(args->args[i].key, GRPC_ARG_MAX_CHANNEL_TRACE_EVENTS_PER_NODE)) { GPR_ASSERT(channel_tracer_max_nodes == 0); - // max_nodes defaults to 0 (which is off), clamped between 0 and 100. - const grpc_integer_options options = {0, 0, 100}; + // max_nodes defaults to 0 (which is off), clamped between 0 and INT_MAX + const grpc_integer_options options = {0, 0, INT_MAX}; channel_tracer_max_nodes = (size_t)grpc_channel_arg_get_integer(&args->args[i], options); } diff --git a/test/core/channel/channel_tracer_test.cc b/test/core/channel/channel_tracer_test.cc index 78d4dad0b1d..d76daccbdb1 100644 --- a/test/core/channel/channel_tracer_test.cc +++ b/test/core/channel/channel_tracer_test.cc @@ -22,6 +22,8 @@ #include #include +#include + #include "src/core/lib/channel/channel_tracer.h" #include "src/core/lib/channel/object_registry.h" #include "src/core/lib/gpr/useful.h" @@ -30,9 +32,8 @@ #include "test/core/util/channel_tracing_utils.h" #include "test/core/util/test_config.h" -using grpc_core::ChannelTrace; -using grpc_core::MakeRefCounted; -using grpc_core::RefCountedPtr; +namespace grpc_core { +namespace testing { static void add_simple_trace_event(RefCountedPtr tracer) { tracer->AddTraceEvent(grpc_slice_from_static_string("simple trace"), @@ -99,7 +100,7 @@ static void test_basic_channel_tracing(size_t max_nodes) { // Calls basic test with various values for max_nodes (including 0, which turns // the tracer off). -static void test_basic_channel_sizing() { +TEST(ChannelTracerTest, BasicTest) { test_basic_channel_tracing(0); test_basic_channel_tracing(1); test_basic_channel_tracing(2); @@ -152,7 +153,7 @@ static void test_complex_channel_tracing(size_t max_nodes) { } // Calls the complex test with a sweep of sizes for max_nodes. -static void test_complex_channel_sizing() { +TEST(ChannelTracerTest, ComplexTest) { test_complex_channel_tracing(0); test_complex_channel_tracing(1); test_complex_channel_tracing(2); @@ -164,7 +165,7 @@ static void test_complex_channel_sizing() { // Test a case in which the parent channel has subchannels and the subchannels // have connections. Ensures that everything lives as long as it should then // gets deleted. -static void test_nesting() { +TEST(ChannelTracerTest, TestNesting) { grpc_core::ExecCtx exec_ctx; RefCountedPtr tracer = MakeRefCounted(10); add_simple_trace_event(tracer); @@ -195,14 +196,14 @@ static void test_nesting() { conn1.reset(nullptr); } +} // namespace testing +} // namespace grpc_core + int main(int argc, char** argv) { grpc_test_init(argc, argv); grpc_init(); - test_basic_channel_tracing(5); - test_basic_channel_sizing(); - test_complex_channel_tracing(5); - test_complex_channel_sizing(); - test_nesting(); + ::testing::InitGoogleTest(&argc, argv); + int ret = RUN_ALL_TESTS(); grpc_shutdown(); - return 0; + return ret; } diff --git a/tools/run_tests/generated/sources_and_headers.json b/tools/run_tests/generated/sources_and_headers.json index 94f45c82caf..e4741fc0d2b 100644 --- a/tools/run_tests/generated/sources_and_headers.json +++ b/tools/run_tests/generated/sources_and_headers.json @@ -916,23 +916,6 @@ "third_party": false, "type": "target" }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "is_filegroup": false, - "language": "c", - "name": "grpc_channel_tracer_test", - "src": [ - "test/core/channel/channel_tracer_test.cc" - ], - "third_party": false, - "type": "target" - }, { "deps": [ "gpr", @@ -2842,6 +2825,25 @@ "third_party": false, "type": "target" }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", + "grpc++_test", + "grpc_test_util" + ], + "headers": [], + "is_filegroup": false, + "language": "c++", + "name": "channel_tracer_test", + "src": [ + "test/core/channel/channel_tracer_test.cc" + ], + "third_party": false, + "type": "target" + }, { "deps": [ "gpr", diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index fdcac9318cb..4d86843f13c 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -1223,30 +1223,6 @@ ], "uses_polling": false }, - { - "args": [], - "benchmark": false, - "ci_platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "exclude_iomgrs": [], - "flaky": false, - "gtest": false, - "language": "c", - "name": "grpc_channel_tracer_test", - "platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "uses_polling": false - }, { "args": [], "benchmark": false, @@ -3361,6 +3337,30 @@ ], "uses_polling": false }, + { + "args": [], + "benchmark": false, + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "exclude_iomgrs": [], + "flaky": false, + "gtest": true, + "language": "c++", + "name": "channel_tracer_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "uses_polling": false + }, { "args": [], "benchmark": false,