Merge Master

pull/37840/head
tanvi-jagtap 3 months ago
commit c6c3a0d5fb
  1. 24
      BUILD
  2. 9
      CMakeLists.txt
  3. 41
      bazel/grpc_build_system.bzl
  4. 9
      build_autogenerated.yaml
  5. 4
      examples/cpp/error_details/BUILD
  6. 2
      examples/cpp/health/BUILD
  7. 5
      include/grpc/event_engine/event_engine.h
  8. 15
      setup.py
  9. 12
      src/core/BUILD
  10. 2
      src/core/lib/event_engine/ares_resolver.cc
  11. 8
      src/core/lib/surface/client_call.cc
  12. 3
      src/core/lib/surface/init.cc
  13. 16
      src/core/lib/surface/server_call.cc
  14. 2
      src/core/lib/transport/promise_endpoint.h
  15. 1
      src/core/server/server.cc
  16. 11
      src/core/tsi/ssl_transport_security.cc
  17. 173
      src/core/util/latent_see.cc
  18. 38
      src/core/util/latent_see.h
  19. 8
      src/php/tests/unit_tests/PersistentChannelTests/PersistentChannelTest.php
  20. 22
      src/proto/grpc/channelz/BUILD
  21. 4
      src/proto/grpc/gcp/BUILD
  22. 18
      src/proto/grpc/health/v1/BUILD
  23. 42
      src/proto/grpc/lb/v1/BUILD
  24. 36
      src/proto/grpc/lookup/v1/BUILD
  25. 18
      src/proto/grpc/reflection/v1/BUILD
  26. 18
      src/proto/grpc/reflection/v1alpha/BUILD
  27. 14
      src/proto/grpc/status/BUILD
  28. 339
      src/proto/grpc/testing/BUILD
  29. 16
      src/proto/grpc/testing/duplicate/BUILD
  30. 7
      src/proto/grpc/testing/proto2/BUILD.bazel
  31. 644
      src/proto/grpc/testing/xds/v3/BUILD
  32. 4
      src/python/grpcio_channelz/grpc_channelz/v1/BUILD.bazel
  33. 4
      src/python/grpcio_health_checking/grpc_health/v1/BUILD.bazel
  34. 15
      src/python/grpcio_observability/setup.py
  35. 4
      src/python/grpcio_reflection/grpc_reflection/v1alpha/BUILD.bazel
  36. 2
      templates/tools/dockerfile/test/cxx_gcc_14_x64/Dockerfile.template
  37. 13
      test/core/call/yodel/BUILD
  38. 2
      test/core/call/yodel/grpc_yodel_test.bzl
  39. 12
      test/core/end2end/BUILD
  40. 30
      test/core/end2end/fuzzers/BUILD
  41. 12
      test/core/event_engine/fuzzing_event_engine/BUILD
  42. 4
      test/core/memory_usage/BUILD
  43. 4
      test/core/security/BUILD
  44. 22
      test/core/test_util/BUILD
  45. 17
      test/core/test_util/grpc_fuzzer.bzl
  46. 6
      test/core/transport/chaotic_good/BUILD
  47. 27
      test/core/tsi/alts/fake_handshaker/BUILD
  48. 14
      test/core/xds/BUILD
  49. 4
      test/cpp/codegen/BUILD
  50. 240
      test/cpp/end2end/BUILD
  51. 156
      test/cpp/end2end/xds/BUILD
  52. 2
      test/cpp/end2end/xds/xds_cluster_type_end2end_test.cc
  53. 10
      test/cpp/end2end/xds/xds_csds_end2end_test.cc
  54. 25
      test/cpp/end2end/xds/xds_end2end_test.cc
  55. 6
      test/cpp/end2end/xds/xds_end2end_test_lib.cc
  56. 6
      test/cpp/end2end/xds/xds_end2end_test_lib.h
  57. 2
      test/cpp/end2end/xds/xds_fallback_end2end_test.cc
  58. 8
      test/cpp/end2end/xds/xds_fault_injection_end2end_test.cc
  59. 8
      test/cpp/end2end/xds/xds_gcp_authn_end2end_test.cc
  60. 4
      test/cpp/end2end/xds/xds_http_connect_end2end_test.cc
  61. 8
      test/cpp/end2end/xds/xds_outlier_detection_end2end_test.cc
  62. 2
      test/cpp/end2end/xds/xds_pick_first_end2end_test.cc
  63. 4
      test/cpp/end2end/xds/xds_ring_hash_end2end_test.cc
  64. 1
      test/cpp/end2end/xds/xds_rls_end2end_test.cc
  65. 4
      test/cpp/end2end/xds/xds_routing_end2end_test.cc
  66. 2
      test/cpp/end2end/xds/xds_server.cc
  67. 9
      test/cpp/end2end/xds/xds_server.h
  68. 2
      test/cpp/end2end/xds/xds_utils.cc
  69. 4
      test/cpp/end2end/xds/xds_wrr_end2end_test.cc
  70. 6
      test/cpp/ext/filters/census/BUILD
  71. 6
      test/cpp/ext/filters/logging/BUILD
  72. 2
      test/cpp/ext/gcp/BUILD
  73. 2
      test/cpp/grpclb/BUILD
  74. 56
      test/cpp/interop/BUILD
  75. 8
      test/cpp/microbenchmarks/BUILD
  76. 2
      test/cpp/performance/BUILD
  77. 20
      test/cpp/qps/BUILD
  78. 6
      test/cpp/server/BUILD
  79. 2
      test/cpp/test/BUILD
  80. 30
      test/cpp/util/BUILD
  81. 6
      test/distrib/cpp/run_distrib_test_cmake_fetchcontent.sh
  82. 6
      test/distrib/cpp/run_distrib_test_cmake_module_install.sh
  83. 2
      tools/bazelify_tests/dockerimage_current_versions.bzl
  84. 2
      tools/bazelify_tests/test/portability_tests.bzl
  85. 11
      tools/buildgen/extract_metadata_from_bazel_xml.py
  86. 15
      tools/distrib/python/grpcio_tools/setup.py
  87. 1
      tools/dockerfile/test/cxx_gcc_12_x64.current_version
  88. 1
      tools/dockerfile/test/cxx_gcc_14_x64.current_version
  89. 2
      tools/dockerfile/test/cxx_gcc_14_x64/Dockerfile
  90. 3
      tools/interop_matrix/client_matrix.py
  91. 6
      tools/run_tests/run_tests.py
  92. 2
      tools/run_tests/run_tests_matrix.py

24
BUILD

