# Copyright 2017 gRPC authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. licenses(["notice"]) # Apache v2 load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package") grpc_package( name = "test/cpp/end2end", visibility = "public", ) # Allows external users to implement end2end tests. grpc_cc_library( name = "test_service_impl", testonly = True, srcs = ["test_service_impl.cc"], hdrs = ["test_service_impl.h"], external_deps = [ "gtest", ], deps = [ "//src/proto/grpc/testing:echo_proto", "//test/cpp/util:test_util", ], ) grpc_cc_library( name = "test_health_check_service_impl", testonly = True, srcs = ["test_health_check_service_impl.cc"], hdrs = ["test_health_check_service_impl.h"], deps = [ "//:grpc", "//:grpc++", "//src/proto/grpc/health/v1:health_proto", ], ) grpc_cc_library( name = "interceptors_util", testonly = True, srcs = ["interceptors_util.cc"], hdrs = ["interceptors_util.h"], external_deps = [ "gtest", ], deps = [ "//src/proto/grpc/testing:echo_proto", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "async_end2end_test", srcs = ["async_end2end_test.cc"], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/health/v1:health_proto", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "time_change_test", srcs = ["time_change_test.cc"], data = [ ":client_crash_test_server", ], external_deps = [ "gtest", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], tags = ["no_windows"], ) grpc_cc_test( name = "client_crash_test", srcs = ["client_crash_test.cc"], data = [ ":client_crash_test_server", ], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_binary( name = "client_crash_test_server", testonly = True, srcs = ["client_crash_test_server.cc"], external_deps = [ "gflags", "gtest", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_config", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "client_callback_end2end_test", srcs = ["client_callback_end2end_test.cc"], external_deps = [ "gtest", ], deps = [ ":interceptors_util", ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing:simple_messages_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "client_interceptors_end2end_test", srcs = ["client_interceptors_end2end_test.cc"], external_deps = [ "gtest", ], deps = [ ":interceptors_util", ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_library( name = "end2end_test_lib", testonly = True, srcs = ["end2end_test.cc"], external_deps = [ "gtest", ], deps = [ ":interceptors_util", ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "channelz_service_test", srcs = ["channelz_service_test.cc"], external_deps = [ "gtest", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//:grpcpp_channelz", "//src/proto/grpc/channelz:channelz_proto", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "server_early_return_test", srcs = ["server_early_return_test.cc"], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "end2end_test", size = "large", deps = [ ":end2end_test_lib", # DO NOT REMOVE THE grpc++ dependence below since the internal build # system uses it to specialize targets "//:grpc++", ], ) grpc_cc_test( name = "exception_test", srcs = ["exception_test.cc"], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "filter_end2end_test", srcs = ["filter_end2end_test.cc"], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "generic_end2end_test", srcs = ["generic_end2end_test.cc"], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "health_service_end2end_test", srcs = ["health_service_end2end_test.cc"], external_deps = [ "gtest", ], deps = [ ":test_health_check_service_impl", ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/health/v1:health_proto", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "hybrid_end2end_test", srcs = ["hybrid_end2end_test.cc"], external_deps = [ "gtest", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "raw_end2end_test", srcs = ["raw_end2end_test.cc"], external_deps = [ "gtest", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "mock_test", srcs = ["mock_test.cc"], external_deps = [ "gmock", "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//:grpc++_test", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "nonblocking_test", srcs = ["nonblocking_test.cc"], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "client_lb_end2end_test", srcs = ["client_lb_end2end_test.cc"], external_deps = [ "gmock", "gtest", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/core/util:test_lb_policies", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "service_config_end2end_test", srcs = ["service_config_end2end_test.cc"], external_deps = [ "gmock", "gtest", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "grpclb_end2end_test", srcs = ["grpclb_end2end_test.cc"], external_deps = [ "gmock", "gtest", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//:grpc_resolver_fake", "//src/proto/grpc/lb/v1:load_balancer_proto", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "xds_end2end_test", srcs = ["xds_end2end_test.cc"], external_deps = [ "gmock", "gtest", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//:grpc_resolver_fake", "//src/proto/grpc/lb/v1:load_balancer_proto", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "proto_server_reflection_test", srcs = ["proto_server_reflection_test.cc"], external_deps = [ "gtest", "gflags", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//:grpc++_reflection", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:grpc++_proto_reflection_desc_db", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "server_builder_plugin_test", srcs = ["server_builder_plugin_test.cc"], external_deps = [ "gtest", ], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "server_crash_test", srcs = ["server_crash_test.cc"], data = [ ":server_crash_test_client", ], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_binary( name = "server_crash_test_client", testonly = True, srcs = ["server_crash_test_client.cc"], external_deps = [ "gflags", "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_config", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "server_interceptors_end2end_test", srcs = ["server_interceptors_end2end_test.cc"], external_deps = [ "gtest", ], deps = [ ":interceptors_util", ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "server_load_reporting_end2end_test", srcs = ["server_load_reporting_end2end_test.cc"], external_deps = [ "gtest", "gmock", ], deps = [ "//:grpcpp_server_load_reporting", "//src/proto/grpc/testing:echo_proto", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "flaky_network_test", srcs = ["flaky_network_test.cc"], external_deps = [ "gtest", ], tags = ["manual"], deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "shutdown_test", srcs = ["shutdown_test.cc"], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "streaming_throughput_test", srcs = ["streaming_throughput_test.cc"], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], tags = ["no_windows"], ) grpc_cc_test( name = "thread_stress_test", timeout = "long", srcs = ["thread_stress_test.cc"], external_deps = [ "gtest", ], deps = [ "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing/duplicate:echo_duplicate_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "cfstream_test", srcs = ["cfstream_test.cc"], external_deps = [ "gtest", ], tags = ["manual"], # test requires root, won't work with bazel RBE deps = [ ":test_service_impl", "//:gpr", "//:grpc", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing:simple_messages_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], ) grpc_cc_test( name = "message_allocator_end2end_test", srcs = ["message_allocator_end2end_test.cc"], external_deps = [ "gtest", ], deps = [ ":test_service_impl", "//:grpc", "//:gpr", "//:grpc++", "//src/proto/grpc/testing:echo_messages_proto", "//src/proto/grpc/testing:echo_proto", "//src/proto/grpc/testing:simple_messages_proto", "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], )