Skip to content

Commit f7998db

Browse files
authored
Migrate binder transport end-to-end tests to use the existing testing service (grpc#27179)
* Use TestServiceImpl in binder end-to-end tests * Fix TSAN warnings
1 parent b9a997b commit f7998db

File tree

10 files changed

+424
-482
lines changed

10 files changed

+424
-482
lines changed

CMakeLists.txt

+14-51
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build_autogenerated.yaml

+6-51
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core/ext/transport/binder/transport/binder_stream.h

+4-3
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ struct grpc_binder_stream {
5252
refcount(refcount),
5353
arena(arena),
5454
tx_code(tx_code),
55-
is_client(is_client) {
55+
is_client(is_client),
56+
is_closed(false) {
5657
// TODO(waynetu): Should this be protected?
5758
t->registered_stream[tx_code] = this;
5859

@@ -79,8 +80,8 @@ struct grpc_binder_stream {
7980
grpc_core::Arena* arena;
8081
grpc_core::ManualConstructor<grpc_core::SliceBufferByteStream> sbs;
8182
int tx_code;
82-
bool is_client;
83-
bool is_closed = false;
83+
const bool is_client;
84+
bool is_closed;
8485

8586
grpc_closure* destroy_stream_then_closure = nullptr;
8687
grpc_closure destroy_stream;

src/core/ext/transport/binder/transport/binder_transport.cc

-12
Original file line numberDiff line numberDiff line change
@@ -482,10 +482,6 @@ static void perform_stream_op_locked(void* stream_op,
482482
tx_code, [tx_code, gbs,
483483
gbt](absl::StatusOr<grpc_binder::Metadata> initial_metadata) {
484484
grpc_core::ExecCtx exec_ctx;
485-
if (gbs->is_closed) {
486-
GRPC_BINDER_STREAM_UNREF(gbs, "recv_initial_metadata");
487-
return;
488-
}
489485
gbs->recv_initial_metadata_args.tx_code = tx_code;
490486
gbs->recv_initial_metadata_args.initial_metadata =
491487
std::move(initial_metadata);
@@ -506,10 +502,6 @@ static void perform_stream_op_locked(void* stream_op,
506502
gbt->transport_stream_receiver->RegisterRecvMessage(
507503
tx_code, [tx_code, gbs, gbt](absl::StatusOr<std::string> message) {
508504
grpc_core::ExecCtx exec_ctx;
509-
if (gbs->is_closed) {
510-
GRPC_BINDER_STREAM_UNREF(gbs, "recv_message");
511-
return;
512-
}
513505
gbs->recv_message_args.tx_code = tx_code;
514506
gbs->recv_message_args.message = std::move(message);
515507
gbt->combiner->Run(
@@ -530,10 +522,6 @@ static void perform_stream_op_locked(void* stream_op,
530522
absl::StatusOr<grpc_binder::Metadata> trailing_metadata,
531523
int status) {
532524
grpc_core::ExecCtx exec_ctx;
533-
if (gbs->is_closed) {
534-
GRPC_BINDER_STREAM_UNREF(gbs, "recv_trailing_metadata");
535-
return;
536-
}
537525
gbs->recv_trailing_metadata_args.tx_code = tx_code;
538526
gbs->recv_trailing_metadata_args.trailing_metadata =
539527
std::move(trailing_metadata);

test/core/transport/binder/end2end/BUILD

+2-23
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_package", "grpc_proto_library")
15+
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_package")
1616

1717
licenses(["notice"])
1818

@@ -72,26 +72,6 @@ grpc_cc_library(
7272
],
7373
)
7474

75-
grpc_proto_library(
76-
name = "echo_grpc_proto",
77-
srcs = ["echo.proto"],
78-
)
79-
80-
grpc_cc_library(
81-
name = "echo_service",
82-
testonly = 1,
83-
srcs = ["echo_service.cc"],
84-
hdrs = ["echo_service.h"],
85-
external_deps = [
86-
"absl/strings",
87-
"absl/strings:str_format",
88-
"absl/time",
89-
],
90-
deps = [
91-
":echo_grpc_proto",
92-
],
93-
)
94-
9575
grpc_cc_test(
9676
name = "end2end_binder_transport_test",
9777
srcs = ["end2end_binder_transport_test.cc"],
@@ -102,12 +82,12 @@ grpc_cc_test(
10282
],
10383
language = "C++",
10484
deps = [
105-
":echo_service",
10685
":end2end_binder_channel",
10786
":fake_binder",
10887
"//src/core/ext/transport/binder/transport:binder_transport",
10988
"//src/core/ext/transport/binder/wire_format:wire_reader",
11089
"//test/core/util:grpc_test_util",
90+
"//test/cpp/end2end:test_service_impl",
11191
],
11292
)
11393

@@ -121,7 +101,6 @@ grpc_cc_test(
121101
"//:grpc++",
122102
"//src/core/ext/transport/binder/client:grpc_transport_binder_client_impl",
123103
"//src/core/ext/transport/binder/server:grpc_transport_binder_server",
124-
"//test/core/transport/binder/end2end:echo_service",
125104
"//test/core/transport/binder/end2end:fake_binder",
126105
"//test/core/util:grpc_test_util",
127106
"//test/cpp/end2end:test_service_impl",

0 commit comments

Comments
 (0)