@ -552,6 +552,7 @@ grpc_cc_library(
"absl/base:core_headers",
"absl/log:log",
"absl/time:time",
"address_sorting",
],
language = "c++",
public_hdrs = GRPC_PUBLIC_HDRS,
@ -625,6 +626,7 @@ grpc_cc_library(
"absl/base:core_headers",
"absl/log:log",
"absl/time:time",
"address_sorting",
],
language = "c++",
public_hdrs = GRPC_PUBLIC_HDRS,
@ -2057,7 +2059,7 @@ grpc_cc_library(
":gpr",
":grpc++",
":lb_load_reporter",
"//src/proto/grpc/lb/v1:load_reporter_proto",
"//src/proto/grpc/lb/v1:load_reporter_cc_grpc",
],
)
@ -2104,7 +2106,7 @@ grpc_cc_library(
"gpr",
"lb_get_cpu_stats",
"lb_load_data_store",
"//src/proto/grpc/lb/v1:load_reporter_proto",
"//src/proto/grpc/lb/v1:load_reporter_cc_grpc",
],
)
@ -2524,8 +2526,8 @@ grpc_cc_library(
"config_vars",
"grpc++",
"grpc++_config_proto",
"//src/proto/grpc/reflection/v1:reflection_proto",
"//src/proto/grpc/reflection/v1alpha:reflection_proto",
"//src/proto/grpc/reflection/v1:reflection_cc_grpc",
"//src/proto/grpc/reflection/v1alpha:reflection_cc_grpc",
],
alwayslink = 1,
)
@ -2633,7 +2635,7 @@ grpc_cc_library(
"grpc",
"grpc++",
"grpc++_config_proto",
"//src/proto/grpc/channelz:channelz_proto",
"//src/proto/grpc/channelz:channelz_cc_grpc",
],
alwayslink = 1,
)
@ -2656,7 +2658,7 @@ grpc_cc_library(
"gpr",
"grpc",
"grpc++_base",
"//src/proto/grpc/testing/xds/v3:csds_proto",
"//src/proto/grpc/testing/xds/v3:csds_cc_grpc",
],
alwayslink = 1,
)
@ -5141,7 +5143,7 @@ grpc_upb_proto_library(
grpc_upb_proto_library(
name = "grpc_health_upb",
deps = ["//src/proto/grpc/health/v1:health_proto_descriptor"],
deps = ["//src/proto/grpc/health/v1:health_proto"],
)
grpc_upb_proto_library(
@ -5161,7 +5163,7 @@ grpc_upb_proto_library(
grpc_upb_proto_library(
name = "grpc_lb_upb",
deps = ["//src/proto/grpc/lb/v1:load_balancer_proto_descriptor"],
deps = ["//src/proto/grpc/lb/v1:load_balancer_proto"],
)
grpc_upb_proto_library(
@ -5171,17 +5173,17 @@ grpc_upb_proto_library(
grpc_upb_proto_library(
name = "rls_upb",
deps = ["//src/proto/grpc/lookup/v1:rls_proto_descriptor"],
deps = ["//src/proto/grpc/lookup/v1:rls_proto"],
)
grpc_upb_proto_library(
name = "rls_config_upb",
deps = ["//src/proto/grpc/lookup/v1:rls_config_proto_descriptor"],
deps = ["//src/proto/grpc/lookup/v1:rls_config_proto"],
)
grpc_upb_proto_reflection_library(
name = "rls_config_upbdefs",
deps = ["//src/proto/grpc/lookup/v1:rls_config_proto_descriptor"],
deps = ["//src/proto/grpc/lookup/v1:rls_config_proto"],
)
WELL_KNOWN_PROTO_TARGETS = [

9
CMakeLists.txt generated

@ -6526,6 +6526,7 @@ target_link_libraries(activity_test
gtest
absl::config
absl::flat_hash_map
absl::function_ref
absl::hash
absl::type_traits
absl::statusor
@ -9184,6 +9185,7 @@ target_link_libraries(call_state_test
gtest
absl::config
absl::flat_hash_map
absl::function_ref
absl::hash
absl::type_traits
absl::statusor
@ -14231,6 +14233,7 @@ target_link_libraries(exec_ctx_wakeup_scheduler_test
upb_wire_lib
absl::config
absl::flat_hash_map
absl::function_ref
absl::hash
absl::type_traits
absl::statusor
@ -18619,6 +18622,7 @@ target_link_libraries(inter_activity_pipe_test
gtest
absl::config
absl::flat_hash_map
absl::function_ref
absl::hash
absl::type_traits
absl::statusor
@ -19503,6 +19507,7 @@ target_link_libraries(latch_test
gtest
absl::config
absl::flat_hash_map
absl::function_ref
absl::hash
absl::type_traits
absl::statusor
@ -20987,6 +20992,7 @@ target_link_libraries(mpsc_test
gtest
absl::config
absl::flat_hash_map
absl::function_ref
absl::hash
absl::type_traits
absl::statusor
@ -21490,6 +21496,7 @@ target_link_libraries(observable_test
gtest
absl::config
absl::flat_hash_map
absl::function_ref
absl::hash
absl::type_traits
absl::statusor
@ -23367,6 +23374,7 @@ target_link_libraries(promise_mutex_test
gtest
absl::config
absl::flat_hash_map
absl::function_ref
absl::hash
absl::type_traits
absl::statusor
@ -33162,6 +33170,7 @@ target_link_libraries(wait_for_callback_test
gtest
absl::config
absl::flat_hash_map
absl::function_ref
absl::hash
absl::type_traits
absl::statusor

@ -30,6 +30,7 @@ Contains macros used throughout the repo.
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test")
load("@build_bazel_rules_apple//apple/testing/default_runner:ios_test_runner.bzl", "ios_test_runner")
load("@com_google_protobuf//bazel:upb_proto_library.bzl", "upb_proto_library", "upb_proto_reflection_library")
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:cc_grpc_library.bzl", "cc_grpc_library")
load("//bazel:copts.bzl", "GRPC_DEFAULT_COPTS")
load("//bazel:experiments.bzl", "EXPERIMENTS", "EXPERIMENT_ENABLES", "EXPERIMENT_POLLERS")
@ -242,6 +243,25 @@ def grpc_proto_plugin(name, srcs = [], deps = []):
deps = deps,
)
def grpc_internal_proto_library(
name,
srcs = [],
deps = [],
visibility = None,
has_services = False): # buildifier: disable=unused-variable
proto_library(
name = name,
srcs = srcs,
deps = deps,
visibility = visibility,
)
def grpc_cc_proto_library(name, deps = [], visibility = None):
native.cc_proto_library(name = name, deps = deps, visibility = visibility)
# DO NOT USE -- callers should instead be changed to use separate
# grpc_internal_proto_library(), grpc_cc_proto_library(), and
# grpc_cc_grpc_library() rules.
def grpc_proto_library(
name,
srcs = [],
@ -262,6 +282,27 @@ def grpc_proto_library(
generate_mocks = generate_mocks,
)
def grpc_cc_grpc_library(
name,
srcs = [],
deps = [],
visibility = None,
generate_mocks = False):
"""A wrapper around cc_grpc_library that forces grpc_only=True.
Callers are expected to have their own proto_library() and
cc_proto_library() rules and then use this rule to produce only the
gRPC generated code.
"""
cc_grpc_library(
name = name,
srcs = srcs,
deps = deps,
visibility = visibility,
generate_mocks = generate_mocks,
grpc_only = True,
)
def ios_cc_test(
name,
tags = [],

@ -5255,6 +5255,7 @@ targets:
- gtest
- absl/base:config
- absl/container:flat_hash_map
- absl/functional:function_ref
- absl/hash:hash
- absl/meta:type_traits
- absl/status:statusor
@ -6586,6 +6587,7 @@ targets:
- gtest
- absl/base:config
- absl/container:flat_hash_map
- absl/functional:function_ref
- absl/hash:hash
- absl/meta:type_traits
- absl/status:statusor
@ -9848,6 +9850,7 @@ targets:
- upb_wire_lib
- absl/base:config
- absl/container:flat_hash_map
- absl/functional:function_ref
- absl/hash:hash
- absl/meta:type_traits
- absl/status:statusor
@ -12072,6 +12075,7 @@ targets:
- gtest
- absl/base:config
- absl/container:flat_hash_map
- absl/functional:function_ref
- absl/hash:hash
- absl/meta:type_traits
- absl/status:statusor
@ -12636,6 +12640,7 @@ targets:
- gtest
- absl/base:config
- absl/container:flat_hash_map
- absl/functional:function_ref
- absl/hash:hash
- absl/meta:type_traits
- absl/status:statusor
@ -13457,6 +13462,7 @@ targets:
- gtest
- absl/base:config
- absl/container:flat_hash_map
- absl/functional:function_ref
- absl/hash:hash
- absl/meta:type_traits
- absl/status:statusor
@ -13771,6 +13777,7 @@ targets:
- gtest
- absl/base:config
- absl/container:flat_hash_map
- absl/functional:function_ref
- absl/hash:hash
- absl/meta:type_traits
- absl/status:statusor
@ -14692,6 +14699,7 @@ targets:
- gtest
- absl/base:config
- absl/container:flat_hash_map
- absl/functional:function_ref
- absl/hash:hash
- absl/meta:type_traits
- absl/status:statusor
@ -20560,6 +20568,7 @@ targets:
- gtest
- absl/base:config
- absl/container:flat_hash_map
- absl/functional:function_ref
- absl/hash:hash
- absl/meta:type_traits
- absl/status:statusor

@ -21,7 +21,7 @@ cc_binary(
deps = [
"//:grpc++",
"//examples/protos:helloworld_cc_grpc",
"//src/proto/grpc/status:status_proto",
"//src/proto/grpc/status:status_cc_proto",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_googleapis//google/rpc:error_details_cc_proto",
@ -36,7 +36,7 @@ cc_binary(
"//:grpc++",
"//:grpc++_reflection",
"//examples/protos:helloworld_cc_grpc",
"//src/proto/grpc/status:status_proto",
"//src/proto/grpc/status:status_cc_proto",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/strings:str_format",

@ -21,7 +21,7 @@ cc_binary(
deps = [
"//:grpc++",
"//examples/protos:helloworld_cc_grpc",
"//src/proto/grpc/health/v1:health_proto",
"//src/proto/grpc/health/v1:health_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
],

@ -196,7 +196,10 @@ class EventEngine : public std::enable_shared_from_this<EventEngine>,
/// caller must ensure that the callback has access to the buffer when it
/// executes. Ownership of the buffer is not transferred. Either an error is
/// passed to the callback (like socket closed), or valid data is available
/// in the buffer, but never both at the same time.
/// in the buffer, but never both at the same time. Implementations that
/// receive valid data must not throw that data away - that is, if valid
/// data is received on the underlying endpoint, a callback will be made
/// with that data available and an ok status.
///
/// There can be at most one outstanding read per Endpoint at any given
/// time. An outstanding read is one in which the \a on_read callback has

@ -236,6 +236,21 @@ def check_linker_need_libatomic():
return cpp_test.returncode == 0
# When building extensions for macOS on a system running macOS 10.14 or newer,
# make sure they target macOS 10.14 or newer to use C++17 stdlib properly.
# This overrides the default behavior of distutils, which targets the macOS
# version Python was built on. You can further customize the target macOS
# version by setting the MACOSX_DEPLOYMENT_TARGET environment variable before
# running setup.py.
if sys.platform == "darwin":
if "MACOSX_DEPLOYMENT_TARGET" not in os.environ:
target_ver = sysconfig.get_config_var("MACOSX_DEPLOYMENT_TARGET")
if target_ver == "" or tuple(int(p) for p in target_ver.split(".")) < (
10,
14,
):
os.environ["MACOSX_DEPLOYMENT_TARGET"] = "10.14"
# There are some situations (like on Windows) where CC, CFLAGS, and LDFLAGS are
# entirely ignored/dropped/forgotten by distutils and its Cygwin/MinGW support.
# We use these environment variables to thus get around that without locking

@ -147,6 +147,7 @@ grpc_cc_library(
external_deps = [
"absl/base:core_headers",
"absl/functional:any_invocable",
"absl/functional:function_ref",
"absl/log",
"absl/strings",
"absl/types:optional",
@ -8046,6 +8047,7 @@ grpc_cc_library(
"grpc_promise_endpoint",
"if",
"inter_activity_pipe",
"latent_see",
"loop",
"map",
"memory_quota",
@ -8883,7 +8885,7 @@ grpc_upb_proto_library(
grpc_upb_proto_library(
name = "grpc_health_upb",
deps = ["//src/proto/grpc/health/v1:health_proto_descriptor"],
deps = ["//src/proto/grpc/health/v1:health_proto"],
)
grpc_upb_proto_library(
@ -8903,7 +8905,7 @@ grpc_upb_proto_library(
grpc_upb_proto_library(
name = "grpc_lb_upb",
deps = ["//src/proto/grpc/lb/v1:load_balancer_proto_descriptor"],
deps = ["//src/proto/grpc/lb/v1:load_balancer_proto"],
)
grpc_upb_proto_library(
@ -8913,17 +8915,17 @@ grpc_upb_proto_library(
grpc_upb_proto_library(
name = "rls_upb",
deps = ["//src/proto/grpc/lookup/v1:rls_proto_descriptor"],
deps = ["//src/proto/grpc/lookup/v1:rls_proto"],
)
grpc_upb_proto_library(
name = "rls_config_upb",
deps = ["//src/proto/grpc/lookup/v1:rls_config_proto_descriptor"],
deps = ["//src/proto/grpc/lookup/v1:rls_config_proto"],
)
grpc_upb_proto_reflection_library(
name = "rls_config_upbdefs",
deps = ["//src/proto/grpc/lookup/v1:rls_config_proto_descriptor"],
deps = ["//src/proto/grpc/lookup/v1:rls_config_proto"],
)
WELL_KNOWN_PROTO_TARGETS = [

@ -834,7 +834,6 @@ bool ShouldUseAresDnsResolver() {
absl::Status AresInit() {
if (ShouldUseAresDnsResolver()) {
address_sorting_init();
// ares_library_init and ares_library_cleanup are currently no-op except
// under Windows. Calling them may cause race conditions when other parts of
// the binary calls these functions concurrently.
@ -850,7 +849,6 @@ absl::Status AresInit() {
}
void AresShutdown() {
if (ShouldUseAresDnsResolver()) {
address_sorting_shutdown();
// ares_library_init and ares_library_cleanup are currently no-op except
// under Windows. Calling them may cause race conditions when other parts of
// the binary calls these functions concurrently.

@ -192,7 +192,9 @@ void ClientCall::ScheduleCommittedBatch(Batch batch) {
auto pending = std::make_unique<UnorderedStart>();
pending->start_pending_batch = [this,
batch = std::move(batch)]() mutable {
started_call_initiator_.SpawnInfallible("batch", std::move(batch));
started_call_initiator_.SpawnInfallible(
"batch",
GRPC_LATENT_SEE_PROMISE("ClientCallBatch", std::move(batch)));
};
while (true) {
pending->next = reinterpret_cast<UnorderedStart*>(cur_state);
@ -212,7 +214,9 @@ void ClientCall::ScheduleCommittedBatch(Batch batch) {
}
}
case kStarted:
started_call_initiator_.SpawnInfallible("batch", std::move(batch));
started_call_initiator_.SpawnInfallible(
"batch",
GRPC_LATENT_SEE_PROMISE("ClientCallBatch", std::move(batch)));
return;
case kCancelled:
return;

@ -18,6 +18,7 @@
#include "src/core/lib/surface/init.h"
#include <address_sorting/address_sorting.h>
#include <grpc/fork.h>
#include <grpc/grpc.h>
#include <grpc/impl/channel_arg_names.h>
@ -115,6 +116,7 @@ void grpc_init(void) {
}
grpc_iomgr_init();
if (grpc_core::IsEventEngineDnsEnabled()) {
address_sorting_init();
auto status = AresInit();
if (!status.ok()) {
VLOG(2) << "AresInit failed: " << status.message();
@ -138,6 +140,7 @@ void grpc_shutdown_internal_locked(void)
grpc_iomgr_shutdown_background_closure();
grpc_timer_manager_set_threading(false); // shutdown timer_manager thread
if (grpc_core::IsEventEngineDnsEnabled()) {
address_sorting_shutdown();
AresShutdown();
} else {
grpc_resolver_dns_ares_shutdown();

@ -50,6 +50,7 @@
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/server/server_interface.h"
#include "src/core/util/bitset.h"
#include "src/core/util/latent_see.h"
namespace grpc_core {
@ -193,13 +194,18 @@ void ServerCall::CommitBatch(const grpc_op* ops, size_t nops, void* notify_tag,
});
});
call_handler_.SpawnInfallible(
"final-batch", InfallibleBatch(std::move(primary_ops),
std::move(recv_trailing_metadata),
is_notify_tag_closure, notify_tag, cq_));
"final-batch",
GRPC_LATENT_SEE_PROMISE(
"ServerCallBatch",
InfallibleBatch(std::move(primary_ops),
std::move(recv_trailing_metadata),
is_notify_tag_closure, notify_tag, cq_)));
} else {
call_handler_.SpawnInfallible(
"batch", FallibleBatch(std::move(primary_ops), is_notify_tag_closure,
notify_tag, cq_));
"batch", GRPC_LATENT_SEE_PROMISE(
"ServerCallBatch",
FallibleBatch(std::move(primary_ops),
is_notify_tag_closure, notify_tag, cq_)));
}
}

@ -70,6 +70,7 @@ class PromiseEndpoint {
// `Write()` before the previous write finishes. Doing that results in
// undefined behavior.
auto Write(SliceBuffer data) {
GRPC_LATENT_SEE_PARENT_SCOPE("GRPC:Write");
// Start write and assert previous write finishes.
auto prev = write_state_->state.exchange(WriteState::kWriting,
std::memory_order_relaxed);
@ -132,6 +133,7 @@ class PromiseEndpoint {
// `Read()` before the previous read finishes. Doing that results in
// undefined behavior.
auto Read(size_t num_bytes) {
GRPC_LATENT_SEE_PARENT_SCOPE("GRPC:Read");
// Assert previous read finishes.
CHECK(!read_state_->complete.load(std::memory_order_relaxed));
// Should not have pending reads.

@ -976,6 +976,7 @@ grpc_error_handle Server::SetupTransport(
Transport* transport, grpc_pollset* accepting_pollset,
const ChannelArgs& args,
const RefCountedPtr<channelz::SocketNode>& socket_node) {
GRPC_LATENT_SEE_INNER_SCOPE("Server::SetupTransport");
// Create channel.
global_stats().IncrementServerChannelsCreated();
// Set up channelz node.

@ -1656,11 +1656,18 @@ static tsi_result ssl_handshaker_do_handshake(tsi_ssl_handshaker* impl,
default: {
char err_str[256];
ERR_error_string_n(ERR_get_error(), err_str, sizeof(err_str));
long verify_result = SSL_get_verify_result(impl->ssl);
std::string verify_result_str;
if (verify_result != X509_V_OK) {
const char* verify_err = X509_verify_cert_error_string(verify_result);
verify_result_str = absl::StrCat(": ", verify_err);
}
LOG(ERROR) << "Handshake failed with fatal error "
<< grpc_core::SslErrorString(ssl_result) << ": " << err_str;
<< grpc_core::SslErrorString(ssl_result) << ": " << err_str
<< verify_result_str;
if (error != nullptr) {
*error = absl::StrCat(grpc_core::SslErrorString(ssl_result), ": ",
err_str);
err_str, verify_result_str);
}
impl->result = TSI_PROTOCOL_FAILURE;
return impl->result;

@ -35,88 +35,109 @@ thread_local Bin* Log::bin_ = nullptr;
thread_local void* Log::bin_owner_ = nullptr;
std::atomic<uint64_t> Flow::next_flow_id_{1};
std::atomic<uintptr_t> Log::free_bins_{0};
const std::chrono::steady_clock::time_point start_time =
std::chrono::steady_clock::now();
std::string Log::GenerateJson() {
std::vector<RecordedEvent> events;
RingBuffer<RecordedEvent, Log::kMaxEventsPerCpu>* other;
for (auto& fragment : fragments_) {
{
MutexLock lock(&fragment.mu);
other = fragment.active;
if (fragment.active == &fragment.primary) {
fragment.active = &fragment.secondary;
} else {
fragment.active = &fragment.primary;
}
void Log::TryPullEventsAndFlush(
absl::FunctionRef<void(absl::Span<const RecordedEvent>)> callback) {
// Try to lock... if we fail then clear the active events.
// This guarantees freeing up memory even if we're still serializing the
// previous pull.
if (!mu_flushing_.TryLock()) {
for (auto& fragment : fragments_) {
MutexLock lock(&fragment.mu_active);
fragment.active.clear();
}
for (auto it = other->begin(); it != other->end(); ++it) {
events.push_back(*it);
}
other->Clear();
return;
}
absl::optional<std::chrono::steady_clock::time_point> start_time;
for (auto& event : events) {
if (!start_time.has_value() || *start_time > event.event.timestamp) {
start_time = event.event.timestamp;
}
// Now we hold the lock; swap all active fragments to flushing.
// This is relatively quick and ensures that we don't stall capture for
// long.
for (auto& fragment : fragments_) {
CHECK_EQ(fragment.flushing.size(), 0);
MutexLock lock(&fragment.mu_active);
fragment.flushing.swap(fragment.active);
}
// Now we've swapped out, call the callback repeatedly with each fragment.
// This is the slow part - there's a lot of copying and transformation that
// happens here.
// We keep the mu_flushing_ held so that we can guarantee only one thread is
// consumed by this at a time.
// Once we've called the callback for each fragment we can clear it, so that
// when we next swap it with the active fragment it will be empty.
// This also retains the memory, so if we're serializing with a regular
// cadence we'll tend to stabilize memory usage for latent_see relatively
// quickly.
for (auto& fragment : fragments_) {
callback(fragment.flushing);
fragment.flushing.clear();
}
if (!start_time.has_value()) return "[]";
mu_flushing_.Unlock();
}
absl::optional<std::string> Log::TryGenerateJson() {
using Nanos = std::chrono::duration<unsigned long long, std::nano>;
std::string json = "[\n";
bool first = true;
for (const auto& event : events) {
absl::string_view phase;
bool has_id;
switch (event.event.type) {
case EventType::kBegin:
phase = "B";
has_id = false;
break;
case EventType::kEnd:
phase = "E";
has_id = false;
break;
case EventType::kFlowStart:
phase = "s";
has_id = true;
break;
case EventType::kFlowEnd:
phase = "f";
has_id = true;
break;
case EventType::kMark:
phase = "i";
has_id = false;
break;
}
if (!first) absl::StrAppend(&json, ",\n");
first = false;
if (event.event.metadata->name[0] != '"') {
absl::StrAppend(&json, "{\"name\": \"", event.event.metadata->name,
"\", \"ph\": \"", phase, "\", \"ts\": ",
std::chrono::duration<unsigned long long, std::nano>(
event.event.timestamp - *start_time)
.count(),
", \"pid\": 0, \"tid\": ", event.thread_id);
} else {
absl::StrAppend(&json, "{\"name\": ", event.event.metadata->name,
", \"ph\": \"", phase, "\", \"ts\": ",
std::chrono::duration<unsigned long long, std::nano>(
event.event.timestamp - *start_time)
.count(),
", \"pid\": 0, \"tid\": ", event.thread_id);
}
int callbacks = 0;
TryPullEventsAndFlush([&](absl::Span<const RecordedEvent> events) {
++callbacks;
for (const auto& event : events) {
absl::string_view phase;
bool has_id;
switch (event.event.type) {
case EventType::kBegin:
phase = "B";
has_id = false;
break;
case EventType::kEnd:
phase = "E";
has_id = false;
break;
case EventType::kFlowStart:
phase = "s";
has_id = true;
break;
case EventType::kFlowEnd:
phase = "f";
has_id = true;
break;
case EventType::kMark:
phase = "i";
has_id = false;
break;
}
if (!first) {
absl::StrAppend(&json, ",\n");
}
first = false;
if (event.event.metadata->name[0] != '"') {
absl::StrAppend(
&json, "{\"name\": \"", event.event.metadata->name,
"\", \"ph\": \"", phase, "\", \"ts\": ",
Nanos(event.event.timestamp - start_time).count() / 1000.0,
", \"pid\": 0, \"tid\": ", event.thread_id);
} else {
absl::StrAppend(
&json, "{\"name\": ", event.event.metadata->name, ", \"ph\": \"",
phase, "\", \"ts\": ",
Nanos(event.event.timestamp - start_time).count() / 1000.0,
", \"pid\": 0, \"tid\": ", event.thread_id);
}
if (has_id) {
absl::StrAppend(&json, ", \"id\": ", event.event.id);
}
if (event.event.type == EventType::kFlowEnd) {
absl::StrAppend(&json, ", \"bp\": \"e\"");
if (has_id) {
absl::StrAppend(&json, ", \"id\": ", event.event.id);
}
if (event.event.type == EventType::kFlowEnd) {
absl::StrAppend(&json, ", \"bp\": \"e\"");
}
absl::StrAppend(&json, ", \"args\": {\"file\": \"",
event.event.metadata->file,
"\", \"line\": ", event.event.metadata->line,
", \"batch\": ", event.batch_id, "}}");
}
absl::StrAppend(&json, ", \"args\": {\"file\": \"",
event.event.metadata->file,
"\", \"line\": ", event.event.metadata->line,
", \"batch\": ", event.batch_id, "}}");
}
});
if (callbacks == 0) return absl::nullopt;
absl::StrAppend(&json, "\n]");
return json;
}
@ -129,9 +150,9 @@ void Log::FlushBin(Bin* bin) {
auto& fragment = log.fragments_.this_cpu();
const auto thread_id = thread_id_;
{
MutexLock lock(&fragment.mu);
MutexLock lock(&fragment.mu_active);
for (auto event : bin->events) {
fragment.active->Append(RecordedEvent{thread_id, batch_id, event});
fragment.active.push_back(RecordedEvent{thread_id, batch_id, event});
}
}
bin->events.clear();

@ -32,10 +32,10 @@
#include "absl/base/thread_annotations.h"
#include "absl/functional/any_invocable.h"
#include "absl/functional/function_ref.h"
#include "absl/log/log.h"
#include "absl/strings/string_view.h"
#include "src/core/util/per_cpu.h"
#include "src/core/util/ring_buffer.h"
#include "src/core/util/sync.h"
#define TAGGED_POINTER_SIZE_BITS 48
@ -71,9 +71,14 @@ struct Bin {
class Log {
public:
static constexpr int kMaxEventsPerCpu = 50000;
static constexpr uintptr_t kTagMask = (1ULL << TAGGED_POINTER_SIZE_BITS) - 1;
struct RecordedEvent {
uint64_t thread_id;
uint64_t batch_id;
Bin::Event event;
};
GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static uintptr_t IncrementTag(
uintptr_t input) {
return input + (1UL << TAGGED_POINTER_SIZE_BITS);
@ -115,14 +120,20 @@ class Log {
GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static Log& Get() {
static Log* log = []() {
atexit([] {
auto json = log->TryGenerateJson();
if (!json.has_value()) {
LOG(INFO) << "Failed to generate latent_see.json (contention with "
"another writer)";
return;
}
if (log->stats_flusher_ != nullptr) {
log->stats_flusher_(log->GenerateJson());
log->stats_flusher_(*json);
return;
}
LOG(INFO) << "Writing latent_see.json in " << get_current_dir_name();
FILE* f = fopen("latent_see.json", "w");
if (f == nullptr) return;
fprintf(f, "%s", log->GenerateJson().c_str());
fprintf(f, "%s", json->c_str());
fclose(f);
});
return new Log();
@ -130,7 +141,9 @@ class Log {
return *log;
}
std::string GenerateJson();
void TryPullEventsAndFlush(
absl::FunctionRef<void(absl::Span<const RecordedEvent>)> callback);
absl::optional<std::string> TryGenerateJson();
void OverrideStatsFlusher(
absl::AnyInvocable<void(absl::string_view)> stats_exporter) {
@ -142,11 +155,6 @@ class Log {
static void FlushBin(Bin* bin);
struct RecordedEvent {
uint64_t thread_id;
uint64_t batch_id;
Bin::Event event;
};
std::atomic<uint64_t> next_thread_id_{1};
std::atomic<uint64_t> next_batch_id_{1};
static thread_local uint64_t thread_id_;
@ -154,13 +162,11 @@ class Log {
static thread_local void* bin_owner_;
static std::atomic<uintptr_t> free_bins_;
absl::AnyInvocable<void(absl::string_view)> stats_flusher_ = nullptr;
Mutex mu_flushing_;
struct Fragment {
Fragment() : active(&primary) {};
Mutex mu;
RingBuffer<RecordedEvent, Log::kMaxEventsPerCpu>* active
ABSL_GUARDED_BY(mu);
RingBuffer<RecordedEvent, Log::kMaxEventsPerCpu> primary;
RingBuffer<RecordedEvent, Log::kMaxEventsPerCpu> secondary;
Mutex mu_active ABSL_ACQUIRED_AFTER(mu_flushing_);
std::vector<RecordedEvent> active ABSL_GUARDED_BY(mu_active);
std::vector<RecordedEvent> flushing ABSL_GUARDED_BY(&Log::mu_flushing_);
};
PerCpu<Fragment> fragments_{PerCpuOptions()};
};

@ -51,14 +51,6 @@ class PersistentChannelTest extends \PHPUnit\Framework\TestCase
$state == GRPC\CHANNEL_TRANSIENT_FAILURE);
}
public function testInitHelper()
{
// PersistentList is not empty at the beginning of the tests
// because phpunit will cache the channels created by other test
// files.
}
public function testChannelNotPersist()
{
$this->channel1 = new Grpc\Channel('localhost:1', ['force_new' => true]);

@ -12,8 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_grpc_library", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -22,16 +21,10 @@ grpc_package(
visibility = "public",
)
grpc_proto_library(
grpc_internal_proto_library(
name = "channelz_proto",
srcs = ["channelz.proto"],
has_services = True,
well_known_protos = True,
)
proto_library(
name = "channelz_proto_descriptors",
srcs = ["channelz.proto"],
deps = [
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:duration_proto",
@ -40,6 +33,17 @@ proto_library(
],
)
grpc_cc_proto_library(
name = "channelz_cc_proto",
deps = ["channelz_proto"],
)
grpc_cc_grpc_library(
name = "channelz_cc_grpc",
srcs = ["channelz_proto"],
deps = ["channelz_cc_proto"],
)
filegroup(
name = "channelz_proto_file",
srcs = [

@ -12,11 +12,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_internal_proto_library")
licenses(["notice"])
proto_library(
grpc_internal_proto_library(
name = "alts_handshaker_proto",
srcs = [
"altscontext.proto",

@ -12,8 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_grpc_library", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -22,14 +21,21 @@ grpc_package(
visibility = "public",
)
grpc_proto_library(
grpc_internal_proto_library(
name = "health_proto",
srcs = ["health.proto"],
has_services = True,
)
proto_library(
name = "health_proto_descriptor",
srcs = ["health.proto"],
grpc_cc_proto_library(
name = "health_cc_proto",
deps = ["health_proto"],
)
grpc_cc_grpc_library(
name = "health_cc_grpc",
srcs = ["health_proto"],
deps = ["health_cc_proto"],
)
filegroup(

@ -12,8 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_grpc_library", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -22,26 +21,43 @@ grpc_package(
visibility = "public",
)
grpc_proto_library(
grpc_internal_proto_library(
name = "load_balancer_proto",
srcs = [
"load_balancer.proto",
],
well_known_protos = True,
)
proto_library(
name = "load_balancer_proto_descriptor",
srcs = ["load_balancer.proto"],
has_services = True,
deps = [
"@com_google_protobuf//:duration_proto",
"@com_google_protobuf//:timestamp_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "load_balancer_cc_proto",
deps = ["load_balancer_proto"],
)
grpc_cc_grpc_library(
name = "load_balancer_cc_grpc",
srcs = ["load_balancer_proto"],
deps = ["load_balancer_cc_proto"],
)
grpc_internal_proto_library(
name = "load_reporter_proto",
srcs = ["load_reporter.proto"],
has_services = True,
well_known_protos = True,
deps = [
"@com_google_protobuf//:duration_proto",
],
)
grpc_cc_proto_library(
name = "load_reporter_cc_proto",
deps = ["load_reporter_proto"],
)
grpc_cc_grpc_library(
name = "load_reporter_cc_grpc",
srcs = ["load_reporter_proto"],
deps = ["load_reporter_cc_proto"],
)

@ -12,8 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_grpc_library", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -22,27 +21,38 @@ grpc_package(
visibility = "public",
)
grpc_proto_library(
grpc_internal_proto_library(
name = "rls_proto",
srcs = ["rls.proto"],
well_known_protos = True,
has_services = True,
)
grpc_proto_library(
name = "rls_config_proto",
srcs = ["rls_config.proto"],
well_known_protos = True,
grpc_cc_proto_library(
name = "rls_cc_proto",
deps = ["rls_proto"],
)
proto_library(
name = "rls_proto_descriptor",
srcs = ["rls.proto"],
grpc_cc_grpc_library(
name = "rls_cc_grpc",
srcs = ["rls_proto"],
deps = ["rls_cc_proto"],
)
proto_library(
name = "rls_config_proto_descriptor",
grpc_internal_proto_library(
name = "rls_config_proto",
srcs = ["rls_config.proto"],
deps = [
"@com_google_protobuf//:duration_proto",
],
)
grpc_cc_proto_library(
name = "rls_config_cc_proto",
deps = ["rls_config_proto"],
)
grpc_cc_grpc_library(
name = "rls_config_cc_grpc",
srcs = ["rls_config_proto"],
deps = ["rls_config_cc_proto"],
)

@ -12,8 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_grpc_library", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -22,14 +21,21 @@ grpc_package(
visibility = "public",
)
grpc_proto_library(
grpc_internal_proto_library(
name = "reflection_proto",
srcs = ["reflection.proto"],
has_services = True,
)
proto_library(
name = "reflection_proto_descriptor",
srcs = ["reflection.proto"],
grpc_cc_proto_library(
name = "reflection_cc_proto",
deps = ["reflection_proto"],
)
grpc_cc_grpc_library(
name = "reflection_cc_grpc",
srcs = ["reflection_proto"],
deps = ["reflection_cc_proto"],
)
filegroup(

@ -12,8 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_grpc_library", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -22,14 +21,21 @@ grpc_package(
visibility = "public",
)
grpc_proto_library(
grpc_internal_proto_library(
name = "reflection_proto",
srcs = ["reflection.proto"],
has_services = True,
)
proto_library(
name = "reflection_proto_descriptor",
srcs = ["reflection.proto"],
grpc_cc_proto_library(
name = "reflection_cc_proto",
deps = ["reflection_proto"],
)
grpc_cc_grpc_library(
name = "reflection_cc_grpc",
srcs = ["reflection_proto"],
deps = ["reflection_cc_proto"],
)
filegroup(

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -21,9 +21,15 @@ grpc_package(
visibility = "public",
)
grpc_proto_library(
grpc_internal_proto_library(
name = "status_proto",
srcs = ["status.proto"],
has_services = False,
well_known_protos = True,
deps = [
"@com_google_protobuf//:any_proto",
],
)
grpc_cc_proto_library(
name = "status_cc_proto",
deps = ["status_proto"],
)

@ -12,8 +12,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
load(
"//bazel:grpc_build_system.bzl",
"grpc_cc_grpc_library",
"grpc_cc_proto_library",
"grpc_internal_proto_library",
"grpc_package",
"grpc_proto_library",
)
load("//bazel:python_rules.bzl", "py_grpc_library", "py_proto_library")
licenses(["notice"])
@ -32,24 +38,45 @@ exports_files([
"test.proto",
])
grpc_proto_library(
grpc_internal_proto_library(
name = "compiler_test_proto",
srcs = ["compiler_test.proto"],
has_services = True,
)
grpc_cc_proto_library(
name = "compiler_test_cc_proto",
deps = ["compiler_test_proto"],
)
grpc_cc_grpc_library(
name = "compiler_test_cc_grpc",
srcs = ["compiler_test_proto"],
generate_mocks = True,
deps = ["compiler_test_cc_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "control_proto",
srcs = ["control.proto"],
has_services = False,
well_known_protos = True,
deps = [
"payloads_proto",
"stats_proto",
"@com_google_protobuf//:timestamp_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "control_cc_proto",
deps = ["control_proto"],
)
py_proto_library(
name = "control_py_pb2",
deps = [":control_proto"],
)
grpc_internal_proto_library(
name = "echo_messages_proto",
srcs = ["echo_messages.proto"],
deps = [
@ -57,237 +84,315 @@ grpc_proto_library(
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "echo_messages_cc_proto",
deps = ["echo_messages_proto"],
)
grpc_internal_proto_library(
name = "echo_proto",
srcs = ["echo.proto"],
generate_mocks = True,
has_services = True,
deps = [
"echo_messages_proto",
"simple_messages_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "echo_cc_proto",
deps = ["echo_proto"],
)
grpc_cc_grpc_library(
name = "echo_cc_grpc",
srcs = ["echo_proto"],
generate_mocks = True,
deps = [
"echo_cc_proto",
"echo_messages_cc_proto",
"simple_messages_cc_proto",
],
)
grpc_internal_proto_library(
name = "empty_proto",
srcs = ["empty.proto"],
has_services = False,
)
proto_library(
name = "empty_proto_descriptor",
srcs = ["empty.proto"],
grpc_cc_proto_library(
name = "empty_cc_proto",
deps = ["empty_proto"],
)
py_proto_library(
name = "empty_py_pb2",
deps = [":empty_proto_descriptor"],
deps = [":empty_proto"],
)
py_grpc_library(
name = "empty_py_pb2_grpc",
srcs = [":empty_proto_descriptor"],
srcs = [":empty_proto"],
deps = [":empty_py_pb2"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "messages_proto",
srcs = ["messages.proto"],
has_services = False,
)
proto_library(
name = "messages_proto_descriptor",
srcs = ["messages.proto"],
grpc_cc_proto_library(
name = "messages_cc_proto",
deps = ["messages_proto"],
)
py_proto_library(
name = "py_messages_proto",
deps = [":messages_proto_descriptor"],
deps = [":messages_proto"],
)
py_grpc_library(
name = "messages_py_pb2_grpc",
srcs = [":messages_proto_descriptor"],
srcs = [":messages_proto"],
deps = [":py_messages_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "metrics_proto",
srcs = ["metrics.proto"],
has_services = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "metrics_cc_proto",
deps = ["metrics_proto"],
)
grpc_cc_grpc_library(
name = "metrics_cc_grpc",
srcs = ["metrics_proto"],
deps = ["metrics_cc_proto"],
)
grpc_internal_proto_library(
name = "payloads_proto",
srcs = ["payloads.proto"],
has_services = False,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "payloads_cc_proto",
deps = ["payloads_proto"],
)
py_proto_library(
name = "payloads_py_pb2",
deps = [":payloads_proto"],
)
grpc_internal_proto_library(
name = "benchmark_service_proto",
srcs = ["benchmark_service.proto"],
has_services = True,
deps = [
"messages_proto",
],
)
proto_library(
name = "benchmark_service_descriptor",
srcs = ["benchmark_service.proto"],
deps = [":messages_proto_descriptor"],
grpc_cc_proto_library(
name = "benchmark_service_cc_proto",
deps = ["benchmark_service_proto"],
)
grpc_cc_grpc_library(
name = "benchmark_service_cc_grpc",
srcs = ["benchmark_service_proto"],
deps = [
"benchmark_service_cc_proto",
"messages_cc_proto",
],
)
py_proto_library(
name = "benchmark_service_py_pb2",
deps = [":benchmark_service_descriptor"],
deps = [":benchmark_service_proto"],
)
py_grpc_library(
name = "benchmark_service_py_pb2_grpc",
srcs = [":benchmark_service_descriptor"],
srcs = [":benchmark_service_proto"],
deps = [":benchmark_service_py_pb2"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "report_qps_scenario_service_proto",
srcs = ["report_qps_scenario_service.proto"],
has_services = True,
deps = [
"control_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "report_qps_scenario_service_cc_proto",
deps = ["report_qps_scenario_service_proto"],
)
grpc_cc_grpc_library(
name = "report_qps_scenario_service_cc_grpc",
srcs = ["report_qps_scenario_service_proto"],
deps = [
"control_cc_proto",
"report_qps_scenario_service_cc_proto",
],
)
grpc_internal_proto_library(
name = "worker_service_proto",
srcs = ["worker_service.proto"],
has_services = True,
deps = [
"control_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "worker_service_cc_proto",
deps = ["worker_service_proto"],
)
grpc_cc_grpc_library(
name = "worker_service_cc_grpc",
srcs = ["worker_service_proto"],
deps = [
"control_cc_proto",
"worker_service_cc_proto",
],
)
py_proto_library(
name = "worker_service_py_pb2",
deps = [":worker_service_proto"],
)
py_grpc_library(
name = "worker_service_py_pb2_grpc",
srcs = [":worker_service_proto"],
deps = [":worker_service_py_pb2"],
)
grpc_internal_proto_library(
name = "simple_messages_proto",
srcs = ["simple_messages.proto"],
)
grpc_proto_library(
name = "stats_proto",
srcs = ["stats.proto"],
has_services = False,
grpc_cc_proto_library(
name = "simple_messages_cc_proto",
deps = [":simple_messages_proto"],
)
grpc_proto_library(
name = "test_proto",
srcs = ["test.proto"],
deps = [
"empty_proto",
"messages_proto",
],
grpc_internal_proto_library(
name = "stats_proto",
srcs = ["stats.proto"],
)
# Test that grpc_proto_library/cc_grpc_library can consume generated files
genrule(
name = "messages_gen_proto_file",
srcs = ["messages.proto"],
outs = ["messages_gen.proto"],
cmd = "cp $< $@",
grpc_cc_proto_library(
name = "stats_cc_proto",
deps = ["stats_proto"],
)
grpc_proto_library(
name = "messages_gen_proto",
srcs = ["messages_gen_proto_file"],
has_services = False,
py_proto_library(
name = "stats_py_pb2",
deps = [":stats_proto"],
)
genrule(
name = "test_gen_proto_file",
grpc_internal_proto_library(
name = "test_proto",
srcs = ["test.proto"],
outs = ["test_gen.proto"],
cmd = "sed 's/messages.proto/messages_gen.proto/' $< > $@",
)
# Consume generated files in srcs and in deps
grpc_proto_library(
name = "test_gen_proto",
srcs = ["test_gen_proto_file"],
has_services = True,
deps = [
"empty_proto",
"messages_gen_proto",
"messages_proto",
],
)
proto_library(
name = "test_proto_descriptor",
srcs = ["test.proto"],
deps = [
":empty_proto_descriptor",
":messages_proto_descriptor",
],
grpc_cc_proto_library(
name = "test_cc_proto",
deps = ["test_proto"],
)
grpc_cc_grpc_library(
name = "test_cc_grpc",
srcs = ["test_proto"],
deps = ["test_cc_proto"],
)
py_proto_library(
name = "py_test_proto",
deps = [":test_proto_descriptor"],
deps = [":test_proto"],
)
py_grpc_library(
name = "test_py_pb2_grpc",
srcs = [":test_proto_descriptor"],
srcs = [":test_proto"],
deps = [":py_test_proto"],
)
proto_library(
name = "worker_service_descriptor",
srcs = ["worker_service.proto"],
deps = [":control_descriptor"],
grpc_internal_proto_library(
name = "istio_echo_proto",
srcs = ["istio_echo.proto"],
has_services = True,
deps = [
"@com_google_protobuf//:wrappers_proto",
],
)
py_proto_library(
name = "worker_service_py_pb2",
deps = [":worker_service_descriptor"],
grpc_cc_proto_library(
name = "istio_echo_cc_proto",
deps = ["istio_echo_proto"],
)
py_grpc_library(
name = "worker_service_py_pb2_grpc",
srcs = [":worker_service_descriptor"],
deps = [":worker_service_py_pb2"],
grpc_cc_grpc_library(
name = "istio_echo_cc_grpc",
srcs = ["istio_echo_proto"],
deps = ["istio_echo_cc_proto"],
)
proto_library(
name = "stats_descriptor",
srcs = ["stats.proto"],
# Test that grpc_proto_library/cc_grpc_library can consume generated files
genrule(
name = "messages_gen_proto_file",
srcs = ["messages.proto"],
outs = ["messages_gen.proto"],
cmd = "cp $< $@",
)
py_proto_library(
name = "stats_py_pb2",
deps = [":stats_descriptor"],
grpc_proto_library(
name = "messages_gen_proto",
srcs = ["messages_gen_proto_file"],
has_services = False,
)
proto_library(
name = "payloads_descriptor",
srcs = ["payloads.proto"],
genrule(
name = "test_gen_proto_file",
srcs = ["test.proto"],
outs = ["test_gen.proto"],
cmd = "sed 's/messages.proto/messages_gen.proto/' $< > $@",
)
py_proto_library(
name = "payloads_py_pb2",
deps = [":payloads_descriptor"],
# The test_gen_proto rule below expects the name that grpc_proto_library
# would have generated for the dependency, but the dependency was actually
# generated by a separate proto_library rule, so we use an alias to make
# things work.
alias(
name = "_empty_proto_only",
actual = "empty_proto",
)
proto_library(
name = "control_descriptor",
srcs = ["control.proto"],
# Consume generated files in srcs and in deps
grpc_proto_library(
name = "test_gen_proto",
srcs = ["test_gen_proto_file"],
deps = [
":payloads_descriptor",
":stats_descriptor",
"@com_google_protobuf//:timestamp_proto",
"empty_proto",
"messages_gen_proto",
],
)
py_proto_library(
name = "control_py_pb2",
deps = [":control_descriptor"],
)
grpc_proto_library(
name = "istio_echo_proto",
srcs = ["istio_echo.proto"],
well_known_protos = True,
)

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_grpc_library", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -21,8 +21,20 @@ grpc_package(
visibility = "public",
)
grpc_proto_library(
grpc_internal_proto_library(
name = "echo_duplicate_proto",
srcs = ["echo_duplicate.proto"],
has_services = True,
deps = ["//src/proto/grpc/testing:echo_messages_proto"],
)
grpc_cc_proto_library(
name = "echo_duplicate_cc_proto",
deps = ["echo_duplicate_proto"],
)
grpc_cc_grpc_library(
name = "echo_duplicate_cc_grpc",
srcs = ["echo_duplicate_proto"],
deps = ["echo_duplicate_cc_proto"],
)

@ -11,12 +11,13 @@
# 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.
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_internal_proto_library")
load("//bazel:python_rules.bzl", "py_proto_library")
package(default_visibility = ["//visibility:public"])
proto_library(
grpc_internal_proto_library(
name = "empty2_proto_descriptor",
srcs = ["empty2.proto"],
)
@ -26,7 +27,7 @@ py_proto_library(
deps = [":empty2_proto_descriptor"],
)
proto_library(
grpc_internal_proto_library(
name = "empty2_extensions_proto_descriptor",
srcs = ["empty2_extensions.proto"],
deps = [

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_grpc_library", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
load("//bazel:python_rules.bzl", "py_grpc_library", "py_proto_library")
licenses(["notice"])
@ -26,68 +26,93 @@ grpc_package(
visibility = "tests",
)
grpc_proto_library(
grpc_internal_proto_library(
name = "address_proto",
srcs = [
"address.proto",
srcs = ["address.proto"],
deps = [
"@com_google_protobuf//:wrappers_proto",
],
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "address_cc_proto",
deps = ["address_proto"],
)
grpc_internal_proto_library(
name = "percent_proto",
srcs = [
"percent.proto",
],
srcs = ["percent.proto"],
)
grpc_cc_proto_library(
name = "percent_cc_proto",
deps = ["percent_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "base_proto",
srcs = [
"base.proto",
],
well_known_protos = True,
srcs = ["base.proto"],
deps = [
"percent_proto",
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:struct_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "base_cc_proto",
deps = ["base_proto"],
)
grpc_internal_proto_library(
name = "discovery_proto",
srcs = [
"discovery.proto",
],
well_known_protos = True,
srcs = ["discovery.proto"],
has_services = True,
deps = [
"base_proto",
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:duration_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "discovery_cc_proto",
deps = ["discovery_proto"],
)
grpc_internal_proto_library(
name = "ads_proto",
srcs = [
"ads.proto",
],
srcs = ["ads.proto"],
has_services = True,
well_known_protos = True,
deps = [
"discovery_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "ads_cc_proto",
deps = ["ads_proto"],
)
grpc_cc_grpc_library(
name = "ads_cc_grpc",
srcs = ["ads_proto"],
deps = ["ads_cc_proto"],
)
grpc_internal_proto_library(
name = "config_source_proto",
srcs = [
"config_source.proto",
],
srcs = ["config_source.proto"],
)
grpc_cc_proto_library(
name = "config_source_cc_proto",
deps = ["config_source_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "cluster_proto",
srcs = [
"cluster.proto",
],
well_known_protos = True,
srcs = ["cluster.proto"],
deps = [
"base_proto",
"config_source_proto",
@ -95,152 +120,217 @@ grpc_proto_library(
"extension_proto",
"health_check_proto",
"outlier_detection_proto",
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:wrappers_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "cluster_cc_proto",
deps = ["cluster_proto"],
)
grpc_internal_proto_library(
name = "endpoint_proto",
srcs = [
"endpoint.proto",
],
well_known_protos = True,
srcs = ["endpoint.proto"],
deps = [
"address_proto",
"base_proto",
"health_check_proto",
"percent_proto",
"@com_google_protobuf//:wrappers_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "endpoint_cc_proto",
deps = ["endpoint_proto"],
)
grpc_internal_proto_library(
name = "health_check_proto",
srcs = [
"health_check.proto",
],
srcs = ["health_check.proto"],
)
grpc_cc_proto_library(
name = "health_check_cc_proto",
deps = ["health_check_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "extension_proto",
srcs = [
"extension.proto",
srcs = ["extension.proto"],
deps = [
"@com_google_protobuf//:any_proto",
],
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "extension_cc_proto",
deps = ["extension_proto"],
)
grpc_internal_proto_library(
name = "path_proto",
srcs = [
"path.proto",
],
well_known_protos = True,
srcs = ["path.proto"],
deps = [
"string_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "path_cc_proto",
deps = ["path_proto"],
)
grpc_internal_proto_library(
name = "listener_proto",
srcs = [
"listener.proto",
],
well_known_protos = True,
srcs = ["listener.proto"],
deps = [
"address_proto",
"base_proto",
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:wrappers_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "listener_cc_proto",
deps = ["listener_proto"],
)
grpc_internal_proto_library(
name = "load_report_proto",
srcs = [
"load_report.proto",
],
well_known_protos = True,
srcs = ["load_report.proto"],
deps = [
"address_proto",
"base_proto",
"@com_google_protobuf//:duration_proto",
"@com_google_protobuf//:struct_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "load_report_cc_proto",
deps = ["load_report_proto"],
)
grpc_internal_proto_library(
name = "lrs_proto",
srcs = [
"lrs.proto",
],
srcs = ["lrs.proto"],
has_services = True,
well_known_protos = True,
deps = [
"base_proto",
"load_report_proto",
"@com_google_protobuf//:duration_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "lrs_cc_proto",
deps = ["lrs_proto"],
)
grpc_cc_grpc_library(
name = "lrs_cc_grpc",
srcs = ["lrs_proto"],
deps = ["lrs_cc_proto"],
)
grpc_internal_proto_library(
name = "orca_load_report_proto",
srcs = [
"orca_load_report.proto",
],
srcs = ["orca_load_report.proto"],
)
grpc_cc_proto_library(
name = "orca_load_report_cc_proto",
deps = ["orca_load_report_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "orca_service_proto",
srcs = [
"orca_service.proto",
],
srcs = ["orca_service.proto"],
has_services = True,
well_known_protos = True,
deps = [
"orca_load_report_proto",
"@com_google_protobuf//:duration_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "orca_service_cc_proto",
deps = ["orca_service_proto"],
)
grpc_cc_grpc_library(
name = "orca_service_cc_grpc",
srcs = ["orca_service_proto"],
deps = ["orca_service_cc_proto"],
)
grpc_internal_proto_library(
name = "outlier_detection_proto",
srcs = [
"outlier_detection.proto",
srcs = ["outlier_detection.proto"],
deps = [
"@com_google_protobuf//:duration_proto",
"@com_google_protobuf//:wrappers_proto",
],
has_services = True,
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "outlier_detection_cc_proto",
deps = ["outlier_detection_proto"],
)
grpc_internal_proto_library(
name = "protocol_proto",
srcs = [
"protocol.proto",
srcs = ["protocol.proto"],
deps = [
"@com_google_protobuf//:duration_proto",
],
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "protocol_cc_proto",
deps = ["protocol_proto"],
)
grpc_internal_proto_library(
name = "http_protocol_options_proto",
srcs = [
"http_protocol_options.proto",
],
srcs = ["http_protocol_options.proto"],
deps = [
"protocol_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "http_protocol_options_cc_proto",
deps = ["http_protocol_options_proto"],
)
grpc_internal_proto_library(
name = "range_proto",
srcs = [
"range.proto",
],
srcs = ["range.proto"],
)
grpc_cc_proto_library(
name = "range_cc_proto",
deps = ["range_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "regex_proto",
srcs = [
"regex.proto",
],
srcs = ["regex.proto"],
)
grpc_cc_proto_library(
name = "regex_cc_proto",
deps = ["regex_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "route_proto",
srcs = [
"route.proto",
],
well_known_protos = True,
srcs = ["route.proto"],
deps = [
"base_proto",
"extension_proto",
@ -248,151 +338,204 @@ grpc_proto_library(
"range_proto",
"regex_proto",
"string_proto",
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:duration_proto",
"@com_google_protobuf//:wrappers_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "route_cc_proto",
deps = ["route_proto"],
)
grpc_internal_proto_library(
name = "http_connection_manager_proto",
srcs = [
"http_connection_manager.proto",
],
well_known_protos = True,
srcs = ["http_connection_manager.proto"],
deps = [
"config_source_proto",
"extension_proto",
"protocol_proto",
"route_proto",
"@com_google_protobuf//:any_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "http_connection_manager_cc_proto",
deps = ["http_connection_manager_proto"],
)
grpc_internal_proto_library(
name = "router_proto",
srcs = [
"router.proto",
],
srcs = ["router.proto"],
)
grpc_cc_proto_library(
name = "router_cc_proto",
deps = ["router_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "string_proto",
srcs = [
"string.proto",
],
well_known_protos = True,
srcs = ["string.proto"],
deps = [
"regex_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "string_cc_proto",
deps = ["string_proto"],
)
grpc_internal_proto_library(
name = "aggregate_cluster_proto",
srcs = [
"aggregate_cluster.proto",
],
well_known_protos = True,
srcs = ["aggregate_cluster.proto"],
deps = [
"string_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "aggregate_cluster_cc_proto",
deps = ["aggregate_cluster_proto"],
)
grpc_internal_proto_library(
name = "fault_common_proto",
srcs = [
"fault_common.proto",
],
well_known_protos = True,
srcs = ["fault_common.proto"],
deps = [
"percent_proto",
"@com_google_protobuf//:duration_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "fault_common_cc_proto",
deps = ["fault_common_proto"],
)
grpc_internal_proto_library(
name = "tls_proto",
srcs = [
"tls.proto",
],
well_known_protos = True,
srcs = ["tls.proto"],
deps = [
"base_proto",
"extension_proto",
"string_proto",
"@com_google_protobuf//:wrappers_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "tls_cc_proto",
deps = ["tls_proto"],
)
grpc_internal_proto_library(
name = "upstream_http_11_connect_proto",
srcs = [
"upstream_http_11_connect.proto",
],
srcs = ["upstream_http_11_connect.proto"],
deps = [
"base_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "upstream_http_11_connect_cc_proto",
deps = ["upstream_http_11_connect_proto"],
)
grpc_internal_proto_library(
name = "config_dump_proto",
srcs = [
"config_dump.proto",
srcs = ["config_dump.proto"],
deps = [
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:timestamp_proto",
],
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "config_dump_cc_proto",
deps = ["config_dump_proto"],
)
grpc_internal_proto_library(
name = "csds_proto",
srcs = [
"csds.proto",
],
# Needs to be visible to //:grpcpp_csds
visibility = ["//:__subpackages__"],
well_known_protos = True,
srcs = ["csds.proto"],
has_services = True,
deps = [
"base_proto",
"config_dump_proto",
"@com_google_protobuf//:any_proto",
"@com_google_protobuf//:timestamp_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "csds_cc_proto",
deps = ["csds_proto"],
)
grpc_cc_grpc_library(
name = "csds_cc_grpc",
srcs = ["csds_proto"],
# Needs to be visible to //:grpcpp_csds
visibility = ["//:__subpackages__"],
deps = ["csds_cc_proto"],
)
grpc_internal_proto_library(
name = "fault_proto",
srcs = [
"fault.proto",
],
well_known_protos = True,
srcs = ["fault.proto"],
deps = [
"fault_common_proto",
"percent_proto",
"route_proto",
"@com_google_protobuf//:wrappers_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "fault_cc_proto",
deps = ["fault_proto"],
)
grpc_internal_proto_library(
name = "gcp_authn_proto",
srcs = [
"gcp_authn.proto",
srcs = ["gcp_authn.proto"],
deps = [
"@com_google_protobuf//:wrappers_proto",
],
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "gcp_authn_cc_proto",
deps = ["gcp_authn_proto"],
)
grpc_internal_proto_library(
name = "metadata_proto",
srcs = [
"metadata.proto",
],
well_known_protos = True,
srcs = ["metadata.proto"],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "metadata_cc_proto",
deps = ["metadata_proto"],
)
grpc_internal_proto_library(
name = "expr_proto",
srcs = [
"expr.proto",
],
well_known_protos = True,
srcs = ["expr.proto"],
)
grpc_cc_proto_library(
name = "expr_cc_proto",
deps = ["expr_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "rbac_proto",
srcs = [
"rbac.proto",
],
well_known_protos = True,
srcs = ["rbac.proto"],
deps = [
"address_proto",
"expr_proto",
@ -405,134 +548,181 @@ grpc_proto_library(
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "rbac_cc_proto",
deps = ["rbac_proto"],
)
grpc_internal_proto_library(
name = "http_filter_rbac_proto",
srcs = [
"http_filter_rbac.proto",
],
well_known_protos = True,
srcs = ["http_filter_rbac.proto"],
deps = [
"rbac_proto",
],
)
# Contains stdout audit logger.
grpc_proto_library(
grpc_cc_proto_library(
name = "http_filter_rbac_cc_proto",
deps = ["http_filter_rbac_proto"],
)
grpc_internal_proto_library(
name = "audit_logger_stream_proto",
srcs = [
"audit_logger_stream.proto",
],
srcs = ["audit_logger_stream.proto"],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "audit_logger_stream_cc_proto",
deps = ["audit_logger_stream_proto"],
)
grpc_internal_proto_library(
name = "client_side_weighted_round_robin_proto",
srcs = [
"client_side_weighted_round_robin.proto",
srcs = ["client_side_weighted_round_robin.proto"],
deps = [
"@com_google_protobuf//:duration_proto",
"@com_google_protobuf//:wrappers_proto",
],
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "client_side_weighted_round_robin_cc_proto",
deps = ["client_side_weighted_round_robin_proto"],
)
grpc_internal_proto_library(
name = "pick_first_proto",
srcs = [
"pick_first.proto",
],
well_known_protos = True,
srcs = ["pick_first.proto"],
)
grpc_cc_proto_library(
name = "pick_first_cc_proto",
deps = ["pick_first_proto"],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "ring_hash_proto",
srcs = [
"ring_hash.proto",
srcs = ["ring_hash.proto"],
deps = [
"@com_google_protobuf//:wrappers_proto",
],
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "ring_hash_cc_proto",
deps = ["ring_hash_proto"],
)
grpc_internal_proto_library(
name = "round_robin_proto",
srcs = [
"round_robin.proto",
],
well_known_protos = True,
srcs = ["round_robin.proto"],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "round_robin_cc_proto",
deps = ["round_robin_proto"],
)
grpc_internal_proto_library(
name = "wrr_locality_proto",
srcs = [
"wrr_locality.proto",
],
well_known_protos = True,
srcs = ["wrr_locality.proto"],
deps = [
"cluster_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "wrr_locality_cc_proto",
deps = ["wrr_locality_proto"],
)
grpc_internal_proto_library(
name = "typed_struct_proto",
srcs = [
"typed_struct.proto",
srcs = ["typed_struct.proto"],
deps = [
"@com_google_protobuf//:struct_proto",
],
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "typed_struct_cc_proto",
deps = ["typed_struct_proto"],
)
grpc_internal_proto_library(
name = "udpa_typed_struct_proto",
srcs = [
"udpa_typed_struct.proto",
srcs = ["udpa_typed_struct.proto"],
deps = [
"@com_google_protobuf//:struct_proto",
],
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "udpa_typed_struct_cc_proto",
deps = ["udpa_typed_struct_proto"],
)
grpc_internal_proto_library(
name = "cookie_proto",
srcs = [
"cookie.proto",
srcs = ["cookie.proto"],
deps = [
"@com_google_protobuf//:duration_proto",
],
well_known_protos = True,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "cookie_cc_proto",
deps = ["cookie_proto"],
)
grpc_internal_proto_library(
name = "stateful_session_cookie_proto",
srcs = [
"stateful_session_cookie.proto",
],
srcs = ["stateful_session_cookie.proto"],
deps = [
"cookie_proto",
],
)
grpc_proto_library(
grpc_cc_proto_library(
name = "stateful_session_cookie_cc_proto",
deps = ["stateful_session_cookie_proto"],
)
grpc_internal_proto_library(
name = "stateful_session_proto",
srcs = [
"stateful_session.proto",
],
srcs = ["stateful_session.proto"],
deps = [
"extension_proto",
],
)
grpc_cc_proto_library(
name = "stateful_session_cc_proto",
deps = ["stateful_session_proto"],
)
py_proto_library(
name = "csds_py_pb2",
deps = [":_csds_proto_only"],
deps = [":csds_proto"],
)
py_grpc_library(
name = "csds_py_pb2_grpc",
srcs = [":_csds_proto_only"],
srcs = [":csds_proto"],
deps = [":csds_py_pb2"],
)
py_proto_library(
name = "config_dump_py_pb2",
deps = [":_config_dump_proto_only"],
deps = [":config_dump_proto"],
)
py_proto_library(
name = "base_py_pb2",
deps = [":_base_proto_only"],
deps = [":base_proto"],
)
py_proto_library(
name = "percent_py_pb2",
deps = [":_percent_proto_only"],
deps = [":percent_proto"],
)

@ -19,12 +19,12 @@ package(default_visibility = ["//visibility:public"])
py_proto_library(
name = "channelz_py_pb2",
imports = ["../../"],
deps = ["//src/proto/grpc/channelz:channelz_proto_descriptors"],
deps = ["//src/proto/grpc/channelz:channelz_proto"],
)
py_grpc_library(
name = "channelz_py_pb2_grpc",
srcs = ["//src/proto/grpc/channelz:channelz_proto_descriptors"],
srcs = ["//src/proto/grpc/channelz:channelz_proto"],
strip_prefixes = ["src.python.grpcio_channelz."],
deps = [":channelz_py_pb2"],
)

@ -19,12 +19,12 @@ package(default_visibility = ["//visibility:public"])
py_proto_library(
name = "health_py_pb2",
imports = ["../../"],
deps = ["//src/proto/grpc/health/v1:health_proto_descriptor"],
deps = ["//src/proto/grpc/health/v1:health_proto"],
)
py_grpc_library(
name = "health_py_pb2_grpc",
srcs = ["//src/proto/grpc/health/v1:health_proto_descriptor"],
srcs = ["//src/proto/grpc/health/v1:health_proto"],
strip_prefixes = ["src.python.grpcio_health_checking."],
deps = [":health_py_pb2"],
)

@ -138,6 +138,21 @@ class BuildExt(build_ext.build_ext):
return filename
# When building extensions for macOS on a system running macOS 10.14 or newer,
# make sure they target macOS 10.14 or newer to use C++17 stdlib properly.
# This overrides the default behavior of distutils, which targets the macOS
# version Python was built on. You can further customize the target macOS
# version by setting the MACOSX_DEPLOYMENT_TARGET environment variable before
# running setup.py.
if sys.platform == "darwin":
if "MACOSX_DEPLOYMENT_TARGET" not in os.environ:
target_ver = sysconfig.get_config_var("MACOSX_DEPLOYMENT_TARGET")
if target_ver == "" or tuple(int(p) for p in target_ver.split(".")) < (
10,
14,
):
os.environ["MACOSX_DEPLOYMENT_TARGET"] = "10.14"
# There are some situations (like on Windows) where CC, CFLAGS, and LDFLAGS are
# entirely ignored/dropped/forgotten by distutils and its Cygwin/MinGW support.
# We use these environment variables to thus get around that without locking

@ -19,12 +19,12 @@ package(default_visibility = ["//visibility:public"])
py_proto_library(
name = "reflection_py_pb2",
imports = ["../../"],
deps = ["//src/proto/grpc/reflection/v1alpha:reflection_proto_descriptor"],
deps = ["//src/proto/grpc/reflection/v1alpha:reflection_proto"],
)
py_grpc_library(
name = "reflection_py_pb2_grpc",
srcs = ["//src/proto/grpc/reflection/v1alpha:reflection_proto_descriptor"],
srcs = ["//src/proto/grpc/reflection/v1alpha:reflection_proto"],
strip_prefixes = ["src.python.grpcio_reflection."],
deps = ["reflection_py_pb2"],
)

@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM gcc:12
FROM gcc:14
RUN apt-get update && apt-get install -y curl git time wget zip && apt-get clean
<%include file="../../git_avoid_dubious_ownership_error.include"/>

@ -15,8 +15,9 @@
load(
"//bazel:grpc_build_system.bzl",
"grpc_cc_library",
"grpc_cc_proto_library",
"grpc_internal_proto_library",
"grpc_package",
"grpc_proto_library",
)
grpc_package(name = "test/core/call/yodel")
@ -72,13 +73,17 @@ grpc_cc_library(
],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "fuzzer_proto",
srcs = ["fuzzer.proto"],
has_services = False,
visibility = ["//test:__subpackages__"],
deps = [
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_proto",
"//test/core/test_util:fuzz_config_vars_proto",
],
)
grpc_cc_proto_library(
name = "fuzzer_cc_proto",
visibility = ["//test:__subpackages__"],
deps = ["fuzzer_proto"],
)

@ -40,7 +40,7 @@ def grpc_yodel_test(name, deps):
],
deps = [
"//test/core/call/yodel:yodel_test",
"//test/core/call/yodel:fuzzer_proto",
"//test/core/call/yodel:fuzzer_cc_proto",
"//:event_engine_base_hdrs",
"//:config_vars",
"//:exec_ctx",

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_proto_library", "grpc_cc_test", "grpc_internal_proto_library", "grpc_package")
load("grpc_core_end2end_test.bzl", "grpc_core_end2end_test")
licenses(["notice"])
@ -282,7 +282,7 @@ grpc_cc_library(
],
tags = ["nofixdeps"],
deps = [
"end2end_test_fuzzer_proto",
"end2end_test_fuzzer_cc_proto",
"end2end_test_lib",
"end2end_test_suites",
"fixture_support",
@ -767,12 +767,16 @@ grpc_cc_test(
],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "end2end_test_fuzzer_proto",
srcs = ["end2end_test_fuzzer.proto"],
has_services = False,
deps = [
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_proto",
"//test/core/test_util:fuzz_config_vars_proto",
],
)
grpc_cc_proto_library(
name = "end2end_test_fuzzer_cc_proto",
deps = ["end2end_test_fuzzer_proto"],
)

@ -12,17 +12,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
load("//test/core/test_util:grpc_fuzzer.bzl", "grpc_proto_fuzzer")
grpc_package(name = "test/core/end2end/fuzzers")
licenses(["notice"])
grpc_proto_library(
grpc_internal_proto_library(
name = "api_fuzzer_proto",
srcs = ["api_fuzzer.proto"],
has_services = False,
deps = [
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_proto",
"//test/core/test_util:fuzz_config_vars_proto",
@ -30,6 +29,11 @@ grpc_proto_library(
],
)
grpc_cc_proto_library(
name = "api_fuzzer_cc_proto",
deps = ["api_fuzzer_proto"],
)
grpc_cc_library(
name = "fuzzing_common",
srcs = ["fuzzing_common.cc"],
@ -40,7 +44,7 @@ grpc_cc_library(
"absl/strings",
],
deps = [
"api_fuzzer_proto",
"api_fuzzer_cc_proto",
"//:gpr",
"//:grpc",
"//test/core/event_engine/fuzzing_event_engine",
@ -62,7 +66,7 @@ grpc_proto_fuzzer(
uses_event_engine = False,
uses_polling = False,
deps = [
"api_fuzzer_proto",
"api_fuzzer_cc_proto",
"fuzzing_common",
"//:gpr",
"//:grpc",
@ -78,10 +82,9 @@ grpc_proto_fuzzer(
],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "fuzzer_input_proto",
srcs = ["fuzzer_input.proto"],
has_services = False,
deps = [
"api_fuzzer_proto",
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_proto",
@ -90,13 +93,18 @@ grpc_proto_library(
],
)
grpc_cc_proto_library(
name = "fuzzer_input_cc_proto",
deps = ["fuzzer_input_proto"],
)
grpc_cc_library(
name = "network_input",
srcs = ["network_input.cc"],
hdrs = ["network_input.h"],
external_deps = ["absl/log:log"],
deps = [
"fuzzer_input_proto",
"fuzzer_input_cc_proto",
"//:chttp2_frame",
"//src/core:chaotic_good_frame_header",
"//test/core/event_engine/fuzzing_event_engine",
@ -117,7 +125,7 @@ grpc_proto_fuzzer(
uses_event_engine = False,
uses_polling = False,
deps = [
"fuzzer_input_proto",
"fuzzer_input_cc_proto",
"fuzzing_common",
"network_input",
"//:gpr",
@ -136,7 +144,7 @@ grpc_cc_library(
hdrs = ["server_fuzzer.h"],
external_deps = ["absl/log:check"],
deps = [
"fuzzer_input_proto",
"fuzzer_input_cc_proto",
"fuzzing_common",
"network_input",
"//:gpr",
@ -213,7 +221,7 @@ grpc_cc_library(
hdrs = ["connector_fuzzer.h"],
external_deps = ["absl/log:check"],
deps = [
"fuzzer_input_proto",
"fuzzer_input_cc_proto",
"fuzzing_common",
"network_input",
"//:gpr",

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_proto_library", "grpc_cc_test", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -30,7 +30,7 @@ grpc_cc_library(
"absl/log:log",
],
deps = [
":fuzzing_event_engine_proto",
":fuzzing_event_engine_cc_proto",
"//:event_engine_base_hdrs",
"//src/core:default_event_engine",
"//src/core:native_posix_dns_resolver",
@ -39,10 +39,14 @@ grpc_cc_library(
],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "fuzzing_event_engine_proto",
srcs = ["fuzzing_event_engine.proto"],
has_services = False,
)
grpc_cc_proto_library(
name = "fuzzing_event_engine_cc_proto",
deps = [":fuzzing_event_engine_proto"],
)
grpc_cc_test(

@ -112,7 +112,7 @@ grpc_cc_binary(
"//:grpc",
"//:grpc++",
"//:grpcpp_chaotic_good",
"//src/proto/grpc/testing:benchmark_service_proto",
"//src/proto/grpc/testing:benchmark_service_cc_grpc",
"//test/core/end2end:ssl_test_data",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:grpc_test_util_base",
@ -139,7 +139,7 @@ grpc_cc_binary(
"//:grpc",
"//:grpc++",
"//:grpcpp_chaotic_good",
"//src/proto/grpc/testing:benchmark_service_proto",
"//src/proto/grpc/testing:benchmark_service_cc_grpc",
"//test/core/end2end:ssl_test_data",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:grpc_test_util_base",

@ -647,8 +647,8 @@ grpc_cc_test(
"//src/core:grpc_crl_provider",
"//test/core/event_engine:event_engine_test_utils",
"//test/core/event_engine/fuzzing_event_engine",
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_proto",
"//test/core/test_util:fuzz_config_vars_proto",
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_cc_proto",
"//test/core/test_util:fuzz_config_vars_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/core/tsi:transport_security_test_lib",
],

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_proto_library", "grpc_cc_test", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -453,10 +453,14 @@ grpc_cc_library(
],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "fuzz_config_vars_proto",
srcs = ["fuzz_config_vars.proto"],
has_services = False,
)
grpc_cc_proto_library(
name = "fuzz_config_vars_cc_proto",
deps = ["fuzz_config_vars_proto"],
)
grpc_cc_library(
@ -465,8 +469,8 @@ grpc_cc_library(
hdrs = ["fuzz_config_vars.h"],
external_deps = ["absl/types:optional"],
deps = [
"fuzz_config_vars_cc_proto",
"fuzz_config_vars_helpers",
"fuzz_config_vars_proto",
"//:config_vars",
"//:gpr_platform",
],
@ -499,10 +503,14 @@ grpc_cc_library(
],
)
grpc_proto_library(
grpc_internal_proto_library(
name = "fuzzing_channel_args_proto",
srcs = ["fuzzing_channel_args.proto"],
has_services = False,
)
grpc_cc_proto_library(
name = "fuzzing_channel_args_cc_proto",
deps = ["fuzzing_channel_args_proto"],
)
grpc_cc_library(
@ -510,7 +518,7 @@ grpc_cc_library(
srcs = ["fuzzing_channel_args.cc"],
hdrs = ["fuzzing_channel_args.h"],
deps = [
"fuzzing_channel_args_proto",
"fuzzing_channel_args_cc_proto",
"//:gpr_platform",
"//:ref_counted_ptr",
"//src/core:channel_args",

@ -16,7 +16,7 @@
Includes fuzzer rules.
"""
load("//bazel:grpc_build_system.bzl", "grpc_cc_test", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_proto_library", "grpc_cc_test", "grpc_internal_proto_library")
def grpc_fuzzer(name, corpus, owner = "grpc", srcs = [], tags = [], external_deps = [], deps = [], data = [], size = "large", **kwargs):
"""Instantiates a fuzzer test.
@ -75,8 +75,9 @@ def grpc_proto_fuzzer(
corpus: The corpus for the test.
proto: The proto for the test. If empty, it assumes the proto dependency
is already included in the target deps. Otherwise it creates a
new grpc_proto_library with name "_{name}_proto" and makes the
fuzz target depend on it.
new proto_library with name "_{name}_proto" and
cc_proto_library with name "_{name}_cc_proto" and makes the
fuzz target depend on the latter.
proto_deps: Deps for proto. Only used if proto is not empty.
external_deps: External deps.
srcs: The source files for the test.
@ -98,13 +99,17 @@ def grpc_proto_fuzzer(
if proto != None:
PROTO_LIBRARY = "_%s_proto" % name
grpc_proto_library(
grpc_internal_proto_library(
name = PROTO_LIBRARY,
srcs = [proto],
deps = proto_deps,
has_services = False,
)
deps = deps + [PROTO_LIBRARY]
CC_PROTO_LIBRARY = "_%s_cc_proto" % name
grpc_cc_proto_library(
name = CC_PROTO_LIBRARY,
deps = [PROTO_LIBRARY],
)
deps = deps + [CC_PROTO_LIBRARY]
grpc_cc_test(
name = name,

@ -34,7 +34,7 @@ grpc_cc_library(
"//src/core:memory_quota",
"//src/core:resource_quota",
"//test/core/event_engine/fuzzing_event_engine",
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_proto",
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_cc_proto",
],
)
@ -171,7 +171,7 @@ grpc_cc_test(
"//src/core:slice",
"//src/core:slice_buffer",
"//test/core/event_engine/fuzzing_event_engine",
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_proto",
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_cc_proto",
],
)
@ -203,7 +203,7 @@ grpc_cc_test(
"//src/core:slice",
"//src/core:slice_buffer",
"//test/core/event_engine/fuzzing_event_engine",
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_proto",
"//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_cc_proto",
"//test/core/transport/util:mock_promise_endpoint",
],
)

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_package", "grpc_proto_library")
load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_grpc_library", "grpc_cc_library", "grpc_cc_proto_library", "grpc_internal_proto_library", "grpc_package")
licenses(["notice"])
@ -21,13 +21,17 @@ grpc_package(
visibility = "public",
)
grpc_proto_library(
grpc_internal_proto_library(
name = "transport_security_common_proto",
srcs = ["transport_security_common.proto"],
has_services = False,
)
grpc_proto_library(
grpc_cc_proto_library(
name = "transport_security_common_cc_proto",
deps = ["transport_security_common_proto"],
)
grpc_internal_proto_library(
name = "handshaker_proto",
srcs = ["handshaker.proto"],
has_services = True,
@ -36,6 +40,17 @@ grpc_proto_library(
],
)
grpc_cc_proto_library(
name = "handshaker_cc_proto",
deps = ["handshaker_proto"],
)
grpc_cc_grpc_library(
name = "handshaker_cc_grpc",
srcs = ["handshaker_proto"],
deps = ["handshaker_cc_proto"],
)
grpc_cc_library(
name = "fake_handshaker_lib",
testonly = True,
@ -46,8 +61,8 @@ grpc_cc_library(
],
language = "C++",
deps = [
"handshaker_proto",
"transport_security_common_proto",
"handshaker_cc_grpc",
"transport_security_common_cc_proto",
"//:grpc++",
],
)

@ -209,12 +209,12 @@ grpc_proto_fuzzer(
# These proto deps are needed to ensure that we can read these
# resource types out of the google.protobuf.Any fields in the
# textproto files in the corpora.
"//src/proto/grpc/testing/xds/v3:listener_proto",
"//src/proto/grpc/testing/xds/v3:route_proto",
"//src/proto/grpc/testing/xds/v3:cluster_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_proto",
"//src/proto/grpc/testing/xds/v3:router_proto",
"//src/proto/grpc/testing/xds/v3:listener_cc_proto",
"//src/proto/grpc/testing/xds/v3:route_cc_proto",
"//src/proto/grpc/testing/xds/v3:cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_cc_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_cc_proto",
"//src/proto/grpc/testing/xds/v3:router_cc_proto",
"//test/core/event_engine/fuzzing_event_engine",
"//test/core/event_engine:event_engine_test_utils",
],
@ -326,7 +326,7 @@ grpc_cc_test(
"//:grpc",
"//:grpc++_codegen_proto",
"//src/core:grpc_xds_client",
"//src/proto/grpc/lookup/v1:rls_config_proto",
"//src/proto/grpc/lookup/v1:rls_config_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:scoped_env_var",
"//test/cpp/util:grpc_cli_utils",

@ -78,14 +78,14 @@ grpc_cc_binary(
genrule(
name = "copy_compiler_test_grpc_pb_h",
srcs = ["//src/proto/grpc/testing:_compiler_test_proto_grpc_codegen"],
srcs = ["//src/proto/grpc/testing:_compiler_test_cc_grpc_grpc_codegen"],
outs = ["compiler_test.grpc.pb.h"],
cmd = "cat $(GENDIR)/src/proto/grpc/testing/compiler_test.grpc.pb.h > $@",
)
genrule(
name = "copy_compiler_test_mock_grpc_pb_h",
srcs = ["//src/proto/grpc/testing:_compiler_test_proto_grpc_codegen"],
srcs = ["//src/proto/grpc/testing:_compiler_test_cc_grpc_grpc_codegen"],
outs = ["compiler_test_mock.grpc.pb.h"],
cmd = "cat $(GENDIR)/src/proto/grpc/testing/compiler_test_mock.grpc.pb.h > $@",
)

@ -32,7 +32,7 @@ grpc_cc_library(
"absl/synchronization",
],
deps = [
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -46,7 +46,7 @@ grpc_cc_library(
deps = [
"//:grpc",
"//:grpc++",
"//src/proto/grpc/health/v1:health_proto",
"//src/proto/grpc/health/v1:health_cc_grpc",
],
)
@ -81,7 +81,7 @@ grpc_cc_library(
"gtest",
],
deps = [
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/cpp/util:test_util",
],
)
@ -96,7 +96,7 @@ grpc_cc_library(
],
deps = [
":counted_service",
"//src/proto/grpc/lookup/v1:rls_proto",
"//src/proto/grpc/lookup/v1:rls_cc_grpc",
"//test/core/test_util:grpc_test_util",
],
)
@ -118,10 +118,10 @@ grpc_cc_test(
"//: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",
"//src/proto/grpc/health/v1:health_cc_grpc",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -148,8 +148,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -174,9 +174,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -195,9 +195,9 @@ grpc_cc_binary(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
@ -220,9 +220,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
],
@ -242,9 +242,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:simple_messages_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing:simple_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -262,8 +262,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -283,8 +283,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -306,9 +306,9 @@ grpc_cc_library(
"//: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",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -342,9 +342,9 @@ grpc_cc_test(
"//:grpc++",
"//:grpcpp_channelz",
"//src/core:slice",
"//src/proto/grpc/channelz:channelz_proto",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/channelz:channelz_cc_grpc",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/event_engine:event_engine_test_utils",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
@ -362,8 +362,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -396,8 +396,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -414,9 +414,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -435,10 +435,10 @@ grpc_cc_test(
"//: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",
"//src/proto/grpc/health/v1:health_cc_grpc",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -457,9 +457,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -478,9 +478,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -498,9 +498,9 @@ grpc_cc_test(
"//: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",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -518,8 +518,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -550,11 +550,11 @@ grpc_cc_test(
"//:grpcpp_orca_service",
"//src/core:channel_args",
"//src/core:config_selector",
"//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",
"//src/proto/grpc/testing/xds/v3:orca_load_report_proto",
"//src/proto/grpc/health/v1:health_cc_grpc",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//src/proto/grpc/testing/xds/v3:orca_load_report_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:test_lb_policies",
"//test/cpp/util:test_util",
@ -582,10 +582,10 @@ grpc_cc_test(
"//:grpc",
"//:grpc++",
"//src/core:channel_args",
"//src/proto/grpc/lookup/v1:rls_proto",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/lookup/v1:rls_cc_grpc",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/event_engine:event_engine_test_utils",
"//test/core/test_util:fake_stats_plugin",
"//test/core/test_util:grpc_test_util",
@ -609,9 +609,9 @@ grpc_cc_test(
"//:grpc",
"//:grpc++",
"//src/core:channel_args",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -640,10 +640,10 @@ grpc_cc_test(
"//:grpc++",
"//:grpc_resolver_fake",
"//src/core:channel_args",
"//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",
"//src/proto/grpc/lb/v1:load_balancer_cc_grpc",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
@ -663,9 +663,9 @@ grpc_cc_test(
"//: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",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:grpc++_proto_reflection_desc_db",
"//test/cpp/util:test_util",
@ -684,9 +684,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -711,9 +711,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -732,9 +732,9 @@ grpc_cc_binary(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
@ -754,8 +754,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -774,7 +774,7 @@ grpc_cc_test(
],
deps = [
"//:grpcpp_server_load_reporting",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/cpp/util:test_util",
],
)
@ -798,8 +798,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -817,9 +817,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -839,9 +839,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -863,9 +863,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -892,9 +892,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:simple_messages_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing:simple_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -913,9 +913,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:simple_messages_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing:simple_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -934,9 +934,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:simple_messages_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing:simple_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -955,8 +955,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -998,8 +998,8 @@ grpc_cc_test(
"//:grpc",
"//:grpc++",
"//:grpc++_authorization_provider",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:audit_logging_utils",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
@ -1025,8 +1025,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -1044,7 +1044,7 @@ grpc_cc_test(
"//:grpcpp_backend_metric_recorder",
"//:grpcpp_call_metric_recorder",
"//:grpcpp_orca_service",
"//src/proto/grpc/testing/xds/v3:orca_service_proto",
"//src/proto/grpc/testing/xds/v3:orca_service_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -1063,8 +1063,8 @@ grpc_cc_test(
"//src/core:event_engine_tcp_socket_utils",
"//src/core:experiments",
"//src/core:grpc_fake_credentials",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -1089,8 +1089,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -1115,8 +1115,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -1143,8 +1143,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],

@ -34,13 +34,13 @@ grpc_cc_library(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing/xds/v3:ads_proto",
"//src/proto/grpc/testing/xds/v3:cluster_proto",
"//src/proto/grpc/testing/xds/v3:discovery_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_proto",
"//src/proto/grpc/testing/xds/v3:listener_proto",
"//src/proto/grpc/testing/xds/v3:lrs_proto",
"//src/proto/grpc/testing/xds/v3:route_proto",
"//src/proto/grpc/testing/xds/v3:ads_cc_grpc",
"//src/proto/grpc/testing/xds/v3:cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:discovery_cc_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_cc_proto",
"//src/proto/grpc/testing/xds/v3:listener_cc_proto",
"//src/proto/grpc/testing/xds/v3:lrs_cc_grpc",
"//src/proto/grpc/testing/xds/v3:route_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/end2end:counted_service",
],
@ -53,13 +53,13 @@ grpc_cc_library(
visibility = ["@grpc:xds_end2end_test_utils"],
deps = [
":xds_server",
"//src/proto/grpc/testing/xds/v3:cluster_proto",
"//src/proto/grpc/testing/xds/v3:discovery_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_proto",
"//src/proto/grpc/testing/xds/v3:listener_proto",
"//src/proto/grpc/testing/xds/v3:route_proto",
"//src/proto/grpc/testing/xds/v3:router_proto",
"//src/proto/grpc/testing/xds/v3:cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:discovery_cc_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_cc_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_cc_proto",
"//src/proto/grpc/testing/xds/v3:listener_cc_proto",
"//src/proto/grpc/testing/xds/v3:route_cc_proto",
"//src/proto/grpc/testing/xds/v3:router_cc_proto",
"//test/core/test_util:grpc_test_util_base",
],
)
@ -80,19 +80,19 @@ grpc_cc_library(
"//:grpc",
"//:grpc++",
"//:grpc_resolver_fake",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing/xds/v3:ads_proto",
"//src/proto/grpc/testing/xds/v3:cluster_proto",
"//src/proto/grpc/testing/xds/v3:discovery_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_proto",
"//src/proto/grpc/testing/xds/v3:http_filter_rbac_proto",
"//src/proto/grpc/testing/xds/v3:listener_proto",
"//src/proto/grpc/testing/xds/v3:lrs_proto",
"//src/proto/grpc/testing/xds/v3:route_proto",
"//src/proto/grpc/testing/xds/v3:router_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//src/proto/grpc/testing/xds/v3:ads_cc_grpc",
"//src/proto/grpc/testing/xds/v3:cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:discovery_cc_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_cc_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_cc_proto",
"//src/proto/grpc/testing/xds/v3:http_filter_rbac_cc_proto",
"//src/proto/grpc/testing/xds/v3:listener_cc_proto",
"//src/proto/grpc/testing/xds/v3:lrs_cc_grpc",
"//src/proto/grpc/testing/xds/v3:route_cc_proto",
"//src/proto/grpc/testing/xds/v3:router_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/end2end:counted_service",
"//test/cpp/end2end:test_service_impl",
@ -133,21 +133,21 @@ grpc_cc_test(
"//:grpc_resolver_fake",
"//src/core:channel_args",
"//src/core:grpc_audit_logging",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
"//src/proto/grpc/testing/xds/v3:aggregate_cluster_proto",
"//src/proto/grpc/testing/xds/v3:cluster_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_proto",
"//src/proto/grpc/testing/xds/v3:fault_common_proto",
"//src/proto/grpc/testing/xds/v3:fault_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_proto",
"//src/proto/grpc/testing/xds/v3:http_filter_rbac_proto",
"//src/proto/grpc/testing/xds/v3:listener_proto",
"//src/proto/grpc/testing/xds/v3:route_proto",
"//src/proto/grpc/testing/xds/v3:router_proto",
"//src/proto/grpc/testing/xds/v3:tls_proto",
"//src/proto/grpc/testing/xds/v3:typed_struct_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing/duplicate:echo_duplicate_cc_grpc",
"//src/proto/grpc/testing/xds/v3:aggregate_cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_cc_proto",
"//src/proto/grpc/testing/xds/v3:fault_cc_proto",
"//src/proto/grpc/testing/xds/v3:fault_common_cc_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_cc_proto",
"//src/proto/grpc/testing/xds/v3:http_filter_rbac_cc_proto",
"//src/proto/grpc/testing/xds/v3:listener_cc_proto",
"//src/proto/grpc/testing/xds/v3:route_cc_proto",
"//src/proto/grpc/testing/xds/v3:router_cc_proto",
"//src/proto/grpc/testing/xds/v3:tls_cc_proto",
"//src/proto/grpc/testing/xds/v3:typed_struct_cc_proto",
"//test/core/test_util:audit_logging_utils",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:scoped_env_var",
@ -205,7 +205,7 @@ grpc_cc_test(
"//:grpc",
"//:grpc++",
"//:grpc_resolver_fake",
"//src/proto/grpc/testing/xds/v3:aggregate_cluster_proto",
"//src/proto/grpc/testing/xds/v3:aggregate_cluster_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:scoped_env_var",
"//test/cpp/end2end:connection_attempt_injector",
@ -262,10 +262,10 @@ grpc_cc_test(
"//:grpc",
"//:grpc++",
"//:grpcpp_csds",
"//src/proto/grpc/testing/xds/v3:cluster_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_proto",
"//src/proto/grpc/testing/xds/v3:listener_proto",
"//src/proto/grpc/testing/xds/v3:route_proto",
"//src/proto/grpc/testing/xds/v3:cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_cc_proto",
"//src/proto/grpc/testing/xds/v3:listener_cc_proto",
"//src/proto/grpc/testing/xds/v3:route_cc_proto",
"//test/core/test_util:grpc_test_util",
],
)
@ -291,10 +291,10 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing/xds/v3:cluster_proto",
"//src/proto/grpc/testing/xds/v3:fault_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_proto",
"//src/proto/grpc/testing/xds/v3:router_proto",
"//src/proto/grpc/testing/xds/v3:cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:fault_cc_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_cc_proto",
"//src/proto/grpc/testing/xds/v3:router_cc_proto",
"//test/core/test_util:grpc_test_util",
],
)
@ -327,10 +327,10 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing/xds/v3:cluster_proto",
"//src/proto/grpc/testing/xds/v3:gcp_authn_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_proto",
"//src/proto/grpc/testing/xds/v3:router_proto",
"//src/proto/grpc/testing/xds/v3:cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:gcp_authn_cc_proto",
"//src/proto/grpc/testing/xds/v3:http_connection_manager_cc_proto",
"//src/proto/grpc/testing/xds/v3:router_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:scoped_env_var",
],
@ -356,8 +356,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing/xds/v3:fault_proto",
"//src/proto/grpc/testing/xds/v3:router_proto",
"//src/proto/grpc/testing/xds/v3:fault_cc_proto",
"//src/proto/grpc/testing/xds/v3:router_cc_proto",
"//test/core/test_util:grpc_test_util",
],
)
@ -380,9 +380,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing/xds/v3:client_side_weighted_round_robin_proto",
"//src/proto/grpc/testing/xds/v3:cluster_proto",
"//src/proto/grpc/testing/xds/v3:wrr_locality_proto",
"//src/proto/grpc/testing/xds/v3:client_side_weighted_round_robin_cc_proto",
"//src/proto/grpc/testing/xds/v3:cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:wrr_locality_cc_proto",
"//test/core/test_util:fake_stats_plugin",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:scoped_env_var",
@ -412,11 +412,11 @@ grpc_cc_test(
"//:grpc",
"//:grpc++",
"//:grpc_resolver_fake",
"//src/proto/grpc/testing/xds/v3:aggregate_cluster_proto",
"//src/proto/grpc/testing/xds/v3:cluster_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_proto",
"//src/proto/grpc/testing/xds/v3:listener_proto",
"//src/proto/grpc/testing/xds/v3:route_proto",
"//src/proto/grpc/testing/xds/v3:aggregate_cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:endpoint_cc_proto",
"//src/proto/grpc/testing/xds/v3:listener_cc_proto",
"//src/proto/grpc/testing/xds/v3:route_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/end2end:connection_attempt_injector",
],
@ -440,8 +440,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/lookup/v1:rls_config_proto",
"//src/proto/grpc/lookup/v1:rls_proto",
"//src/proto/grpc/lookup/v1:rls_cc_proto",
"//src/proto/grpc/lookup/v1:rls_config_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:scoped_env_var",
"//test/cpp/end2end:rls_server",
@ -468,8 +468,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing/xds/v3:fault_proto",
"//src/proto/grpc/testing/xds/v3:router_proto",
"//src/proto/grpc/testing/xds/v3:fault_cc_proto",
"//src/proto/grpc/testing/xds/v3:router_cc_proto",
"//test/core/test_util:grpc_test_util",
],
)
@ -488,8 +488,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/end2end:test_service_impl",
"//test/cpp/util:test_util",
@ -514,8 +514,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing/xds/v3:stateful_session_cookie_proto",
"//src/proto/grpc/testing/xds/v3:stateful_session_proto",
"//src/proto/grpc/testing/xds/v3:stateful_session_cc_proto",
"//src/proto/grpc/testing/xds/v3:stateful_session_cookie_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:scoped_env_var",
],
@ -539,9 +539,9 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing/xds/v3:aggregate_cluster_proto",
"//src/proto/grpc/testing/xds/v3:pick_first_proto",
"//src/proto/grpc/testing/xds/v3:router_proto",
"//src/proto/grpc/testing/xds/v3:aggregate_cluster_cc_proto",
"//src/proto/grpc/testing/xds/v3:pick_first_cc_proto",
"//src/proto/grpc/testing/xds/v3:router_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:scoped_env_var",
"//test/cpp/end2end:connection_attempt_injector",
@ -586,8 +586,8 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing/xds/v3:address_proto",
"//src/proto/grpc/testing/xds/v3:upstream_http_11_connect_proto",
"//src/proto/grpc/testing/xds/v3:address_cc_proto",
"//src/proto/grpc/testing/xds/v3:upstream_http_11_connect_cc_proto",
"//test/core/end2end:http_proxy",
"//test/core/test_util:scoped_env_var",
],

@ -30,7 +30,7 @@
#include "src/core/resolver/endpoint_addresses.h"
#include "src/core/resolver/fake/fake_resolver.h"
#include "src/core/util/env.h"
#include "src/proto/grpc/testing/xds/v3/aggregate_cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/aggregate_cluster.pb.h"
#include "test/core/test_util/resolve_localhost_ip46.h"
#include "test/core/test_util/scoped_env_var.h"
#include "test/cpp/end2end/connection_attempt_injector.h"

@ -28,11 +28,11 @@
#include "absl/strings/strip.h"
#include "src/core/client_channel/backup_poller.h"
#include "src/core/lib/config/config_vars.h"
#include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/listener.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/route.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.pb.h"
#include "src/proto/grpc/testing/xds/v3/endpoint.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.pb.h"
#include "src/proto/grpc/testing/xds/v3/listener.pb.h"
#include "src/proto/grpc/testing/xds/v3/route.pb.h"
#include "test/core/test_util/resolve_localhost_ip46.h"
#include "test/core/test_util/test_config.h"
#include "test/cpp/end2end/xds/xds_end2end_test_lib.h"

@ -84,21 +84,20 @@
#include "src/core/xds/xds_client/xds_client.h"
#include "src/cpp/client/secure_credentials.h"
#include "src/cpp/server/secure_server_credentials.h"
#include "src/proto/grpc/testing/echo.grpc.pb.h"
#include "src/proto/grpc/testing/echo.pb.h"
#include "src/proto/grpc/testing/xds/v3/ads.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/aggregate_cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/discovery.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/fault.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_filter_rbac.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/aggregate_cluster.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.pb.h"
#include "src/proto/grpc/testing/xds/v3/discovery.pb.h"
#include "src/proto/grpc/testing/xds/v3/endpoint.pb.h"
#include "src/proto/grpc/testing/xds/v3/fault.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_filter_rbac.pb.h"
#include "src/proto/grpc/testing/xds/v3/listener.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/listener.pb.h"
#include "src/proto/grpc/testing/xds/v3/lrs.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/route.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/tls.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/route.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.pb.h"
#include "src/proto/grpc/testing/xds/v3/tls.pb.h"
#include "src/proto/grpc/testing/xds/v3/typed_struct.pb.h"
#include "test/core/test_util/audit_logging_utils.h"
#include "test/core/test_util/port.h"
@ -808,7 +807,7 @@ TEST_P(XdsSecurityTest, MtlsWithAggregateCluster) {
EXPECT_EQ(backends_[0]->backend_service()->last_peer_identity(),
authenticated_identity_);
// Now stop backend 0 and wait for backend 1.
ShutdownBackend(0);
backends_[0]->StopListeningAndSendGoaways();
WaitForBackend(DEBUG_LOCATION, 1);
// Make sure the backend saw the right client identity.
EXPECT_EQ(backends_[1]->backend_service()->last_peer_identity(),

@ -41,7 +41,7 @@
#include "src/core/util/tmpfile.h"
#include "src/core/xds/grpc/xds_client_grpc.h"
#include "src/core/xds/xds_client/xds_channel_args.h"
#include "src/proto/grpc/testing/xds/v3/router.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.pb.h"
#include "test/core/test_util/resolve_localhost_ip46.h"
#include "test/core/test_util/tls_utils.h"
#include "test/cpp/util/credentials.h"
@ -858,7 +858,9 @@ std::string XdsEnd2endTest::MakeTlsHandshakeFailureRegex(
"(Failed to connect to remote host: )?"
// Tls handshake failure
"Tls handshake failed \\(TSI_PROTOCOL_FAILURE\\): SSL_ERROR_SSL: "
"error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED");
"error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED"
// Detailed reason for certificate verify failure
"(: .*)?");
}
grpc_core::PemKeyCertPairList XdsEnd2endTest::ReadTlsIdentityPair(

@ -41,9 +41,9 @@
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
#include "src/core/lib/security/security_connector/ssl_utils.h"
#include "src/cpp/server/secure_server_credentials.h"
#include "src/proto/grpc/testing/echo.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_filter_rbac.grpc.pb.h"
#include "src/proto/grpc/testing/echo.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_filter_rbac.pb.h"
#include "src/proto/grpc/testing/xds/v3/orca_load_report.pb.h"
#include "src/proto/grpc/testing/xds/v3/rbac.pb.h"
#include "test/core/test_util/port.h"

@ -27,7 +27,7 @@
#include "absl/strings/str_format.h"
#include "absl/strings/strip.h"
#include "src/core/lib/config/config_vars.h"
#include "src/proto/grpc/testing/echo.grpc.pb.h"
#include "src/proto/grpc/testing/echo.pb.h"
#include "src/proto/grpc/testing/echo_messages.pb.h"
#include "test/core/test_util/scoped_env_var.h"
#include "test/core/test_util/test_config.h"

@ -21,10 +21,10 @@
#include "src/core/client_channel/backup_poller.h"
#include "src/core/lib/config/config_vars.h"
#include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/fault.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.pb.h"
#include "src/proto/grpc/testing/xds/v3/fault.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.pb.h"
#include "test/core/test_util/test_config.h"
#include "test/cpp/end2end/xds/xds_end2end_test_lib.h"

@ -24,10 +24,10 @@
#include "src/core/client_channel/backup_poller.h"
#include "src/core/lib/config/config_vars.h"
#include "src/core/util/http_client/httpcli.h"
#include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/gcp_authn.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.pb.h"
#include "src/proto/grpc/testing/xds/v3/gcp_authn.pb.h"
#include "src/proto/grpc/testing/xds/v3/http_connection_manager.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.pb.h"
#include "test/core/test_util/scoped_env_var.h"
#include "test/core/test_util/test_config.h"
#include "test/cpp/end2end/xds/xds_end2end_test_lib.h"

@ -25,8 +25,8 @@
#include "absl/strings/str_format.h"
#include "src/core/client_channel/backup_poller.h"
#include "src/core/lib/config/config_vars.h"
#include "src/proto/grpc/testing/xds/v3/address.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/upstream_http_11_connect.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/address.pb.h"
#include "src/proto/grpc/testing/xds/v3/upstream_http_11_connect.pb.h"
#include "test/core/end2end/fixtures/http_proxy_fixture.h"
#include "test/core/test_util/resolve_localhost_ip46.h"
#include "test/core/test_util/scoped_env_var.h"

@ -23,10 +23,10 @@
#include "absl/log/check.h"
#include "src/core/client_channel/backup_poller.h"
#include "src/core/lib/config/config_vars.h"
#include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/fault.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/outlier_detection.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.pb.h"
#include "src/proto/grpc/testing/xds/v3/fault.pb.h"
#include "src/proto/grpc/testing/xds/v3/outlier_detection.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.pb.h"
#include "test/core/test_util/resolve_localhost_ip46.h"
#include "test/cpp/end2end/xds/xds_end2end_test_lib.h"

@ -32,7 +32,7 @@
#include "src/core/load_balancing/xds/xds_channel_args.h"
#include "src/core/resolver/fake/fake_resolver.h"
#include "src/core/util/env.h"
#include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.pb.h"
#include "src/proto/grpc/testing/xds/v3/pick_first.pb.h"
#include "test/core/test_util/test_config.h"
#include "test/cpp/end2end/connection_attempt_injector.h"

@ -30,8 +30,8 @@
#include "src/core/load_balancing/xds/xds_channel_args.h"
#include "src/core/resolver/fake/fake_resolver.h"
#include "src/core/util/env.h"
#include "src/proto/grpc/testing/xds/v3/aggregate_cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/aggregate_cluster.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.pb.h"
#include "test/core/test_util/resolve_localhost_ip46.h"
#include "test/cpp/end2end/connection_attempt_injector.h"
#include "test/cpp/end2end/xds/xds_end2end_test_lib.h"

@ -23,7 +23,6 @@
#include "src/core/client_channel/backup_poller.h"
#include "src/core/lib/config/config_vars.h"
#include "src/core/util/env.h"
#include "src/proto/grpc/lookup/v1/rls.grpc.pb.h"
#include "src/proto/grpc/lookup/v1/rls.pb.h"
#include "src/proto/grpc/lookup/v1/rls_config.pb.h"
#include "test/core/test_util/scoped_env_var.h"

@ -23,8 +23,8 @@
#include "absl/log/log.h"
#include "src/core/client_channel/backup_poller.h"
#include "src/core/lib/config/config_vars.h"
#include "src/proto/grpc/testing/xds/v3/fault.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/fault.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.pb.h"
#include "test/cpp/end2end/xds/xds_end2end_test_lib.h"
namespace grpc {

@ -29,7 +29,7 @@
#include "src/core/util/crash.h"
#include "src/core/util/sync.h"
#include "src/proto/grpc/testing/xds/v3/ads.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/discovery.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/discovery.pb.h"
#include "src/proto/grpc/testing/xds/v3/lrs.grpc.pb.h"
namespace grpc {

@ -32,13 +32,12 @@
#include "src/core/util/crash.h"
#include "src/core/util/sync.h"
#include "src/proto/grpc/testing/xds/v3/ads.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/discovery.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/cluster.pb.h"
#include "src/proto/grpc/testing/xds/v3/discovery.pb.h"
#include "src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/listener.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/endpoint.pb.h"
#include "src/proto/grpc/testing/xds/v3/listener.pb.h"
#include "src/proto/grpc/testing/xds/v3/lrs.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/route.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/route.pb.h"
#include "test/core/test_util/test_config.h"
#include "test/cpp/end2end/counted_service.h"

@ -39,7 +39,7 @@
#include "src/core/xds/grpc/xds_client_grpc.h"
#include "src/core/xds/xds_client/xds_channel_args.h"
#include "src/cpp/client/secure_credentials.h"
#include "src/proto/grpc/testing/xds/v3/router.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.pb.h"
#include "test/core/test_util/resolve_localhost_ip46.h"
namespace grpc {

@ -26,8 +26,8 @@
#include "absl/strings/str_format.h"
#include "src/core/client_channel/backup_poller.h"
#include "src/core/lib/config/config_vars.h"
#include "src/proto/grpc/testing/xds/v3/client_side_weighted_round_robin.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/wrr_locality.grpc.pb.h"
#include "src/proto/grpc/testing/xds/v3/client_side_weighted_round_robin.pb.h"
#include "src/proto/grpc/testing/xds/v3/wrr_locality.pb.h"
#include "test/core/test_util/fake_stats_plugin.h"
#include "test/core/test_util/scoped_env_var.h"
#include "test/cpp/end2end/xds/xds_end2end_test_lib.h"

@ -36,7 +36,7 @@ grpc_cc_library(
deps = [
"//:grpc++",
"//:grpc_opencensus_plugin",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:test_lb_policies",
"//test/cpp/end2end:test_service_impl",
@ -68,7 +68,7 @@ grpc_cc_test(
"library",
"//:grpc++",
"//:grpc_opencensus_plugin",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
@ -97,7 +97,7 @@ grpc_cc_test(
"library",
"//:grpc++",
"//:grpc_opencensus_plugin",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",

@ -33,7 +33,7 @@ grpc_cc_library(
"//:grpc++",
"//src/core:logging_filter",
"//src/cpp/ext/gcp:observability_logging_sink",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/end2end:test_service_impl",
"//test/cpp/util:test_config",
@ -60,7 +60,7 @@ grpc_cc_test(
"//src/core:dump_args",
"//src/core:logging_filter",
"//src/cpp/ext/gcp:observability_logging_sink",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/end2end:test_service_impl",
"//test/cpp/util:test_config",
@ -86,7 +86,7 @@ grpc_cc_test(
"//:grpc++",
"//src/core:logging_filter",
"//src/cpp/ext/gcp:observability_logging_sink",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/end2end:test_service_impl",
"//test/cpp/ext/filters/census:library",

@ -30,7 +30,7 @@ grpc_cc_test(
uses_polling = False,
deps = [
"//:grpcpp_gcp_observability",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/cpp/end2end:test_service_impl",
"//test/cpp/util:test_util",
],

@ -32,7 +32,7 @@ grpc_cc_test(
"//:gpr",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/lb/v1:load_balancer_proto",
"//src/proto/grpc/lb/v1:load_balancer_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],

@ -53,9 +53,9 @@ grpc_cc_binary(
tags = ["no_windows"],
deps = [
"//:grpc++",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//src/proto/grpc/testing:empty_cc_proto",
"//src/proto/grpc/testing:messages_cc_proto",
"//src/proto/grpc/testing:test_cc_grpc",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
],
@ -90,9 +90,9 @@ grpc_cc_library(
deps = [
":server_helper_lib",
"//:grpcpp_orca_service",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//src/proto/grpc/testing:empty_cc_proto",
"//src/proto/grpc/testing:messages_cc_proto",
"//src/proto/grpc/testing:test_cc_grpc",
"//test/cpp/util:test_config",
],
)
@ -115,9 +115,9 @@ grpc_cc_library(
language = "C++",
deps = [
":backend_metrics_lb_policy",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//src/proto/grpc/testing:empty_cc_proto",
"//src/proto/grpc/testing:messages_cc_proto",
"//src/proto/grpc/testing:test_cc_grpc",
"//test/core/security:oauth2_utils",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
@ -262,9 +262,9 @@ grpc_cc_library(
"//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_admin",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//src/proto/grpc/testing:empty_cc_proto",
"//src/proto/grpc/testing:messages_cc_proto",
"//src/proto/grpc/testing:test_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
],
@ -297,9 +297,9 @@ grpc_cc_binary(
"//:grpc++_reflection",
"//:grpcpp_admin",
"//:grpcpp_csm_observability",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//src/proto/grpc/testing:empty_cc_proto",
"//src/proto/grpc/testing:messages_cc_proto",
"//src/proto/grpc/testing:test_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
],
@ -320,9 +320,9 @@ grpc_cc_library(
"//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_admin",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//src/proto/grpc/testing:empty_cc_proto",
"//src/proto/grpc/testing:messages_cc_proto",
"//src/proto/grpc/testing:test_cc_grpc",
"//test/cpp/end2end:test_health_check_service_impl",
],
)
@ -357,7 +357,7 @@ grpc_cc_test(
deps = [
":xds_interop_server_lib",
"//:grpc++",
"//src/proto/grpc/testing:istio_echo_proto",
"//src/proto/grpc/testing:istio_echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
],
@ -372,7 +372,7 @@ grpc_cc_test(
deps = [
":xds_interop_server_lib",
"//:grpc++",
"//src/proto/grpc/testing:istio_echo_proto",
"//src/proto/grpc/testing:istio_echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
],
@ -386,7 +386,7 @@ grpc_cc_library(
hdrs = ["istio_echo_server_lib.h"],
deps = [
"//:grpc++",
"//src/proto/grpc/testing:istio_echo_proto",
"//src/proto/grpc/testing:istio_echo_cc_grpc",
],
)
@ -403,7 +403,7 @@ grpc_cc_binary(
"//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_admin",
"//src/proto/grpc/testing:istio_echo_proto",
"//src/proto/grpc/testing:istio_echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
],
@ -418,7 +418,7 @@ grpc_cc_test(
deps = [
":istio_echo_server_lib",
"//:grpc++",
"//src/proto/grpc/testing:istio_echo_proto",
"//src/proto/grpc/testing:istio_echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
],
@ -437,9 +437,9 @@ grpc_cc_binary(
],
deps = [
"//:grpc++",
"//src/proto/grpc/testing:empty_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:test_proto",
"//src/proto/grpc/testing:empty_cc_proto",
"//src/proto/grpc/testing:messages_cc_proto",
"//src/proto/grpc/testing:test_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
@ -551,7 +551,7 @@ grpc_cc_library(
deps = [
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:messages_cc_proto",
],
)
@ -565,7 +565,7 @@ grpc_cc_test(
":backend_metrics_lb_policy",
"//:grpc++",
"//:grpcpp_orca_service",
"//src/proto/grpc/testing:test_proto",
"//src/proto/grpc/testing:test_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
],

@ -102,7 +102,7 @@ grpc_cc_library(
],
deps = [
"//:grpc++",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:grpc_test_util_base",
"//test/cpp/util:test_config",
@ -125,7 +125,7 @@ grpc_cc_library(
],
deps = [
"//:grpc++",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/core/test_util:grpc_test_util_base",
"//test/cpp/util:test_config",
@ -316,7 +316,7 @@ grpc_cc_benchmark(
deps = [
":helpers_secure",
"//:grpc_opencensus_plugin",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
],
)
@ -331,7 +331,7 @@ grpc_cc_library(
],
deps = [
":helpers",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/cpp/util:test_util",
],
)

@ -32,7 +32,7 @@ grpc_cc_test(
"//:grpc++",
"//:server",
"//src/core:channel_args",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/event_engine:event_engine_test_utils",
"//test/core/event_engine/fuzzing_event_engine",
"//test/core/test_util:grpc_test_util",

@ -56,10 +56,10 @@ grpc_cc_library(
":usage_timer",
"//:grpc",
"//:grpc++",
"//src/proto/grpc/testing:benchmark_service_proto",
"//src/proto/grpc/testing:control_proto",
"//src/proto/grpc/testing:payloads_proto",
"//src/proto/grpc/testing:worker_service_proto",
"//src/proto/grpc/testing:benchmark_service_cc_grpc",
"//src/proto/grpc/testing:control_cc_proto",
"//src/proto/grpc/testing:payloads_cc_proto",
"//src/proto/grpc/testing:worker_service_cc_grpc",
"//test/core/end2end:ssl_test_data",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
@ -86,10 +86,10 @@ grpc_cc_library(
":parse_json",
":qps_worker_impl",
"//:grpc++",
"//src/proto/grpc/testing:control_proto",
"//src/proto/grpc/testing:messages_proto",
"//src/proto/grpc/testing:report_qps_scenario_service_proto",
"//src/proto/grpc/testing:worker_service_proto",
"//src/proto/grpc/testing:control_cc_proto",
"//src/proto/grpc/testing:messages_cc_proto",
"//src/proto/grpc/testing:report_qps_scenario_service_cc_grpc",
"//src/proto/grpc/testing:worker_service_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],
@ -111,7 +111,7 @@ grpc_cc_library(
":driver_impl",
":histogram",
"//:grpc++",
"//src/proto/grpc/testing:control_proto",
"//src/proto/grpc/testing:control_cc_proto",
],
)
@ -122,7 +122,7 @@ grpc_cc_library(
"stats.h",
],
deps = [
"//src/proto/grpc/testing:stats_proto",
"//src/proto/grpc/testing:stats_cc_proto",
"//test/core/test_util:grpc_test_util",
],
)

@ -27,7 +27,7 @@ grpc_cc_test(
tags = ["no_windows"],
deps = [
"//:grpc++_unsecure",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/event_engine:event_engine_test_utils",
"//test/core/test_util:grpc_test_util_base",
"//test/core/test_util:grpc_test_util_unsecure",
@ -43,7 +43,7 @@ grpc_cc_test(
tags = ["no_windows"],
deps = [
"//:grpc++_unsecure",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util_base",
"//test/core/test_util:grpc_test_util_unsecure",
],
@ -58,7 +58,7 @@ grpc_cc_test(
tags = ["no_windows"],
deps = [
"//:grpc++_unsecure",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util_base",
"//test/core/test_util:grpc_test_util_unsecure",
],

@ -32,7 +32,7 @@ grpc_cc_test(
"//:grpc",
"//:grpc++",
"//:grpc++_test",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],

@ -49,7 +49,7 @@ grpc_cc_library(
deps = [
"//:grpc++",
"//:grpc++_config_proto",
"//src/proto/grpc/reflection/v1alpha:reflection_proto",
"//src/proto/grpc/reflection/v1alpha:reflection_cc_grpc",
],
)
@ -106,7 +106,7 @@ grpc_cc_library(
],
deps = [
"//:grpc++",
"//src/proto/grpc/channelz:channelz_proto",
"//src/proto/grpc/channelz:channelz_cc_proto",
],
)
@ -150,7 +150,7 @@ grpc_cc_library(
deps = [
":grpc++_proto_reflection_desc_db",
"//:grpc++",
"//src/proto/grpc/reflection/v1alpha:reflection_proto",
"//src/proto/grpc/reflection/v1alpha:reflection_cc_grpc",
],
)
@ -181,7 +181,7 @@ grpc_cc_library(
external_deps = ["absl/log:log"],
deps = [
"//:grpc++",
"//src/proto/grpc/testing:metrics_proto",
"//src/proto/grpc/testing:metrics_cc_grpc",
],
)
@ -213,10 +213,10 @@ grpc_cc_test(
":grpc_cli_libs",
":test_util",
"//:grpc++_reflection",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:simple_messages_proto",
"//src/proto/grpc/testing/xds/v3:orca_load_report_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//src/proto/grpc/testing:simple_messages_cc_proto",
"//src/proto/grpc/testing/xds/v3:orca_load_report_cc_proto",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_config",
],
@ -294,7 +294,7 @@ grpc_cc_test(
deps = [
":grpc_cli_libs",
":test_util",
"//src/proto/grpc/testing:echo_proto",
"//src/proto/grpc/testing:echo_cc_grpc",
"//test/core/test_util:grpc_test_util",
],
)
@ -310,8 +310,8 @@ grpc_cc_test(
tags = ["no_test_ios"],
deps = [
"//:grpc++_error_details",
"//src/proto/grpc/status:status_proto",
"//src/proto/grpc/testing:echo_messages_proto",
"//src/proto/grpc/status:status_cc_proto",
"//src/proto/grpc/testing:echo_messages_cc_proto",
"//test/core/test_util:grpc_test_util",
],
)
@ -332,7 +332,7 @@ grpc_cc_binary(
":grpc_cli_libs",
":test_config",
"//:grpc++",
"//src/proto/grpc/reflection/v1alpha:reflection_proto",
"//src/proto/grpc/reflection/v1alpha:reflection_cc_grpc",
],
)
@ -353,7 +353,7 @@ grpc_cc_binary(
"//:gpr",
"//:grpc++",
"//:grpcpp_channelz",
"//src/proto/grpc/channelz:channelz_proto",
"//src/proto/grpc/channelz:channelz_cc_grpc",
"//test/cpp/util:test_config",
"//test/cpp/util:test_util",
],
@ -384,8 +384,8 @@ grpc_cc_test(
"//:grpc",
"//:grpc++",
"//:grpcpp_channelz",
"//src/proto/grpc/channelz:channelz_proto",
"//src/proto/grpc/testing:test_proto",
"//src/proto/grpc/channelz:channelz_cc_grpc",
"//src/proto/grpc/testing:test_cc_grpc",
"//test/core/test_util:grpc_test_util",
"//test/cpp/util:test_util",
],

@ -21,12 +21,6 @@ grpc_dir=$(pwd)
# Install openssl (to use instead of boringssl)
apt-get update && apt-get install -y libssl-dev
# Install CMake 3.16
apt-get update && apt-get install -y wget
wget -q -O cmake-linux.sh https://github.com/Kitware/CMake/releases/download/v3.16.1/cmake-3.16.1-Linux-x86_64.sh
sh cmake-linux.sh -- --skip-license --prefix=/usr
rm cmake-linux.sh
# Use externally provided env to determine build parallelism, otherwise use default.
GRPC_CPP_DISTRIBTEST_BUILD_COMPILER_JOBS=${GRPC_CPP_DISTRIBTEST_BUILD_COMPILER_JOBS:-4}

@ -20,12 +20,6 @@ cd "$(dirname "$0")/../../.."
# Install openssl (to use instead of boringssl)
apt-get update && apt-get install -y libssl-dev
# Install CMake 3.16
apt-get update && apt-get install -y wget
wget -q -O cmake-linux.sh https://github.com/Kitware/CMake/releases/download/v3.16.1/cmake-3.16.1-Linux-x86_64.sh
sh cmake-linux.sh -- --skip-license --prefix=/usr
rm cmake-linux.sh
# Use externally provided env to determine build parallelism, otherwise use default.
GRPC_CPP_DISTRIBTEST_BUILD_COMPILER_JOBS=${GRPC_CPP_DISTRIBTEST_BUILD_COMPILER_JOBS:-4}

@ -100,7 +100,7 @@ DOCKERIMAGE_CURRENT_VERSIONS = {
"tools/dockerfile/test/cxx_debian11_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_debian11_x64@sha256:9f9285da21c1053ac715027e0cee66c20c70ebf016053328a4cee61ffd37e59b",
"tools/dockerfile/test/cxx_debian11_x86.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_debian11_x86@sha256:3f505ad99e52a4b3337fedb413e883bc8e5c1d9c089299c34002b89e01254d3b",
"tools/dockerfile/test/cxx_debian12_openssl309_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_debian12_openssl309_x64@sha256:f75bb715c4f9464526f9affb410f7965a0b8894516d7d98cd89a4e165ae065b7",
"tools/dockerfile/test/cxx_gcc_12_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_gcc_12_x64@sha256:bbdfe66f27b964f9bfd526646b94a19d904fea52bdb244f32fd4355cc8c4551f",
"tools/dockerfile/test/cxx_gcc_14_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_gcc_14_x64@sha256:54685fc729952b689318057a9769edc92247a40d607d01c3517d2644d361cc73",
"tools/dockerfile/test/cxx_gcc_7_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_gcc_7_x64@sha256:e1925d7f08a7f167c6aab2f8284a3f13b7f3830ba38876e6de1dee2ffd3c7d2f",
"tools/dockerfile/test/cxx_gcc_8_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_gcc_8_x64@sha256:19511527fc3da78344a7ece5f1cf8ba06d928202ba5b3ca039dccb86d1a417fc",
"tools/dockerfile/test/php8_debian12_arm64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/php8_debian12_arm64@sha256:c220e72b415ad194a41cf5640fe360b9358df1dd34553c8d8e6bfd4a82e032b3",

@ -56,7 +56,7 @@ def generate_run_tests_portability_tests(name):
# Some gRPC tests have an issue with gcc-7 so gcc-7 portability test won't build any gRPC tests
["gcc_7", "--cmake_configure_extra_args=-DgRPC_BUILD_TESTS=OFF", "tools/dockerfile/test/cxx_gcc_7_x64.current_version"],
["gcc_8", "", "tools/dockerfile/test/cxx_gcc_8_x64.current_version"],
["gcc_12_cxx20", "--cmake_configure_extra_args=-DCMAKE_CXX_STANDARD=20", "tools/dockerfile/test/cxx_gcc_12_x64.current_version"],
["gcc_14_cxx20", "--cmake_configure_extra_args=-DCMAKE_CXX_STANDARD=20", "tools/dockerfile/test/cxx_gcc_14_x64.current_version"],
["gcc10.2_openssl102", "--cmake_configure_extra_args=-DgRPC_SSL_PROVIDER=package", "tools/dockerfile/test/cxx_debian11_openssl102_x64.current_version"],
["gcc10.2_openssl111", "--cmake_configure_extra_args=-DgRPC_SSL_PROVIDER=package", "tools/dockerfile/test/cxx_debian11_openssl111_x64.current_version"],
["gcc_12_openssl309", "--cmake_configure_extra_args=-DgRPC_SSL_PROVIDER=package", "tools/dockerfile/test/cxx_debian12_openssl309_x64.current_version"],

@ -665,15 +665,10 @@ def _expand_upb_proto_library_rules(bazel_rules):
def _patch_grpc_proto_library_rules(bazel_rules):
for name, bazel_rule in bazel_rules.items():
contains_proto = any(
src.endswith(".proto") for src in bazel_rule.get("srcs", [])
)
generator_func = bazel_rule.get("generator_function", None)
if (
name.startswith("//")
and contains_proto
and generator_func == "grpc_proto_library"
if name.startswith("//") and (
generator_func == "grpc_proto_library"
or bazel_rule["class"] == "cc_proto_library"
):
# Add explicit protobuf dependency for internal c++ proto targets.
bazel_rule["deps"].append("//third_party:protobuf")

@ -157,6 +157,21 @@ class BuildExt(build_ext.build_ext):
build_ext.build_ext.build_extensions(self)
# When building extensions for macOS on a system running macOS 10.14 or newer,
# make sure they target macOS 10.14 or newer to use C++17 stdlib properly.
# This overrides the default behavior of distutils, which targets the macOS
# version Python was built on. You can further customize the target macOS
# version by setting the MACOSX_DEPLOYMENT_TARGET environment variable before
# running setup.py.
if sys.platform == "darwin":
if "MACOSX_DEPLOYMENT_TARGET" not in os.environ:
target_ver = sysconfig.get_config_var("MACOSX_DEPLOYMENT_TARGET")
if target_ver == "" or tuple(int(p) for p in target_ver.split(".")) < (
10,
14,
):
os.environ["MACOSX_DEPLOYMENT_TARGET"] = "10.14"
# There are some situations (like on Windows) where CC, CFLAGS, and LDFLAGS are
# entirely ignored/dropped/forgotten by distutils and its Cygwin/MinGW support.
# We use these environment variables to thus get around that without locking

@ -1 +0,0 @@
us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_gcc_12_x64:c22d1cb6bac0f4a35e3085d2b55fa5556a7c00d3@sha256:bbdfe66f27b964f9bfd526646b94a19d904fea52bdb244f32fd4355cc8c4551f

@ -0,0 +1 @@
us-docker.pkg.dev/grpc-testing/testing-images-public/cxx_gcc_14_x64:a900526ee74fa55fae28a53ccc92afc31e08e68c@sha256:54685fc729952b689318057a9769edc92247a40d607d01c3517d2644d361cc73

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM gcc:12
FROM gcc:14
RUN apt-get update && apt-get install -y curl git time wget zip && apt-get clean
#=================

@ -452,6 +452,9 @@ LANG_RELEASE_MATRIX = {
("v1.63.2", ReleaseInfo()),
("v1.64.2", ReleaseInfo()),
("v1.65.1", ReleaseInfo()),
("v1.66.0", ReleaseInfo()),
("v1.67.1", ReleaseInfo()),
("v1.68.1", ReleaseInfo()),
]
),
"python": OrderedDict(

@ -585,8 +585,6 @@ class CLanguage(object):
"-DgRPC_SSL_PROVIDER=package",
],
)
elif compiler == "gcc12":
return ("gcc_12", ["-DCMAKE_CXX_STANDARD=20"])
elif compiler == "gcc12_openssl309":
return (
"debian12_openssl309",
@ -594,6 +592,8 @@ class CLanguage(object):
"-DgRPC_SSL_PROVIDER=package",
],
)
elif compiler == "gcc14":
return ("gcc_14", ["-DCMAKE_CXX_STANDARD=20"])
elif compiler == "gcc_musl":
return ("alpine", [])
elif compiler == "clang7":
@ -1705,8 +1705,8 @@ argp.add_argument(
"gcc10.2",
"gcc10.2_openssl102",
"gcc10.2_openssl111",
"gcc12",
"gcc12_openssl309",
"gcc14",
"gcc_musl",
"clang7",
"clang18",

@ -358,8 +358,8 @@ def _create_portability_test_jobs(
# TODO(b/283304471): Tests using OpenSSL's engine APIs were broken and removed
"gcc10.2_openssl102",
"gcc10.2_openssl111",
"gcc12",
"gcc12_openssl309",
"gcc14",
"gcc_musl",
"clang7",
"clang18",

Loading…
Cancel
Save