|  | @@ -903,6 +903,7 @@ cxx_slice_test: $(BINDIR)/$(CONFIG)/cxx_slice_test
 | 
	
		
			
				|  |  |  cxx_string_ref_test: $(BINDIR)/$(CONFIG)/cxx_string_ref_test
 | 
	
		
			
				|  |  |  cxx_time_test: $(BINDIR)/$(CONFIG)/cxx_time_test
 | 
	
		
			
				|  |  |  end2end_test: $(BINDIR)/$(CONFIG)/end2end_test
 | 
	
		
			
				|  |  | +generic_async_streaming_ping_pong_test: $(BINDIR)/$(CONFIG)/generic_async_streaming_ping_pong_test
 | 
	
		
			
				|  |  |  generic_end2end_test: $(BINDIR)/$(CONFIG)/generic_end2end_test
 | 
	
		
			
				|  |  |  grpc_cli: $(BINDIR)/$(CONFIG)/grpc_cli
 | 
	
		
			
				|  |  |  grpc_cpp_plugin: $(BINDIR)/$(CONFIG)/grpc_cpp_plugin
 | 
	
	
		
			
				|  | @@ -1254,6 +1255,7 @@ buildtests_cxx: buildtests_zookeeper privatelibs_cxx \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/cxx_string_ref_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/cxx_time_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/end2end_test \
 | 
	
		
			
				|  |  | +  $(BINDIR)/$(CONFIG)/generic_async_streaming_ping_pong_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/generic_end2end_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/grpc_cli \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/interop_client \
 | 
	
	
		
			
				|  | @@ -1551,6 +1553,8 @@ test_cxx: test_zookeeper buildtests_cxx
 | 
	
		
			
				|  |  |  	$(Q) $(BINDIR)/$(CONFIG)/cxx_time_test || ( echo test cxx_time_test failed ; exit 1 )
 | 
	
		
			
				|  |  |  	$(E) "[RUN]     Testing end2end_test"
 | 
	
		
			
				|  |  |  	$(Q) $(BINDIR)/$(CONFIG)/end2end_test || ( echo test end2end_test failed ; exit 1 )
 | 
	
		
			
				|  |  | +	$(E) "[RUN]     Testing generic_async_streaming_ping_pong_test"
 | 
	
		
			
				|  |  | +	$(Q) $(BINDIR)/$(CONFIG)/generic_async_streaming_ping_pong_test || ( echo test generic_async_streaming_ping_pong_test failed ; exit 1 )
 | 
	
		
			
				|  |  |  	$(E) "[RUN]     Testing generic_end2end_test"
 | 
	
		
			
				|  |  |  	$(Q) $(BINDIR)/$(CONFIG)/generic_end2end_test || ( echo test generic_end2end_test failed ; exit 1 )
 | 
	
		
			
				|  |  |  	$(E) "[RUN]     Testing interop_test"
 | 
	
	
		
			
				|  | @@ -10026,6 +10030,48 @@ endif
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +GENERIC_ASYNC_STREAMING_PING_PONG_TEST_SRC = \
 | 
	
		
			
				|  |  | +    test/cpp/qps/generic_async_streaming_ping_pong_test.cc \
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +GENERIC_ASYNC_STREAMING_PING_PONG_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(GENERIC_ASYNC_STREAMING_PING_PONG_TEST_SRC))))
 | 
	
		
			
				|  |  | +ifeq ($(NO_SECURE),true)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# You can't build secure targets if you don't have OpenSSL.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$(BINDIR)/$(CONFIG)/generic_async_streaming_ping_pong_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)/generic_async_streaming_ping_pong_test: protobuf_dep_error
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$(BINDIR)/$(CONFIG)/generic_async_streaming_ping_pong_test: $(PROTOBUF_DEP) $(GENERIC_ASYNC_STREAMING_PING_PONG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(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) $(GENERIC_ASYNC_STREAMING_PING_PONG_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(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)/generic_async_streaming_ping_pong_test
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/cpp/qps/generic_async_streaming_ping_pong_test.o:  $(LIBDIR)/$(CONFIG)/libqps.a $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(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_generic_async_streaming_ping_pong_test: $(GENERIC_ASYNC_STREAMING_PING_PONG_TEST_OBJS:.o=.dep)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +ifneq ($(NO_SECURE),true)
 | 
	
		
			
				|  |  | +ifneq ($(NO_DEPS),true)
 | 
	
		
			
				|  |  | +-include $(GENERIC_ASYNC_STREAMING_PING_PONG_TEST_OBJS:.o=.dep)
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  GENERIC_END2END_TEST_SRC = \
 | 
	
		
			
				|  |  |      test/cpp/end2end/generic_end2end_test.cc \
 | 
	
		
			
				|  |  |  
 |