do not leak reader or writer
diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc
index 3cd0ef5..7e827cb 100644
--- a/test/cpp/end2end/async_end2end_test.cc
+++ b/test/cpp/end2end/async_end2end_test.cc
@@ -32,7 +32,7 @@
*/
#include <chrono>
-#include <thread>
+#include <memory>
#include "test/core/util/test_config.h"
#include "test/cpp/util/echo_duplicate.pb.h"
@@ -177,8 +177,8 @@
ServerAsyncReader<EchoResponse, EchoRequest> srv_stream(&srv_ctx);
send_request.set_message("Hello");
- ClientAsyncWriter<EchoRequest>* cli_stream =
- stub_->RequestStream(&cli_ctx, &recv_response, &cli_cq_, tag(1));
+ std::unique_ptr<ClientAsyncWriter<EchoRequest> > cli_stream(
+ stub_->RequestStream(&cli_ctx, &recv_response, &cli_cq_, tag(1)));
service_.RequestRequestStream(
&srv_ctx, &srv_stream, &srv_cq_, tag(2));
@@ -231,8 +231,8 @@
ServerAsyncWriter<EchoResponse> srv_stream(&srv_ctx);
send_request.set_message("Hello");
- ClientAsyncReader<EchoResponse>* cli_stream =
- stub_->ResponseStream(&cli_ctx, send_request, &cli_cq_, tag(1));
+ std::unique_ptr<ClientAsyncReader<EchoResponse> > cli_stream(
+ stub_->ResponseStream(&cli_ctx, send_request, &cli_cq_, tag(1)));
service_.RequestResponseStream(
&srv_ctx, &recv_request, &srv_stream, &srv_cq_, tag(2));
@@ -282,8 +282,8 @@
ServerAsyncReaderWriter<EchoResponse, EchoRequest> srv_stream(&srv_ctx);
send_request.set_message("Hello");
- ClientAsyncReaderWriter<EchoRequest, EchoResponse>* cli_stream =
- stub_->BidiStream(&cli_ctx, &cli_cq_, tag(1));
+ std::unique_ptr<ClientAsyncReaderWriter<EchoRequest, EchoResponse> >
+ cli_stream(stub_->BidiStream(&cli_ctx, &cli_cq_, tag(1)));
service_.RequestBidiStream(
&srv_ctx, &srv_stream, &srv_cq_, tag(2));