From 6eaec4f96e14a9171b84b5760d87e62956d28f3d Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 9 Jan 2024 12:09:07 -0800 Subject: [PATCH 1/4] [call-v3] Convert ServerConfigSelectorFilter (#35470) Closes #35470 COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35470 from ctiller:scsf 789b365616d67a95659a6e60b6364855311e0085 PiperOrigin-RevId: 597006442 --- .../server_config_selector_filter.cc | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc b/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc index 3d9a23fcc7c..b79090ddab9 100644 --- a/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +++ b/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc @@ -47,7 +47,8 @@ namespace grpc_core { namespace { -class ServerConfigSelectorFilter final : public ChannelFilter { +class ServerConfigSelectorFilter final + : public ImplementChannelFilter { public: ~ServerConfigSelectorFilter() override; @@ -60,8 +61,16 @@ class ServerConfigSelectorFilter final : public ChannelFilter { static absl::StatusOr Create( const ChannelArgs& args, ChannelFilter::Args); - ArenaPromise MakeCallPromise( - CallArgs call_args, NextPromiseFactory next_promise_factory) override; + class Call { + public: + absl::Status OnClientInitialMetadata(ClientMetadata& md, + ServerConfigSelectorFilter* filter); + static const NoInterceptor OnServerInitialMetadata; + static const NoInterceptor OnServerTrailingMetadata; + static const NoInterceptor OnClientToServerMessage; + static const NoInterceptor OnServerToClientMessage; + static const NoInterceptor OnFinalize; + }; absl::StatusOr> config_selector() { MutexLock lock(&state_->mu); @@ -130,25 +139,28 @@ ServerConfigSelectorFilter::~ServerConfigSelectorFilter() { } } -ArenaPromise ServerConfigSelectorFilter::MakeCallPromise( - CallArgs call_args, NextPromiseFactory next_promise_factory) { - auto sel = config_selector(); - if (!sel.ok()) return Immediate(ServerMetadataFromStatus(sel.status())); - auto call_config = - sel.value()->GetCallConfig(call_args.client_initial_metadata.get()); +absl::Status ServerConfigSelectorFilter::Call::OnClientInitialMetadata( + ClientMetadata& md, ServerConfigSelectorFilter* filter) { + auto sel = filter->config_selector(); + if (!sel.ok()) return sel.status(); + auto call_config = sel.value()->GetCallConfig(&md); if (!call_config.ok()) { - auto r = Immediate(ServerMetadataFromStatus( - absl::UnavailableError(StatusToString(call_config.status())))); - return std::move(r); + return absl::UnavailableError(StatusToString(call_config.status())); } auto* service_config_call_data = GetContext()->New( GetContext(), GetContext()); service_config_call_data->SetServiceConfig( std::move(call_config->service_config), call_config->method_configs); - return next_promise_factory(std::move(call_args)); + return absl::OkStatus(); } +const NoInterceptor ServerConfigSelectorFilter::Call::OnServerInitialMetadata; +const NoInterceptor ServerConfigSelectorFilter::Call::OnServerTrailingMetadata; +const NoInterceptor ServerConfigSelectorFilter::Call::OnClientToServerMessage; +const NoInterceptor ServerConfigSelectorFilter::Call::OnServerToClientMessage; +const NoInterceptor ServerConfigSelectorFilter::Call::OnFinalize; + } // namespace const grpc_channel_filter kServerConfigSelectorFilter = From e73b76a7daf33d756cb06f90aa0e5ab4e088d889 Mon Sep 17 00:00:00 2001 From: Eugene Ostroukhov Date: Tue, 9 Jan 2024 12:11:19 -0800 Subject: [PATCH 2/4] [Test] Fix bug in waiting for the Orca OOB report (#35467) Make sure there is no unnecessary delays when there are multiple reports in the queue. This change also adds a test for the custom LB policy. Closes #35467 COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35467 from eugeneo:tasks/orca-test-timeout-316026521 4aab50a1187586ce1375bc85231b70091ef9d3e2 PiperOrigin-RevId: 597007131 --- CMakeLists.txt | 50 ++++++ build_autogenerated.yaml | 18 ++ test/cpp/interop/BUILD | 16 ++ test/cpp/interop/backend_metrics_lb_policy.cc | 15 +- .../interop/backend_metrics_lb_policy_test.cc | 159 ++++++++++++++++++ test/cpp/interop/interop_client.cc | 10 +- tools/run_tests/generated/tests.json | 24 +++ 7 files changed, 284 insertions(+), 8 deletions(-) create mode 100644 test/cpp/interop/backend_metrics_lb_policy_test.cc diff --git a/CMakeLists.txt b/CMakeLists.txt index ab169d9afd3..1dbc6db5e0e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -880,6 +880,7 @@ if(gRPC_BUILD_TESTS) add_dependencies(buildtests_cxx avl_test) add_dependencies(buildtests_cxx aws_request_signer_test) add_dependencies(buildtests_cxx b64_test) + add_dependencies(buildtests_cxx backend_metrics_lb_policy_test) add_dependencies(buildtests_cxx backoff_test) add_dependencies(buildtests_cxx bad_ping_test) add_dependencies(buildtests_cxx bad_server_response_test) @@ -6853,6 +6854,55 @@ target_link_libraries(b64_test ) +endif() +if(gRPC_BUILD_TESTS) + +add_executable(backend_metrics_lb_policy_test + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h + ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h + src/cpp/server/orca/orca_service.cc + test/cpp/interop/backend_metrics_lb_policy.cc + test/cpp/interop/backend_metrics_lb_policy_test.cc +) +target_compile_features(backend_metrics_lb_policy_test PUBLIC cxx_std_14) +target_include_directories(backend_metrics_lb_policy_test + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/include + ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} + ${_gRPC_RE2_INCLUDE_DIR} + ${_gRPC_SSL_INCLUDE_DIR} + ${_gRPC_UPB_GENERATED_DIR} + ${_gRPC_UPB_GRPC_GENERATED_DIR} + ${_gRPC_UPB_INCLUDE_DIR} + ${_gRPC_XXHASH_INCLUDE_DIR} + ${_gRPC_ZLIB_INCLUDE_DIR} + third_party/googletest/googletest/include + third_party/googletest/googletest + third_party/googletest/googlemock/include + third_party/googletest/googlemock + ${_gRPC_PROTO_GENS_DIR} +) + +target_link_libraries(backend_metrics_lb_policy_test + ${_gRPC_ALLTARGETS_LIBRARIES} + gtest + grpc++ + grpc_test_util + grpc++_test_config +) + + endif() if(gRPC_BUILD_TESTS) diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index 92437f0ce8a..9f9385d801d 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -5849,6 +5849,24 @@ targets: - gtest - grpc_test_util uses_polling: false +- name: backend_metrics_lb_policy_test + gtest: true + build: test + language: c++ + headers: + - test/cpp/interop/backend_metrics_lb_policy.h + src: + - src/proto/grpc/testing/empty.proto + - src/proto/grpc/testing/messages.proto + - src/proto/grpc/testing/test.proto + - src/cpp/server/orca/orca_service.cc + - test/cpp/interop/backend_metrics_lb_policy.cc + - test/cpp/interop/backend_metrics_lb_policy_test.cc + deps: + - gtest + - grpc++ + - grpc_test_util + - grpc++_test_config - name: backoff_test gtest: true build: test diff --git a/test/cpp/interop/BUILD b/test/cpp/interop/BUILD index 8262b29ab27..6d5b80422c9 100644 --- a/test/cpp/interop/BUILD +++ b/test/cpp/interop/BUILD @@ -532,6 +532,22 @@ grpc_cc_library( ], ) +grpc_cc_test( + name = "backend_metrics_lb_policy_test", + srcs = [ + "backend_metrics_lb_policy_test.cc", + ], + external_deps = ["gtest"], + deps = [ + ":backend_metrics_lb_policy", + "//:grpc++", + "//:grpcpp_orca_service", + "//src/proto/grpc/testing:test_proto", + "//test/core/util:grpc_test_util", + "//test/cpp/util:test_config", + ], +) + grpc_cc_library( name = "rpc_behavior_lb_policy", srcs = [ diff --git a/test/cpp/interop/backend_metrics_lb_policy.cc b/test/cpp/interop/backend_metrics_lb_policy.cc index a10bd4f63a5..30f3bb18943 100644 --- a/test/cpp/interop/backend_metrics_lb_policy.cc +++ b/test/cpp/interop/backend_metrics_lb_policy.cc @@ -86,6 +86,11 @@ class BackendMetricsLbPolicy : public LoadBalancingPolicy { } absl::Status UpdateLocked(UpdateArgs args) override { + auto config = + CoreConfiguration::Get().lb_policy_registry().ParseLoadBalancingConfig( + grpc_core::Json::FromArray({grpc_core::Json::FromObject( + {{"pick_first", grpc_core::Json::FromObject({})}})})); + args.config = std::move(config.value()); return delegate_->UpdateLocked(std::move(args)); } @@ -249,14 +254,12 @@ LoadReportTracker::LoadReportEntry LoadReportTracker::WaitForOobLoadReport( grpc_core::MutexLock lock(&load_reports_mu_); // This condition will be called under lock for (size_t i = 0; i < max_attempts; i++) { - auto deadline = absl::Now() + poll_timeout; - // loop to handle spurious wakeups. - do { - if (absl::Now() >= deadline) { + if (oob_load_reports_.empty()) { + load_reports_cv_.WaitWithTimeout(&load_reports_mu_, poll_timeout); + if (oob_load_reports_.empty()) { return absl::nullopt; } - load_reports_cv_.WaitWithDeadline(&load_reports_mu_, deadline); - } while (oob_load_reports_.empty()); + } auto report = std::move(oob_load_reports_.front()); oob_load_reports_.pop_front(); if (predicate(report)) { diff --git a/test/cpp/interop/backend_metrics_lb_policy_test.cc b/test/cpp/interop/backend_metrics_lb_policy_test.cc new file mode 100644 index 00000000000..8ceae112fa8 --- /dev/null +++ b/test/cpp/interop/backend_metrics_lb_policy_test.cc @@ -0,0 +1,159 @@ +// +// +// Copyright 2024 gRPC authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// + +#include "test/cpp/interop/backend_metrics_lb_policy.h" + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include "src/core/lib/config/config_vars.h" +#include "src/core/lib/gprpp/sync.h" +#include "src/proto/grpc/testing/messages.pb.h" +#include "src/proto/grpc/testing/test.grpc.pb.h" +#include "test/core/util/port.h" +#include "test/core/util/test_config.h" + +namespace grpc { +namespace testing { +namespace { + +class EchoServiceImpl : public grpc::testing::TestService::CallbackService { + public: + grpc::ServerUnaryReactor* UnaryCall( + grpc::CallbackServerContext* context, + const grpc::testing::SimpleRequest* /* request */, + grpc::testing::SimpleResponse* /* response */) override { + auto reactor = context->DefaultReactor(); + reactor->Finish(grpc::Status::OK); + return reactor; + } +}; + +class Server { + public: + Server() : port_(grpc_pick_unused_port_or_die()) { + server_thread_ = std::thread(ServerLoop, this); + grpc_core::MutexLock lock(&mu_); + cond_.WaitWithTimeout(&mu_, absl::Seconds(1)); + } + + ~Server() { + server_->Shutdown(); + server_thread_.join(); + } + + std::string address() const { return absl::StrCat("localhost:", port_); } + + private: + static void ServerLoop(Server* server) { server->Run(); } + + void Run() { + ServerBuilder builder; + EchoServiceImpl service; + auto server_metric_recorder = + grpc::experimental::ServerMetricRecorder::Create(); + server_metric_recorder->SetCpuUtilization(.5f); + grpc::experimental::OrcaService orca_service( + server_metric_recorder.get(), + grpc::experimental::OrcaService::Options().set_min_report_duration( + absl::Seconds(1))); + builder.RegisterService(&orca_service); + builder.RegisterService(&service); + builder.AddListeningPort(address(), InsecureServerCredentials()); + auto grpc_server = builder.BuildAndStart(); + server_ = grpc_server.get(); + { + grpc_core::MutexLock lock(&mu_); + cond_.SignalAll(); + } + grpc_server->Wait(); + } + + int port_; + grpc_core::Mutex mu_; + grpc_core::CondVar cond_; + std::thread server_thread_; + grpc::Server* server_; +}; + +TEST(BackendMetricsLbPolicyTest, TestOobMetricsReceipt) { + LoadReportTracker tracker; + grpc_core::CoreConfiguration::RegisterBuilder(RegisterBackendMetricsLbPolicy); + Server server; + ChannelArguments args = tracker.GetChannelArguments(); + args.SetLoadBalancingPolicyName("test_backend_metrics_load_balancer"); + auto channel = grpc::CreateCustomChannel(server.address(), + InsecureChannelCredentials(), args); + auto stub = grpc::testing::TestService::Stub(channel); + ClientContext ctx; + SimpleRequest req; + SimpleResponse res; + grpc_core::Mutex mu; + grpc_core::CondVar cond; + absl::optional status; + + stub.async()->UnaryCall(&ctx, &req, &res, [&](auto s) { + grpc_core::MutexLock lock(&mu); + status = s; + cond.SignalAll(); + }); + // This report is sent on start, available immediately + auto report = tracker.WaitForOobLoadReport( + [](auto report) { return report.cpu_utilization() == 0.5; }, + absl::Milliseconds(1500), 3); + ASSERT_TRUE(report.has_value()); + EXPECT_EQ(report->cpu_utilization(), 0.5); + for (size_t i = 0; i < 3; i++) { + // Wait for slightly more than 1 min + report = tracker.WaitForOobLoadReport( + [](auto report) { return report.cpu_utilization() == 0.5; }, + absl::Milliseconds(1500), 3); + ASSERT_TRUE(report.has_value()); + EXPECT_EQ(report->cpu_utilization(), 0.5); + } + { + grpc_core::MutexLock lock(&mu); + if (!status.has_value()) { + cond.Wait(&mu); + } + ASSERT_TRUE(status.has_value()); + EXPECT_EQ(status->error_code(), grpc::StatusCode::OK); + } +} + +} // namespace +} // namespace testing +} // namespace grpc + +int main(int argc, char** argv) { + ::testing::InitGoogleTest(&argc, argv); + grpc::testing::TestEnvironment env(&argc, argv); + grpc_init(); + auto result = RUN_ALL_TESTS(); + grpc_shutdown(); + return result; +} diff --git a/test/cpp/interop/interop_client.cc b/test/cpp/interop/interop_client.cc index 04bc8022d27..0185957408e 100644 --- a/test/cpp/interop/interop_client.cc +++ b/test/cpp/interop/interop_client.cc @@ -40,6 +40,7 @@ #include #include +#include "src/core/lib/config/config_vars.h" #include "src/core/lib/config/core_configuration.h" #include "src/core/lib/gprpp/crash.h" #include "src/proto/grpc/testing/empty.pb.h" @@ -1022,8 +1023,13 @@ bool InteropClient::DoOrcaPerRpc() { bool InteropClient::DoOrcaOob() { static constexpr auto kTimeout = absl::Seconds(10); - gpr_log(GPR_DEBUG, "testing orca oob"); + gpr_log(GPR_INFO, "testing orca oob"); load_report_tracker_.ResetCollectedLoadReports(); + // Make the backup poller poll very frequently in order to pick up + // updates from all the subchannels's FDs. + grpc_core::ConfigVars::Overrides overrides; + overrides.client_channel_backup_poll_interval_ms = 250; + grpc_core::ConfigVars::SetOverrides(overrides); grpc_core::CoreConfiguration::RegisterBuilder(RegisterBackendMetricsLbPolicy); ClientContext context; std::unique_ptr Date: Tue, 9 Jan 2024 12:12:33 -0800 Subject: [PATCH 3/4] [Test] Bumped the timeout of the cpp distrib tests to 60 mins (#35479) `distribtest.cpp_linux_x64_debian10_aarch64_cross_cmake_aarch64_cross` has been timed out recently about 50% hitting 45 min deadline so let's bump this to 60 mins. (The timeout for windows is bumped as well for consistency) Closes #35479 COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35479 from veblush:long-cross-aarch64 8ad82d684cdc4ad655ec6cb9a22ed55cc6773544 PiperOrigin-RevId: 597007435 --- tools/run_tests/artifacts/distribtest_targets.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/run_tests/artifacts/distribtest_targets.py b/tools/run_tests/artifacts/distribtest_targets.py index 1e58b2c19fa..b611a1560a8 100644 --- a/tools/run_tests/artifacts/distribtest_targets.py +++ b/tools/run_tests/artifacts/distribtest_targets.py @@ -361,14 +361,14 @@ class CppDistribTest(object): "tools/dockerfile/distribtest/cpp_%s_%s" % (self.docker_suffix, self.arch), "test/distrib/cpp/run_distrib_test_%s.sh" % self.testcase, - timeout_seconds=45 * 60, + timeout_seconds=60 * 60, ) elif self.platform == "windows": return create_jobspec( self.name, ["test\\distrib\\cpp\\run_distrib_test_%s.bat" % self.testcase], environ={}, - timeout_seconds=45 * 60, + timeout_seconds=60 * 60, use_workspace=True, ) else: From 6cfa2e9edb145f8de5fee42243f40bfdd8878be3 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 9 Jan 2024 12:12:43 -0800 Subject: [PATCH 4/4] [chaotic-good] Disable cmake tests - these are not interesting (#35486) Closes #35486 COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35486 from ctiller:phooey 310a5cc762404ae899ffca17f258f390f3919c88 PiperOrigin-RevId: 597007485 --- CMakeLists.txt | 517 +----------- build_autogenerated.yaml | 798 +----------------- .../extract_metadata_from_bazel_xml.py | 7 + tools/run_tests/generated/tests.json | 124 +-- 4 files changed, 42 insertions(+), 1404 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1dbc6db5e0e..3d544e34f75 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -959,8 +959,6 @@ if(gRPC_BUILD_TESTS) add_dependencies(buildtests_cxx client_ssl_test) endif() add_dependencies(buildtests_cxx client_streaming_test) - add_dependencies(buildtests_cxx client_transport_error_test) - add_dependencies(buildtests_cxx client_transport_test) add_dependencies(buildtests_cxx cmdline_test) add_dependencies(buildtests_cxx codegen_test_full) add_dependencies(buildtests_cxx codegen_test_minimal) @@ -1045,7 +1043,7 @@ if(gRPC_BUILD_TESTS) add_dependencies(buildtests_cxx forkable_test) add_dependencies(buildtests_cxx format_request_test) add_dependencies(buildtests_cxx frame_handler_test) - add_dependencies(buildtests_cxx frame_header_test) + add_dependencies(buildtests_cxx frame_test) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) add_dependencies(buildtests_cxx fuzzing_event_engine_test) endif() @@ -1327,7 +1325,6 @@ if(gRPC_BUILD_TESTS) endif() add_dependencies(buildtests_cxx server_streaming_test) add_dependencies(buildtests_cxx server_test) - add_dependencies(buildtests_cxx server_transport_test) add_dependencies(buildtests_cxx service_config_end2end_test) add_dependencies(buildtests_cxx service_config_test) add_dependencies(buildtests_cxx settings_timeout_test) @@ -1404,8 +1401,6 @@ if(gRPC_BUILD_TESTS) add_dependencies(buildtests_cxx test_core_security_ssl_credentials_test) add_dependencies(buildtests_cxx test_core_slice_slice_buffer_test) add_dependencies(buildtests_cxx test_core_slice_slice_test) - add_dependencies(buildtests_cxx test_core_transport_chaotic_good_frame_test) - add_dependencies(buildtests_cxx test_core_transport_chttp2_frame_test) add_dependencies(buildtests_cxx test_cpp_client_credentials_test) add_dependencies(buildtests_cxx test_cpp_end2end_ssl_credentials_test) add_dependencies(buildtests_cxx test_cpp_server_credentials_test) @@ -9579,97 +9574,6 @@ target_link_libraries(client_streaming_test ) -endif() -if(gRPC_BUILD_TESTS) - -add_executable(client_transport_error_test - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.h - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.h - src/core/ext/transport/chaotic_good/chaotic_good_transport.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/lib/transport/promise_endpoint.cc - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc - test/core/transport/chaotic_good/client_transport_error_test.cc -) -target_compile_features(client_transport_error_test PUBLIC cxx_std_14) -target_include_directories(client_transport_error_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(client_transport_error_test - ${_gRPC_ALLTARGETS_LIBRARIES} - gtest - grpc_unsecure - ${_gRPC_PROTOBUF_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(client_transport_test - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.h - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.h - src/core/ext/transport/chaotic_good/chaotic_good_transport.cc - src/core/ext/transport/chaotic_good/client_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/lib/transport/promise_endpoint.cc - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc - test/core/transport/chaotic_good/client_transport_test.cc - test/core/transport/chaotic_good/mock_promise_endpoint.cc - test/core/transport/chaotic_good/transport_test.cc -) -target_compile_features(client_transport_test PUBLIC cxx_std_14) -target_include_directories(client_transport_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(client_transport_test - ${_gRPC_ALLTARGETS_LIBRARIES} - gtest - ${_gRPC_PROTOBUF_LIBRARIES} - grpc_test_util -) - - endif() if(gRPC_BUILD_TESTS) @@ -12579,12 +12483,17 @@ target_link_libraries(frame_handler_test endif() if(gRPC_BUILD_TESTS) -add_executable(frame_header_test - src/core/ext/transport/chaotic_good/frame_header.cc - test/core/transport/chaotic_good/frame_header_test.cc +add_executable(frame_test + src/core/ext/transport/chttp2/transport/frame.cc + src/core/lib/debug/trace.cc + src/core/lib/slice/slice.cc + src/core/lib/slice/slice_buffer.cc + src/core/lib/slice/slice_refcount.cc + src/core/lib/slice/slice_string_helpers.cc + test/core/transport/chttp2/frame_test.cc ) -target_compile_features(frame_header_test PUBLIC cxx_std_14) -target_include_directories(frame_header_test +target_compile_features(frame_test PUBLIC cxx_std_14) +target_include_directories(frame_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include @@ -12603,10 +12512,12 @@ target_include_directories(frame_header_test ${_gRPC_PROTO_GENS_DIR} ) -target_link_libraries(frame_header_test +target_link_libraries(frame_test ${_gRPC_ALLTARGETS_LIBRARIES} gtest + absl::hash absl::statusor + absl::span gpr ) @@ -22439,52 +22350,6 @@ target_link_libraries(server_test ) -endif() -if(gRPC_BUILD_TESTS) - -add_executable(server_transport_test - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.h - ${_gRPC_PROTO_GENS_DIR}/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.grpc.pb.h - src/core/ext/transport/chaotic_good/chaotic_good_transport.cc - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chaotic_good/server_transport.cc - src/core/lib/transport/promise_endpoint.cc - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc - test/core/transport/chaotic_good/mock_promise_endpoint.cc - test/core/transport/chaotic_good/server_transport_test.cc - test/core/transport/chaotic_good/transport_test.cc -) -target_compile_features(server_transport_test PUBLIC cxx_std_14) -target_include_directories(server_transport_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(server_transport_test - ${_gRPC_ALLTARGETS_LIBRARIES} - gtest - ${_gRPC_PROTOBUF_LIBRARIES} - grpc_test_util -) - - endif() if(gRPC_BUILD_TESTS) @@ -24724,360 +24589,6 @@ target_link_libraries(test_core_slice_slice_test ) -endif() -if(gRPC_BUILD_TESTS) - -add_executable(test_core_transport_chaotic_good_frame_test - src/core/ext/transport/chaotic_good/frame.cc - src/core/ext/transport/chaotic_good/frame_header.cc - src/core/ext/transport/chttp2/transport/bin_encoder.cc - src/core/ext/transport/chttp2/transport/decode_huff.cc - src/core/ext/transport/chttp2/transport/hpack_encoder.cc - src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc - src/core/ext/transport/chttp2/transport/hpack_parse_result.cc - src/core/ext/transport/chttp2/transport/hpack_parser.cc - src/core/ext/transport/chttp2/transport/hpack_parser_table.cc - src/core/ext/transport/chttp2/transport/http_trace.cc - src/core/ext/transport/chttp2/transport/huffsyms.cc - src/core/ext/transport/chttp2/transport/varint.cc - src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c - src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c - src/core/ext/upb-gen/google/rpc/status.upb_minitable.c - src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c - src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c - src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c - src/core/lib/address_utils/parse_address.cc - src/core/lib/address_utils/sockaddr_utils.cc - src/core/lib/backoff/backoff.cc - src/core/lib/backoff/random_early_detection.cc - src/core/lib/channel/call_tracer.cc - src/core/lib/channel/channel_args.cc - src/core/lib/channel/channel_args_preconditioning.cc - src/core/lib/channel/channel_stack.cc - src/core/lib/channel/channel_stack_builder.cc - src/core/lib/channel/channel_stack_builder_impl.cc - src/core/lib/channel/channel_stack_trace.cc - src/core/lib/channel/channel_trace.cc - src/core/lib/channel/channelz.cc - src/core/lib/channel/channelz_registry.cc - src/core/lib/channel/connected_channel.cc - src/core/lib/channel/promise_based_filter.cc - src/core/lib/channel/server_call_tracer_filter.cc - src/core/lib/channel/status_util.cc - src/core/lib/compression/compression.cc - src/core/lib/compression/compression_internal.cc - src/core/lib/compression/message_compress.cc - src/core/lib/config/core_configuration.cc - src/core/lib/debug/event_log.cc - src/core/lib/debug/histogram_view.cc - src/core/lib/debug/stats.cc - src/core/lib/debug/stats_data.cc - src/core/lib/debug/trace.cc - src/core/lib/event_engine/ares_resolver.cc - src/core/lib/event_engine/cf_engine/cf_engine.cc - src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc - src/core/lib/event_engine/cf_engine/dns_service_resolver.cc - src/core/lib/event_engine/channel_args_endpoint_config.cc - src/core/lib/event_engine/default_event_engine.cc - src/core/lib/event_engine/default_event_engine_factory.cc - src/core/lib/event_engine/event_engine.cc - src/core/lib/event_engine/forkable.cc - src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc - src/core/lib/event_engine/posix_engine/ev_poll_posix.cc - src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc - src/core/lib/event_engine/posix_engine/internal_errqueue.cc - src/core/lib/event_engine/posix_engine/lockfree_event.cc - src/core/lib/event_engine/posix_engine/native_dns_resolver.cc - src/core/lib/event_engine/posix_engine/posix_endpoint.cc - src/core/lib/event_engine/posix_engine/posix_engine.cc - src/core/lib/event_engine/posix_engine/posix_engine_listener.cc - src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc - src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc - src/core/lib/event_engine/posix_engine/timer.cc - src/core/lib/event_engine/posix_engine/timer_heap.cc - src/core/lib/event_engine/posix_engine/timer_manager.cc - src/core/lib/event_engine/posix_engine/traced_buffer_list.cc - src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc - src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc - src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc - src/core/lib/event_engine/resolved_address.cc - src/core/lib/event_engine/shim.cc - src/core/lib/event_engine/slice.cc - src/core/lib/event_engine/slice_buffer.cc - src/core/lib/event_engine/tcp_socket_utils.cc - src/core/lib/event_engine/thread_pool/thread_count.cc - src/core/lib/event_engine/thread_pool/thread_pool_factory.cc - src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc - src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc - src/core/lib/event_engine/time_util.cc - src/core/lib/event_engine/trace.cc - src/core/lib/event_engine/utils.cc - src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc - src/core/lib/event_engine/windows/iocp.cc - src/core/lib/event_engine/windows/native_windows_dns_resolver.cc - src/core/lib/event_engine/windows/win_socket.cc - src/core/lib/event_engine/windows/windows_endpoint.cc - src/core/lib/event_engine/windows/windows_engine.cc - src/core/lib/event_engine/windows/windows_listener.cc - src/core/lib/event_engine/work_queue/basic_work_queue.cc - src/core/lib/experiments/config.cc - src/core/lib/experiments/experiments.cc - src/core/lib/gprpp/load_file.cc - src/core/lib/gprpp/per_cpu.cc - src/core/lib/gprpp/ref_counted_string.cc - src/core/lib/gprpp/status_helper.cc - src/core/lib/gprpp/time.cc - src/core/lib/gprpp/time_averaged_stats.cc - src/core/lib/gprpp/validation_errors.cc - src/core/lib/gprpp/work_serializer.cc - src/core/lib/handshaker/proxy_mapper_registry.cc - src/core/lib/iomgr/buffer_list.cc - src/core/lib/iomgr/call_combiner.cc - src/core/lib/iomgr/cfstream_handle.cc - src/core/lib/iomgr/closure.cc - src/core/lib/iomgr/combiner.cc - src/core/lib/iomgr/dualstack_socket_posix.cc - src/core/lib/iomgr/endpoint.cc - src/core/lib/iomgr/endpoint_cfstream.cc - src/core/lib/iomgr/endpoint_pair_posix.cc - src/core/lib/iomgr/endpoint_pair_windows.cc - src/core/lib/iomgr/error.cc - src/core/lib/iomgr/error_cfstream.cc - src/core/lib/iomgr/ev_apple.cc - src/core/lib/iomgr/ev_epoll1_linux.cc - src/core/lib/iomgr/ev_poll_posix.cc - src/core/lib/iomgr/ev_posix.cc - src/core/lib/iomgr/ev_windows.cc - src/core/lib/iomgr/event_engine_shims/closure.cc - src/core/lib/iomgr/event_engine_shims/endpoint.cc - src/core/lib/iomgr/event_engine_shims/tcp_client.cc - src/core/lib/iomgr/exec_ctx.cc - src/core/lib/iomgr/executor.cc - src/core/lib/iomgr/fork_posix.cc - src/core/lib/iomgr/fork_windows.cc - src/core/lib/iomgr/gethostname_fallback.cc - src/core/lib/iomgr/gethostname_host_name_max.cc - src/core/lib/iomgr/gethostname_sysconf.cc - src/core/lib/iomgr/grpc_if_nametoindex_posix.cc - src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc - src/core/lib/iomgr/internal_errqueue.cc - src/core/lib/iomgr/iocp_windows.cc - src/core/lib/iomgr/iomgr.cc - src/core/lib/iomgr/iomgr_internal.cc - src/core/lib/iomgr/iomgr_posix.cc - src/core/lib/iomgr/iomgr_posix_cfstream.cc - src/core/lib/iomgr/iomgr_windows.cc - src/core/lib/iomgr/load_file.cc - src/core/lib/iomgr/lockfree_event.cc - src/core/lib/iomgr/polling_entity.cc - src/core/lib/iomgr/pollset.cc - src/core/lib/iomgr/pollset_set.cc - src/core/lib/iomgr/pollset_set_windows.cc - src/core/lib/iomgr/pollset_windows.cc - src/core/lib/iomgr/resolve_address.cc - src/core/lib/iomgr/resolve_address_posix.cc - src/core/lib/iomgr/resolve_address_windows.cc - src/core/lib/iomgr/sockaddr_utils_posix.cc - src/core/lib/iomgr/socket_factory_posix.cc - src/core/lib/iomgr/socket_mutator.cc - src/core/lib/iomgr/socket_utils_common_posix.cc - src/core/lib/iomgr/socket_utils_linux.cc - src/core/lib/iomgr/socket_utils_posix.cc - src/core/lib/iomgr/socket_utils_windows.cc - src/core/lib/iomgr/socket_windows.cc - src/core/lib/iomgr/systemd_utils.cc - src/core/lib/iomgr/tcp_client.cc - src/core/lib/iomgr/tcp_client_cfstream.cc - src/core/lib/iomgr/tcp_client_posix.cc - src/core/lib/iomgr/tcp_client_windows.cc - src/core/lib/iomgr/tcp_posix.cc - src/core/lib/iomgr/tcp_server.cc - src/core/lib/iomgr/tcp_server_posix.cc - src/core/lib/iomgr/tcp_server_utils_posix_common.cc - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc - src/core/lib/iomgr/tcp_server_windows.cc - src/core/lib/iomgr/tcp_windows.cc - src/core/lib/iomgr/timer.cc - src/core/lib/iomgr/timer_generic.cc - src/core/lib/iomgr/timer_heap.cc - src/core/lib/iomgr/timer_manager.cc - src/core/lib/iomgr/unix_sockets_posix.cc - src/core/lib/iomgr/unix_sockets_posix_noop.cc - src/core/lib/iomgr/vsock.cc - src/core/lib/iomgr/wakeup_fd_eventfd.cc - src/core/lib/iomgr/wakeup_fd_nospecial.cc - src/core/lib/iomgr/wakeup_fd_pipe.cc - src/core/lib/iomgr/wakeup_fd_posix.cc - src/core/lib/json/json_writer.cc - src/core/lib/load_balancing/lb_policy.cc - src/core/lib/load_balancing/lb_policy_registry.cc - src/core/lib/promise/activity.cc - src/core/lib/promise/party.cc - src/core/lib/promise/trace.cc - src/core/lib/resolver/endpoint_addresses.cc - src/core/lib/resolver/resolver.cc - src/core/lib/resolver/resolver_registry.cc - src/core/lib/resource_quota/api.cc - src/core/lib/resource_quota/arena.cc - src/core/lib/resource_quota/memory_quota.cc - src/core/lib/resource_quota/periodic_update.cc - src/core/lib/resource_quota/resource_quota.cc - src/core/lib/resource_quota/thread_quota.cc - src/core/lib/resource_quota/trace.cc - src/core/lib/security/certificate_provider/certificate_provider_registry.cc - src/core/lib/security/credentials/alts/check_gcp_environment.cc - src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc - src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc - src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc - src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc - src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc - src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc - src/core/lib/service_config/service_config_parser.cc - src/core/lib/slice/b64.cc - src/core/lib/slice/percent_encoding.cc - src/core/lib/slice/slice.cc - src/core/lib/slice/slice_buffer.cc - src/core/lib/slice/slice_refcount.cc - src/core/lib/slice/slice_string_helpers.cc - src/core/lib/surface/api_trace.cc - src/core/lib/surface/builtins.cc - src/core/lib/surface/byte_buffer.cc - src/core/lib/surface/byte_buffer_reader.cc - src/core/lib/surface/call.cc - src/core/lib/surface/call_details.cc - src/core/lib/surface/call_log_batch.cc - src/core/lib/surface/call_trace.cc - src/core/lib/surface/channel.cc - src/core/lib/surface/channel_init.cc - src/core/lib/surface/channel_ping.cc - src/core/lib/surface/channel_stack_type.cc - src/core/lib/surface/completion_queue.cc - src/core/lib/surface/completion_queue_factory.cc - src/core/lib/surface/event_string.cc - src/core/lib/surface/init_internally.cc - src/core/lib/surface/lame_client.cc - src/core/lib/surface/metadata_array.cc - src/core/lib/surface/server.cc - src/core/lib/surface/validate_metadata.cc - src/core/lib/surface/version.cc - src/core/lib/transport/batch_builder.cc - src/core/lib/transport/connectivity_state.cc - src/core/lib/transport/error_utils.cc - src/core/lib/transport/handshaker_registry.cc - src/core/lib/transport/metadata_batch.cc - src/core/lib/transport/parsed_metadata.cc - src/core/lib/transport/status_conversion.cc - src/core/lib/transport/timeout_encoding.cc - src/core/lib/transport/transport.cc - src/core/lib/transport/transport_op_string.cc - src/core/lib/uri/uri_parser.cc - src/core/tsi/alts/handshaker/transport_security_common_api.cc - test/core/transport/chaotic_good/frame_test.cc - third_party/upb/upb/hash/common.c - third_party/upb/upb/message/accessors.c - third_party/upb/upb/message/array.c - third_party/upb/upb/message/map.c - third_party/upb/upb/message/map_sorter.c - third_party/upb/upb/message/message.c - third_party/upb/upb/mini_descriptor/build_enum.c - third_party/upb/upb/mini_descriptor/decode.c - third_party/upb/upb/mini_descriptor/internal/base92.c - third_party/upb/upb/mini_descriptor/internal/encode.c - third_party/upb/upb/mini_descriptor/link.c - third_party/upb/upb/mini_table/extension_registry.c - third_party/upb/upb/mini_table/internal/message.c - third_party/upb/upb/mini_table/message.c - third_party/upb/upb/wire/decode.c - third_party/upb/upb/wire/decode_fast.c - third_party/upb/upb/wire/encode.c - third_party/upb/upb/wire/eps_copy_input_stream.c - third_party/upb/upb/wire/reader.c -) -target_compile_features(test_core_transport_chaotic_good_frame_test PUBLIC cxx_std_14) -target_include_directories(test_core_transport_chaotic_good_frame_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(test_core_transport_chaotic_good_frame_test - ${_gRPC_ALLTARGETS_LIBRARIES} - gtest - upb - utf8_range_lib - ${_gRPC_ZLIB_LIBRARIES} - absl::cleanup - absl::flat_hash_map - absl::inlined_vector - absl::function_ref - absl::hash - absl::type_traits - absl::random_bit_gen_ref - absl::random_distributions - absl::statusor - absl::span - absl::utility - ${_gRPC_CARES_LIBRARIES} - gpr -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(test_core_transport_chttp2_frame_test - src/core/ext/transport/chttp2/transport/frame.cc - src/core/lib/debug/trace.cc - src/core/lib/slice/slice.cc - src/core/lib/slice/slice_buffer.cc - src/core/lib/slice/slice_refcount.cc - src/core/lib/slice/slice_string_helpers.cc - test/core/transport/chttp2/frame_test.cc -) -target_compile_features(test_core_transport_chttp2_frame_test PUBLIC cxx_std_14) -target_include_directories(test_core_transport_chttp2_frame_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(test_core_transport_chttp2_frame_test - ${_gRPC_ALLTARGETS_LIBRARIES} - gtest - absl::hash - absl::statusor - absl::span - gpr -) - - endif() if(gRPC_BUILD_TESTS) diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index 9f9385d801d..4eecb357b2f 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -7665,70 +7665,6 @@ targets: - grpc_authorization_provider - grpc_unsecure - grpc_test_util -- name: client_transport_error_test - gtest: true - build: test - language: c++ - headers: - - src/core/ext/transport/chaotic_good/chaotic_good_transport.h - - src/core/ext/transport/chaotic_good/client_transport.h - - src/core/ext/transport/chaotic_good/frame.h - - src/core/ext/transport/chaotic_good/frame_header.h - - src/core/lib/promise/event_engine_wakeup_scheduler.h - - src/core/lib/promise/inter_activity_pipe.h - - src/core/lib/promise/join.h - - src/core/lib/promise/mpsc.h - - src/core/lib/promise/wait_set.h - - src/core/lib/transport/promise_endpoint.h - - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h - src: - - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto - - src/core/ext/transport/chaotic_good/chaotic_good_transport.cc - - src/core/ext/transport/chaotic_good/client_transport.cc - - src/core/ext/transport/chaotic_good/frame.cc - - src/core/ext/transport/chaotic_good/frame_header.cc - - src/core/lib/transport/promise_endpoint.cc - - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc - - test/core/transport/chaotic_good/client_transport_error_test.cc - deps: - - gtest - - grpc_unsecure - - protobuf - - grpc_test_util - uses_polling: false -- name: client_transport_test - gtest: true - build: test - language: c++ - headers: - - src/core/ext/transport/chaotic_good/chaotic_good_transport.h - - src/core/ext/transport/chaotic_good/client_transport.h - - src/core/ext/transport/chaotic_good/frame.h - - src/core/ext/transport/chaotic_good/frame_header.h - - src/core/lib/promise/event_engine_wakeup_scheduler.h - - src/core/lib/promise/inter_activity_pipe.h - - src/core/lib/promise/mpsc.h - - src/core/lib/promise/wait_set.h - - src/core/lib/transport/promise_endpoint.h - - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h - - test/core/transport/chaotic_good/mock_promise_endpoint.h - - test/core/transport/chaotic_good/transport_test.h - src: - - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto - - src/core/ext/transport/chaotic_good/chaotic_good_transport.cc - - src/core/ext/transport/chaotic_good/client_transport.cc - - src/core/ext/transport/chaotic_good/frame.cc - - src/core/ext/transport/chaotic_good/frame_header.cc - - src/core/lib/transport/promise_endpoint.cc - - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc - - test/core/transport/chaotic_good/client_transport_test.cc - - test/core/transport/chaotic_good/mock_promise_endpoint.cc - - test/core/transport/chaotic_good/transport_test.cc - deps: - - gtest - - protobuf - - grpc_test_util - uses_polling: false - name: cmdline_test gtest: true build: test @@ -9674,20 +9610,34 @@ targets: deps: - gtest - grpc_test_util -- name: frame_header_test +- name: frame_test gtest: true build: test language: c++ headers: - - src/core/ext/transport/chaotic_good/frame_header.h - - src/core/lib/gprpp/bitset.h + - src/core/ext/transport/chttp2/transport/frame.h + - src/core/lib/debug/trace.h + - src/core/lib/slice/slice.h + - src/core/lib/slice/slice_buffer.h + - src/core/lib/slice/slice_internal.h + - src/core/lib/slice/slice_refcount.h + - src/core/lib/slice/slice_string_helpers.h + - src/core/lib/transport/http2_errors.h src: - - src/core/ext/transport/chaotic_good/frame_header.cc - - test/core/transport/chaotic_good/frame_header_test.cc + - src/core/ext/transport/chttp2/transport/frame.cc + - src/core/lib/debug/trace.cc + - src/core/lib/slice/slice.cc + - src/core/lib/slice/slice_buffer.cc + - src/core/lib/slice/slice_refcount.cc + - src/core/lib/slice/slice_string_helpers.cc + - test/core/transport/chttp2/frame_test.cc deps: - gtest + - absl/hash:hash - absl/status:statusor + - absl/types:span - gpr + uses_polling: false - name: fuzzing_event_engine_test gtest: true build: test @@ -15600,40 +15550,6 @@ targets: deps: - gtest - grpc_test_util -- name: server_transport_test - gtest: true - build: test - language: c++ - headers: - - src/core/ext/transport/chaotic_good/chaotic_good_transport.h - - src/core/ext/transport/chaotic_good/frame.h - - src/core/ext/transport/chaotic_good/frame_header.h - - src/core/ext/transport/chaotic_good/server_transport.h - - src/core/lib/promise/event_engine_wakeup_scheduler.h - - src/core/lib/promise/inter_activity_pipe.h - - src/core/lib/promise/mpsc.h - - src/core/lib/promise/switch.h - - src/core/lib/promise/wait_set.h - - src/core/lib/transport/promise_endpoint.h - - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.h - - test/core/transport/chaotic_good/mock_promise_endpoint.h - - test/core/transport/chaotic_good/transport_test.h - src: - - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.proto - - src/core/ext/transport/chaotic_good/chaotic_good_transport.cc - - src/core/ext/transport/chaotic_good/frame.cc - - src/core/ext/transport/chaotic_good/frame_header.cc - - src/core/ext/transport/chaotic_good/server_transport.cc - - src/core/lib/transport/promise_endpoint.cc - - test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc - - test/core/transport/chaotic_good/mock_promise_endpoint.cc - - test/core/transport/chaotic_good/server_transport_test.cc - - test/core/transport/chaotic_good/transport_test.cc - deps: - - gtest - - protobuf - - grpc_test_util - uses_polling: false - name: service_config_end2end_test gtest: true build: test @@ -16836,682 +16752,6 @@ targets: - gtest - grpc uses_polling: false -- name: test_core_transport_chaotic_good_frame_test - gtest: true - build: test - language: c++ - headers: - - src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h - - src/core/ext/transport/chaotic_good/frame.h - - src/core/ext/transport/chaotic_good/frame_header.h - - src/core/ext/transport/chttp2/transport/bin_encoder.h - - src/core/ext/transport/chttp2/transport/decode_huff.h - - src/core/ext/transport/chttp2/transport/hpack_constants.h - - src/core/ext/transport/chttp2/transport/hpack_encoder.h - - src/core/ext/transport/chttp2/transport/hpack_encoder_table.h - - src/core/ext/transport/chttp2/transport/hpack_parse_result.h - - src/core/ext/transport/chttp2/transport/hpack_parser.h - - src/core/ext/transport/chttp2/transport/hpack_parser_table.h - - src/core/ext/transport/chttp2/transport/http_trace.h - - src/core/ext/transport/chttp2/transport/huffsyms.h - - src/core/ext/transport/chttp2/transport/legacy_frame.h - - src/core/ext/transport/chttp2/transport/varint.h - - src/core/ext/upb-gen/google/protobuf/any.upb.h - - src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h - - src/core/ext/upb-gen/google/protobuf/descriptor.upb.h - - src/core/ext/upb-gen/google/rpc/status.upb.h - - src/core/ext/upb-gen/google/rpc/status.upb_minitable.h - - src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h - - src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h - - src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h - - src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h - - src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h - - src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h - - src/core/lib/address_utils/parse_address.h - - src/core/lib/address_utils/sockaddr_utils.h - - src/core/lib/avl/avl.h - - src/core/lib/backoff/backoff.h - - src/core/lib/backoff/random_early_detection.h - - src/core/lib/channel/call_finalization.h - - src/core/lib/channel/call_tracer.h - - src/core/lib/channel/channel_args.h - - src/core/lib/channel/channel_args_preconditioning.h - - src/core/lib/channel/channel_fwd.h - - src/core/lib/channel/channel_stack.h - - src/core/lib/channel/channel_stack_builder.h - - src/core/lib/channel/channel_stack_builder_impl.h - - src/core/lib/channel/channel_stack_trace.h - - src/core/lib/channel/channel_trace.h - - src/core/lib/channel/channelz.h - - src/core/lib/channel/channelz_registry.h - - src/core/lib/channel/connected_channel.h - - src/core/lib/channel/context.h - - src/core/lib/channel/promise_based_filter.h - - src/core/lib/channel/status_util.h - - src/core/lib/channel/tcp_tracer.h - - src/core/lib/compression/compression_internal.h - - src/core/lib/compression/message_compress.h - - src/core/lib/config/core_configuration.h - - src/core/lib/debug/event_log.h - - src/core/lib/debug/histogram_view.h - - src/core/lib/debug/stats.h - - src/core/lib/debug/stats_data.h - - src/core/lib/debug/trace.h - - src/core/lib/event_engine/ares_resolver.h - - src/core/lib/event_engine/cf_engine/cf_engine.h - - src/core/lib/event_engine/cf_engine/cfstream_endpoint.h - - src/core/lib/event_engine/cf_engine/cftype_unique_ref.h - - src/core/lib/event_engine/cf_engine/dns_service_resolver.h - - src/core/lib/event_engine/channel_args_endpoint_config.h - - src/core/lib/event_engine/common_closures.h - - src/core/lib/event_engine/default_event_engine.h - - src/core/lib/event_engine/default_event_engine_factory.h - - src/core/lib/event_engine/forkable.h - - src/core/lib/event_engine/grpc_polled_fd.h - - src/core/lib/event_engine/handle_containers.h - - src/core/lib/event_engine/memory_allocator_factory.h - - src/core/lib/event_engine/nameser.h - - src/core/lib/event_engine/poller.h - - src/core/lib/event_engine/posix.h - - src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h - - src/core/lib/event_engine/posix_engine/ev_poll_posix.h - - src/core/lib/event_engine/posix_engine/event_poller.h - - src/core/lib/event_engine/posix_engine/event_poller_posix_default.h - - src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h - - src/core/lib/event_engine/posix_engine/internal_errqueue.h - - src/core/lib/event_engine/posix_engine/lockfree_event.h - - src/core/lib/event_engine/posix_engine/native_dns_resolver.h - - src/core/lib/event_engine/posix_engine/posix_endpoint.h - - src/core/lib/event_engine/posix_engine/posix_engine.h - - src/core/lib/event_engine/posix_engine/posix_engine_closure.h - - src/core/lib/event_engine/posix_engine/posix_engine_listener.h - - src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h - - src/core/lib/event_engine/posix_engine/tcp_socket_utils.h - - src/core/lib/event_engine/posix_engine/timer.h - - src/core/lib/event_engine/posix_engine/timer_heap.h - - src/core/lib/event_engine/posix_engine/timer_manager.h - - src/core/lib/event_engine/posix_engine/traced_buffer_list.h - - src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h - - src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h - - src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h - - src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h - - src/core/lib/event_engine/ref_counted_dns_resolver_interface.h - - src/core/lib/event_engine/resolved_address_internal.h - - src/core/lib/event_engine/shim.h - - src/core/lib/event_engine/tcp_socket_utils.h - - src/core/lib/event_engine/thread_pool/thread_count.h - - src/core/lib/event_engine/thread_pool/thread_pool.h - - src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h - - src/core/lib/event_engine/thready_event_engine/thready_event_engine.h - - src/core/lib/event_engine/time_util.h - - src/core/lib/event_engine/trace.h - - src/core/lib/event_engine/utils.h - - src/core/lib/event_engine/windows/grpc_polled_fd_windows.h - - src/core/lib/event_engine/windows/iocp.h - - src/core/lib/event_engine/windows/native_windows_dns_resolver.h - - src/core/lib/event_engine/windows/win_socket.h - - src/core/lib/event_engine/windows/windows_endpoint.h - - src/core/lib/event_engine/windows/windows_engine.h - - src/core/lib/event_engine/windows/windows_listener.h - - src/core/lib/event_engine/work_queue/basic_work_queue.h - - src/core/lib/event_engine/work_queue/work_queue.h - - src/core/lib/experiments/config.h - - src/core/lib/experiments/experiments.h - - src/core/lib/gpr/spinlock.h - - src/core/lib/gprpp/atomic_utils.h - - src/core/lib/gprpp/bitset.h - - src/core/lib/gprpp/chunked_vector.h - - src/core/lib/gprpp/cpp_impl_of.h - - src/core/lib/gprpp/dual_ref_counted.h - - src/core/lib/gprpp/if_list.h - - src/core/lib/gprpp/load_file.h - - src/core/lib/gprpp/manual_constructor.h - - src/core/lib/gprpp/match.h - - src/core/lib/gprpp/notification.h - - src/core/lib/gprpp/orphanable.h - - src/core/lib/gprpp/overload.h - - src/core/lib/gprpp/packed_table.h - - src/core/lib/gprpp/per_cpu.h - - src/core/lib/gprpp/ref_counted.h - - src/core/lib/gprpp/ref_counted_ptr.h - - src/core/lib/gprpp/ref_counted_string.h - - src/core/lib/gprpp/sorted_pack.h - - src/core/lib/gprpp/status_helper.h - - src/core/lib/gprpp/table.h - - src/core/lib/gprpp/time.h - - src/core/lib/gprpp/time_averaged_stats.h - - src/core/lib/gprpp/type_list.h - - src/core/lib/gprpp/unique_type_name.h - - src/core/lib/gprpp/validation_errors.h - - src/core/lib/gprpp/work_serializer.h - - src/core/lib/handshaker/proxy_mapper.h - - src/core/lib/handshaker/proxy_mapper_registry.h - - src/core/lib/iomgr/block_annotate.h - - src/core/lib/iomgr/buffer_list.h - - src/core/lib/iomgr/call_combiner.h - - src/core/lib/iomgr/cfstream_handle.h - - src/core/lib/iomgr/closure.h - - src/core/lib/iomgr/combiner.h - - src/core/lib/iomgr/dynamic_annotations.h - - src/core/lib/iomgr/endpoint.h - - src/core/lib/iomgr/endpoint_cfstream.h - - src/core/lib/iomgr/endpoint_pair.h - - src/core/lib/iomgr/error.h - - src/core/lib/iomgr/error_cfstream.h - - src/core/lib/iomgr/ev_apple.h - - src/core/lib/iomgr/ev_epoll1_linux.h - - src/core/lib/iomgr/ev_poll_posix.h - - src/core/lib/iomgr/ev_posix.h - - src/core/lib/iomgr/event_engine_shims/closure.h - - src/core/lib/iomgr/event_engine_shims/endpoint.h - - src/core/lib/iomgr/event_engine_shims/tcp_client.h - - src/core/lib/iomgr/exec_ctx.h - - src/core/lib/iomgr/executor.h - - src/core/lib/iomgr/gethostname.h - - src/core/lib/iomgr/grpc_if_nametoindex.h - - src/core/lib/iomgr/internal_errqueue.h - - src/core/lib/iomgr/iocp_windows.h - - src/core/lib/iomgr/iomgr.h - - src/core/lib/iomgr/iomgr_fwd.h - - src/core/lib/iomgr/iomgr_internal.h - - src/core/lib/iomgr/load_file.h - - src/core/lib/iomgr/lockfree_event.h - - src/core/lib/iomgr/nameser.h - - src/core/lib/iomgr/polling_entity.h - - src/core/lib/iomgr/pollset.h - - src/core/lib/iomgr/pollset_set.h - - src/core/lib/iomgr/pollset_set_windows.h - - src/core/lib/iomgr/pollset_windows.h - - src/core/lib/iomgr/port.h - - src/core/lib/iomgr/python_util.h - - src/core/lib/iomgr/resolve_address.h - - src/core/lib/iomgr/resolve_address_impl.h - - src/core/lib/iomgr/resolve_address_posix.h - - src/core/lib/iomgr/resolve_address_windows.h - - src/core/lib/iomgr/resolved_address.h - - src/core/lib/iomgr/sockaddr.h - - src/core/lib/iomgr/sockaddr_posix.h - - src/core/lib/iomgr/sockaddr_windows.h - - src/core/lib/iomgr/socket_factory_posix.h - - src/core/lib/iomgr/socket_mutator.h - - src/core/lib/iomgr/socket_utils.h - - src/core/lib/iomgr/socket_utils_posix.h - - src/core/lib/iomgr/socket_windows.h - - src/core/lib/iomgr/systemd_utils.h - - src/core/lib/iomgr/tcp_client.h - - src/core/lib/iomgr/tcp_client_posix.h - - src/core/lib/iomgr/tcp_posix.h - - src/core/lib/iomgr/tcp_server.h - - src/core/lib/iomgr/tcp_server_utils_posix.h - - src/core/lib/iomgr/tcp_windows.h - - src/core/lib/iomgr/timer.h - - src/core/lib/iomgr/timer_generic.h - - src/core/lib/iomgr/timer_heap.h - - src/core/lib/iomgr/timer_manager.h - - src/core/lib/iomgr/unix_sockets_posix.h - - src/core/lib/iomgr/vsock.h - - src/core/lib/iomgr/wakeup_fd_pipe.h - - src/core/lib/iomgr/wakeup_fd_posix.h - - src/core/lib/json/json.h - - src/core/lib/json/json_args.h - - src/core/lib/json/json_writer.h - - src/core/lib/load_balancing/lb_policy.h - - src/core/lib/load_balancing/lb_policy_factory.h - - src/core/lib/load_balancing/lb_policy_registry.h - - src/core/lib/load_balancing/subchannel_interface.h - - src/core/lib/promise/activity.h - - src/core/lib/promise/all_ok.h - - src/core/lib/promise/arena_promise.h - - src/core/lib/promise/cancel_callback.h - - src/core/lib/promise/context.h - - src/core/lib/promise/detail/basic_seq.h - - src/core/lib/promise/detail/join_state.h - - src/core/lib/promise/detail/promise_factory.h - - src/core/lib/promise/detail/promise_like.h - - src/core/lib/promise/detail/seq_state.h - - src/core/lib/promise/detail/status.h - - src/core/lib/promise/exec_ctx_wakeup_scheduler.h - - src/core/lib/promise/for_each.h - - src/core/lib/promise/if.h - - src/core/lib/promise/interceptor_list.h - - src/core/lib/promise/latch.h - - src/core/lib/promise/loop.h - - src/core/lib/promise/map.h - - src/core/lib/promise/party.h - - src/core/lib/promise/pipe.h - - src/core/lib/promise/poll.h - - src/core/lib/promise/promise.h - - src/core/lib/promise/race.h - - src/core/lib/promise/seq.h - - src/core/lib/promise/status_flag.h - - src/core/lib/promise/trace.h - - src/core/lib/promise/try_join.h - - src/core/lib/promise/try_seq.h - - src/core/lib/resolver/endpoint_addresses.h - - src/core/lib/resolver/resolver.h - - src/core/lib/resolver/resolver_factory.h - - src/core/lib/resolver/resolver_registry.h - - src/core/lib/resolver/server_address.h - - src/core/lib/resource_quota/api.h - - src/core/lib/resource_quota/arena.h - - src/core/lib/resource_quota/memory_quota.h - - src/core/lib/resource_quota/periodic_update.h - - src/core/lib/resource_quota/resource_quota.h - - src/core/lib/resource_quota/thread_quota.h - - src/core/lib/resource_quota/trace.h - - src/core/lib/security/certificate_provider/certificate_provider_factory.h - - src/core/lib/security/certificate_provider/certificate_provider_registry.h - - src/core/lib/security/credentials/alts/check_gcp_environment.h - - src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h - - src/core/lib/security/credentials/channel_creds_registry.h - - src/core/lib/service_config/service_config.h - - src/core/lib/service_config/service_config_call_data.h - - src/core/lib/service_config/service_config_parser.h - - src/core/lib/slice/b64.h - - src/core/lib/slice/percent_encoding.h - - src/core/lib/slice/slice.h - - src/core/lib/slice/slice_buffer.h - - src/core/lib/slice/slice_internal.h - - src/core/lib/slice/slice_refcount.h - - src/core/lib/slice/slice_string_helpers.h - - src/core/lib/surface/api_trace.h - - src/core/lib/surface/builtins.h - - src/core/lib/surface/call.h - - src/core/lib/surface/call_test_only.h - - src/core/lib/surface/call_trace.h - - src/core/lib/surface/channel.h - - src/core/lib/surface/channel_init.h - - src/core/lib/surface/channel_stack_type.h - - src/core/lib/surface/completion_queue.h - - src/core/lib/surface/completion_queue_factory.h - - src/core/lib/surface/event_string.h - - src/core/lib/surface/init.h - - src/core/lib/surface/init_internally.h - - src/core/lib/surface/lame_client.h - - src/core/lib/surface/server.h - - src/core/lib/surface/validate_metadata.h - - src/core/lib/surface/wait_for_cq_end_op.h - - src/core/lib/transport/batch_builder.h - - src/core/lib/transport/connectivity_state.h - - src/core/lib/transport/custom_metadata.h - - src/core/lib/transport/error_utils.h - - src/core/lib/transport/handshaker_factory.h - - src/core/lib/transport/handshaker_registry.h - - src/core/lib/transport/http2_errors.h - - src/core/lib/transport/metadata_batch.h - - src/core/lib/transport/metadata_compression_traits.h - - src/core/lib/transport/parsed_metadata.h - - src/core/lib/transport/simple_slice_based_metadata.h - - src/core/lib/transport/status_conversion.h - - src/core/lib/transport/timeout_encoding.h - - src/core/lib/transport/transport.h - - src/core/lib/transport/transport_fwd.h - - src/core/lib/uri/uri_parser.h - - src/core/tsi/alts/handshaker/transport_security_common_api.h - - third_party/upb/upb/base/internal/log2.h - - third_party/upb/upb/generated_code_support.h - - third_party/upb/upb/hash/common.h - - third_party/upb/upb/hash/int_table.h - - third_party/upb/upb/hash/str_table.h - - third_party/upb/upb/message/accessors.h - - third_party/upb/upb/message/array.h - - third_party/upb/upb/message/internal/accessors.h - - third_party/upb/upb/message/internal/array.h - - third_party/upb/upb/message/internal/extension.h - - third_party/upb/upb/message/internal/map.h - - third_party/upb/upb/message/internal/map_entry.h - - third_party/upb/upb/message/internal/map_sorter.h - - third_party/upb/upb/message/internal/message.h - - third_party/upb/upb/message/internal/types.h - - third_party/upb/upb/message/map.h - - third_party/upb/upb/message/map_gencode_util.h - - third_party/upb/upb/message/message.h - - third_party/upb/upb/message/tagged_ptr.h - - third_party/upb/upb/message/types.h - - third_party/upb/upb/message/value.h - - third_party/upb/upb/mini_descriptor/build_enum.h - - third_party/upb/upb/mini_descriptor/decode.h - - third_party/upb/upb/mini_descriptor/internal/base92.h - - third_party/upb/upb/mini_descriptor/internal/decoder.h - - third_party/upb/upb/mini_descriptor/internal/encode.h - - third_party/upb/upb/mini_descriptor/internal/encode.hpp - - third_party/upb/upb/mini_descriptor/internal/modifiers.h - - third_party/upb/upb/mini_descriptor/internal/wire_constants.h - - third_party/upb/upb/mini_descriptor/link.h - - third_party/upb/upb/mini_table/enum.h - - third_party/upb/upb/mini_table/extension.h - - third_party/upb/upb/mini_table/extension_registry.h - - third_party/upb/upb/mini_table/field.h - - third_party/upb/upb/mini_table/file.h - - third_party/upb/upb/mini_table/internal/enum.h - - third_party/upb/upb/mini_table/internal/extension.h - - third_party/upb/upb/mini_table/internal/field.h - - third_party/upb/upb/mini_table/internal/file.h - - third_party/upb/upb/mini_table/internal/message.h - - third_party/upb/upb/mini_table/internal/sub.h - - third_party/upb/upb/mini_table/message.h - - third_party/upb/upb/mini_table/sub.h - - third_party/upb/upb/wire/decode.h - - third_party/upb/upb/wire/decode_fast.h - - third_party/upb/upb/wire/encode.h - - third_party/upb/upb/wire/eps_copy_input_stream.h - - third_party/upb/upb/wire/internal/constants.h - - third_party/upb/upb/wire/internal/decode.h - - third_party/upb/upb/wire/internal/swap.h - - third_party/upb/upb/wire/reader.h - - third_party/upb/upb/wire/types.h - src: - - src/core/ext/transport/chaotic_good/frame.cc - - src/core/ext/transport/chaotic_good/frame_header.cc - - src/core/ext/transport/chttp2/transport/bin_encoder.cc - - src/core/ext/transport/chttp2/transport/decode_huff.cc - - src/core/ext/transport/chttp2/transport/hpack_encoder.cc - - src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc - - src/core/ext/transport/chttp2/transport/hpack_parse_result.cc - - src/core/ext/transport/chttp2/transport/hpack_parser.cc - - src/core/ext/transport/chttp2/transport/hpack_parser_table.cc - - src/core/ext/transport/chttp2/transport/http_trace.cc - - src/core/ext/transport/chttp2/transport/huffsyms.cc - - src/core/ext/transport/chttp2/transport/varint.cc - - src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c - - src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c - - src/core/ext/upb-gen/google/rpc/status.upb_minitable.c - - src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c - - src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c - - src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c - - src/core/lib/address_utils/parse_address.cc - - src/core/lib/address_utils/sockaddr_utils.cc - - src/core/lib/backoff/backoff.cc - - src/core/lib/backoff/random_early_detection.cc - - src/core/lib/channel/call_tracer.cc - - src/core/lib/channel/channel_args.cc - - src/core/lib/channel/channel_args_preconditioning.cc - - src/core/lib/channel/channel_stack.cc - - src/core/lib/channel/channel_stack_builder.cc - - src/core/lib/channel/channel_stack_builder_impl.cc - - src/core/lib/channel/channel_stack_trace.cc - - src/core/lib/channel/channel_trace.cc - - src/core/lib/channel/channelz.cc - - src/core/lib/channel/channelz_registry.cc - - src/core/lib/channel/connected_channel.cc - - src/core/lib/channel/promise_based_filter.cc - - src/core/lib/channel/server_call_tracer_filter.cc - - src/core/lib/channel/status_util.cc - - src/core/lib/compression/compression.cc - - src/core/lib/compression/compression_internal.cc - - src/core/lib/compression/message_compress.cc - - src/core/lib/config/core_configuration.cc - - src/core/lib/debug/event_log.cc - - src/core/lib/debug/histogram_view.cc - - src/core/lib/debug/stats.cc - - src/core/lib/debug/stats_data.cc - - src/core/lib/debug/trace.cc - - src/core/lib/event_engine/ares_resolver.cc - - src/core/lib/event_engine/cf_engine/cf_engine.cc - - src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc - - src/core/lib/event_engine/cf_engine/dns_service_resolver.cc - - src/core/lib/event_engine/channel_args_endpoint_config.cc - - src/core/lib/event_engine/default_event_engine.cc - - src/core/lib/event_engine/default_event_engine_factory.cc - - src/core/lib/event_engine/event_engine.cc - - src/core/lib/event_engine/forkable.cc - - src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc - - src/core/lib/event_engine/posix_engine/ev_poll_posix.cc - - src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc - - src/core/lib/event_engine/posix_engine/internal_errqueue.cc - - src/core/lib/event_engine/posix_engine/lockfree_event.cc - - src/core/lib/event_engine/posix_engine/native_dns_resolver.cc - - src/core/lib/event_engine/posix_engine/posix_endpoint.cc - - src/core/lib/event_engine/posix_engine/posix_engine.cc - - src/core/lib/event_engine/posix_engine/posix_engine_listener.cc - - src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc - - src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc - - src/core/lib/event_engine/posix_engine/timer.cc - - src/core/lib/event_engine/posix_engine/timer_heap.cc - - src/core/lib/event_engine/posix_engine/timer_manager.cc - - src/core/lib/event_engine/posix_engine/traced_buffer_list.cc - - src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc - - src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc - - src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc - - src/core/lib/event_engine/resolved_address.cc - - src/core/lib/event_engine/shim.cc - - src/core/lib/event_engine/slice.cc - - src/core/lib/event_engine/slice_buffer.cc - - src/core/lib/event_engine/tcp_socket_utils.cc - - src/core/lib/event_engine/thread_pool/thread_count.cc - - src/core/lib/event_engine/thread_pool/thread_pool_factory.cc - - src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc - - src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc - - src/core/lib/event_engine/time_util.cc - - src/core/lib/event_engine/trace.cc - - src/core/lib/event_engine/utils.cc - - src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc - - src/core/lib/event_engine/windows/iocp.cc - - src/core/lib/event_engine/windows/native_windows_dns_resolver.cc - - src/core/lib/event_engine/windows/win_socket.cc - - src/core/lib/event_engine/windows/windows_endpoint.cc - - src/core/lib/event_engine/windows/windows_engine.cc - - src/core/lib/event_engine/windows/windows_listener.cc - - src/core/lib/event_engine/work_queue/basic_work_queue.cc - - src/core/lib/experiments/config.cc - - src/core/lib/experiments/experiments.cc - - src/core/lib/gprpp/load_file.cc - - src/core/lib/gprpp/per_cpu.cc - - src/core/lib/gprpp/ref_counted_string.cc - - src/core/lib/gprpp/status_helper.cc - - src/core/lib/gprpp/time.cc - - src/core/lib/gprpp/time_averaged_stats.cc - - src/core/lib/gprpp/validation_errors.cc - - src/core/lib/gprpp/work_serializer.cc - - src/core/lib/handshaker/proxy_mapper_registry.cc - - src/core/lib/iomgr/buffer_list.cc - - src/core/lib/iomgr/call_combiner.cc - - src/core/lib/iomgr/cfstream_handle.cc - - src/core/lib/iomgr/closure.cc - - src/core/lib/iomgr/combiner.cc - - src/core/lib/iomgr/dualstack_socket_posix.cc - - src/core/lib/iomgr/endpoint.cc - - src/core/lib/iomgr/endpoint_cfstream.cc - - src/core/lib/iomgr/endpoint_pair_posix.cc - - src/core/lib/iomgr/endpoint_pair_windows.cc - - src/core/lib/iomgr/error.cc - - src/core/lib/iomgr/error_cfstream.cc - - src/core/lib/iomgr/ev_apple.cc - - src/core/lib/iomgr/ev_epoll1_linux.cc - - src/core/lib/iomgr/ev_poll_posix.cc - - src/core/lib/iomgr/ev_posix.cc - - src/core/lib/iomgr/ev_windows.cc - - src/core/lib/iomgr/event_engine_shims/closure.cc - - src/core/lib/iomgr/event_engine_shims/endpoint.cc - - src/core/lib/iomgr/event_engine_shims/tcp_client.cc - - src/core/lib/iomgr/exec_ctx.cc - - src/core/lib/iomgr/executor.cc - - src/core/lib/iomgr/fork_posix.cc - - src/core/lib/iomgr/fork_windows.cc - - src/core/lib/iomgr/gethostname_fallback.cc - - src/core/lib/iomgr/gethostname_host_name_max.cc - - src/core/lib/iomgr/gethostname_sysconf.cc - - src/core/lib/iomgr/grpc_if_nametoindex_posix.cc - - src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc - - src/core/lib/iomgr/internal_errqueue.cc - - src/core/lib/iomgr/iocp_windows.cc - - src/core/lib/iomgr/iomgr.cc - - src/core/lib/iomgr/iomgr_internal.cc - - src/core/lib/iomgr/iomgr_posix.cc - - src/core/lib/iomgr/iomgr_posix_cfstream.cc - - src/core/lib/iomgr/iomgr_windows.cc - - src/core/lib/iomgr/load_file.cc - - src/core/lib/iomgr/lockfree_event.cc - - src/core/lib/iomgr/polling_entity.cc - - src/core/lib/iomgr/pollset.cc - - src/core/lib/iomgr/pollset_set.cc - - src/core/lib/iomgr/pollset_set_windows.cc - - src/core/lib/iomgr/pollset_windows.cc - - src/core/lib/iomgr/resolve_address.cc - - src/core/lib/iomgr/resolve_address_posix.cc - - src/core/lib/iomgr/resolve_address_windows.cc - - src/core/lib/iomgr/sockaddr_utils_posix.cc - - src/core/lib/iomgr/socket_factory_posix.cc - - src/core/lib/iomgr/socket_mutator.cc - - src/core/lib/iomgr/socket_utils_common_posix.cc - - src/core/lib/iomgr/socket_utils_linux.cc - - src/core/lib/iomgr/socket_utils_posix.cc - - src/core/lib/iomgr/socket_utils_windows.cc - - src/core/lib/iomgr/socket_windows.cc - - src/core/lib/iomgr/systemd_utils.cc - - src/core/lib/iomgr/tcp_client.cc - - src/core/lib/iomgr/tcp_client_cfstream.cc - - src/core/lib/iomgr/tcp_client_posix.cc - - src/core/lib/iomgr/tcp_client_windows.cc - - src/core/lib/iomgr/tcp_posix.cc - - src/core/lib/iomgr/tcp_server.cc - - src/core/lib/iomgr/tcp_server_posix.cc - - src/core/lib/iomgr/tcp_server_utils_posix_common.cc - - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc - - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc - - src/core/lib/iomgr/tcp_server_windows.cc - - src/core/lib/iomgr/tcp_windows.cc - - src/core/lib/iomgr/timer.cc - - src/core/lib/iomgr/timer_generic.cc - - src/core/lib/iomgr/timer_heap.cc - - src/core/lib/iomgr/timer_manager.cc - - src/core/lib/iomgr/unix_sockets_posix.cc - - src/core/lib/iomgr/unix_sockets_posix_noop.cc - - src/core/lib/iomgr/vsock.cc - - src/core/lib/iomgr/wakeup_fd_eventfd.cc - - src/core/lib/iomgr/wakeup_fd_nospecial.cc - - src/core/lib/iomgr/wakeup_fd_pipe.cc - - src/core/lib/iomgr/wakeup_fd_posix.cc - - src/core/lib/json/json_writer.cc - - src/core/lib/load_balancing/lb_policy.cc - - src/core/lib/load_balancing/lb_policy_registry.cc - - src/core/lib/promise/activity.cc - - src/core/lib/promise/party.cc - - src/core/lib/promise/trace.cc - - src/core/lib/resolver/endpoint_addresses.cc - - src/core/lib/resolver/resolver.cc - - src/core/lib/resolver/resolver_registry.cc - - src/core/lib/resource_quota/api.cc - - src/core/lib/resource_quota/arena.cc - - src/core/lib/resource_quota/memory_quota.cc - - src/core/lib/resource_quota/periodic_update.cc - - src/core/lib/resource_quota/resource_quota.cc - - src/core/lib/resource_quota/thread_quota.cc - - src/core/lib/resource_quota/trace.cc - - src/core/lib/security/certificate_provider/certificate_provider_registry.cc - - src/core/lib/security/credentials/alts/check_gcp_environment.cc - - src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc - - src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc - - src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc - - src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc - - src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc - - src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc - - src/core/lib/service_config/service_config_parser.cc - - src/core/lib/slice/b64.cc - - src/core/lib/slice/percent_encoding.cc - - src/core/lib/slice/slice.cc - - src/core/lib/slice/slice_buffer.cc - - src/core/lib/slice/slice_refcount.cc - - src/core/lib/slice/slice_string_helpers.cc - - src/core/lib/surface/api_trace.cc - - src/core/lib/surface/builtins.cc - - src/core/lib/surface/byte_buffer.cc - - src/core/lib/surface/byte_buffer_reader.cc - - src/core/lib/surface/call.cc - - src/core/lib/surface/call_details.cc - - src/core/lib/surface/call_log_batch.cc - - src/core/lib/surface/call_trace.cc - - src/core/lib/surface/channel.cc - - src/core/lib/surface/channel_init.cc - - src/core/lib/surface/channel_ping.cc - - src/core/lib/surface/channel_stack_type.cc - - src/core/lib/surface/completion_queue.cc - - src/core/lib/surface/completion_queue_factory.cc - - src/core/lib/surface/event_string.cc - - src/core/lib/surface/init_internally.cc - - src/core/lib/surface/lame_client.cc - - src/core/lib/surface/metadata_array.cc - - src/core/lib/surface/server.cc - - src/core/lib/surface/validate_metadata.cc - - src/core/lib/surface/version.cc - - src/core/lib/transport/batch_builder.cc - - src/core/lib/transport/connectivity_state.cc - - src/core/lib/transport/error_utils.cc - - src/core/lib/transport/handshaker_registry.cc - - src/core/lib/transport/metadata_batch.cc - - src/core/lib/transport/parsed_metadata.cc - - src/core/lib/transport/status_conversion.cc - - src/core/lib/transport/timeout_encoding.cc - - src/core/lib/transport/transport.cc - - src/core/lib/transport/transport_op_string.cc - - src/core/lib/uri/uri_parser.cc - - src/core/tsi/alts/handshaker/transport_security_common_api.cc - - test/core/transport/chaotic_good/frame_test.cc - - third_party/upb/upb/hash/common.c - - third_party/upb/upb/message/accessors.c - - third_party/upb/upb/message/array.c - - third_party/upb/upb/message/map.c - - third_party/upb/upb/message/map_sorter.c - - third_party/upb/upb/message/message.c - - third_party/upb/upb/mini_descriptor/build_enum.c - - third_party/upb/upb/mini_descriptor/decode.c - - third_party/upb/upb/mini_descriptor/internal/base92.c - - third_party/upb/upb/mini_descriptor/internal/encode.c - - third_party/upb/upb/mini_descriptor/link.c - - third_party/upb/upb/mini_table/extension_registry.c - - third_party/upb/upb/mini_table/internal/message.c - - third_party/upb/upb/mini_table/message.c - - third_party/upb/upb/wire/decode.c - - third_party/upb/upb/wire/decode_fast.c - - third_party/upb/upb/wire/encode.c - - third_party/upb/upb/wire/eps_copy_input_stream.c - - third_party/upb/upb/wire/reader.c - deps: - - gtest - - upb - - utf8_range_lib - - z - - absl/cleanup:cleanup - - absl/container:flat_hash_map - - absl/container:inlined_vector - - absl/functional:function_ref - - absl/hash:hash - - absl/meta:type_traits - - absl/random:bit_gen_ref - - absl/random:distributions - - absl/status:statusor - - absl/types:span - - absl/utility:utility - - cares - - gpr -- name: test_core_transport_chttp2_frame_test - gtest: true - build: test - language: c++ - headers: - - src/core/ext/transport/chttp2/transport/frame.h - - src/core/lib/debug/trace.h - - src/core/lib/slice/slice.h - - src/core/lib/slice/slice_buffer.h - - src/core/lib/slice/slice_internal.h - - src/core/lib/slice/slice_refcount.h - - src/core/lib/slice/slice_string_helpers.h - - src/core/lib/transport/http2_errors.h - src: - - src/core/ext/transport/chttp2/transport/frame.cc - - src/core/lib/debug/trace.cc - - src/core/lib/slice/slice.cc - - src/core/lib/slice/slice_buffer.cc - - src/core/lib/slice/slice_refcount.cc - - src/core/lib/slice/slice_string_helpers.cc - - test/core/transport/chttp2/frame_test.cc - deps: - - gtest - - absl/hash:hash - - absl/status:statusor - - absl/types:span - - gpr - uses_polling: false - name: test_cpp_client_credentials_test gtest: true build: test diff --git a/tools/buildgen/extract_metadata_from_bazel_xml.py b/tools/buildgen/extract_metadata_from_bazel_xml.py index f8bd3595482..18471eb1d8b 100755 --- a/tools/buildgen/extract_metadata_from_bazel_xml.py +++ b/tools/buildgen/extract_metadata_from_bazel_xml.py @@ -895,6 +895,13 @@ def _exclude_unwanted_cc_tests(tests: List[str]) -> List[str]: if not test.startswith("test/cpp/util:channelz_sampler_test") ] + # chaotic good not supported outside bazel + tests = [ + test + for test in tests + if not test.startswith("test/core/transport/chaotic_good") + ] + # we don't need to generate fuzzers outside of bazel tests = [test for test in tests if not test.endswith("_fuzzer")] diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index ec2448a67c1..a8edaa5d45a 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -2253,54 +2253,6 @@ ], "uses_polling": true }, - { - "args": [], - "benchmark": false, - "ci_platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "exclude_iomgrs": [], - "flaky": false, - "gtest": true, - "language": "c++", - "name": "client_transport_error_test", - "platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "uses_polling": false - }, - { - "args": [], - "benchmark": false, - "ci_platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "exclude_iomgrs": [], - "flaky": false, - "gtest": true, - "language": "c++", - "name": "client_transport_test", - "platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "uses_polling": false - }, { "args": [], "benchmark": false, @@ -3840,14 +3792,14 @@ "flaky": false, "gtest": true, "language": "c++", - "name": "frame_header_test", + "name": "frame_test", "platforms": [ "linux", "mac", "posix", "windows" ], - "uses_polling": true + "uses_polling": false }, { "args": [], @@ -9095,30 +9047,6 @@ ], "uses_polling": true }, - { - "args": [], - "benchmark": false, - "ci_platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "exclude_iomgrs": [], - "flaky": false, - "gtest": true, - "language": "c++", - "name": "server_transport_test", - "platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "uses_polling": false - }, { "args": [], "benchmark": false, @@ -10491,54 +10419,6 @@ ], "uses_polling": false }, - { - "args": [], - "benchmark": false, - "ci_platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "exclude_iomgrs": [], - "flaky": false, - "gtest": true, - "language": "c++", - "name": "test_core_transport_chaotic_good_frame_test", - "platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "uses_polling": true - }, - { - "args": [], - "benchmark": false, - "ci_platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "exclude_iomgrs": [], - "flaky": false, - "gtest": true, - "language": "c++", - "name": "test_core_transport_chttp2_frame_test", - "platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "uses_polling": false - }, { "args": [], "benchmark": false,