From f10a8e3418e51230b0af86e880f82c8325a68abe Mon Sep 17 00:00:00 2001 From: Mario Jones Vimal Date: Wed, 2 Aug 2023 13:19:08 -0700 Subject: [PATCH] [core/gpr] move subprocess to gpr (#33870) Move subprocess util to gpr. Add support for communication with the subprocess. This is required to support authentication using an executable. --- BUILD | 20 ++ CMakeLists.txt | 162 +---------- build_autogenerated.yaml | 243 +--------------- grpc.gyp | 6 +- .../util => src/core/lib/gpr}/subprocess.h | 15 +- src/core/lib/gpr/subprocess_posix.cc | 266 ++++++++++++++++++ .../core/lib/gpr}/subprocess_windows.cc | 2 +- test/core/bad_ssl/bad_ssl_test.cc | 2 +- test/core/bad_ssl/generate_tests.bzl | 1 + test/core/event_engine/test_suite/tests/BUILD | 1 + test/core/http/BUILD | 3 + test/core/http/httpcli_test.cc | 2 +- test/core/http/httpcli_test_util.cc | 2 +- test/core/http/httpcli_test_util.h | 2 +- test/core/http/httpscli_test.cc | 2 +- test/core/memory_usage/BUILD | 2 + test/core/memory_usage/memory_usage_test.cc | 2 +- test/core/util/BUILD | 3 - test/core/util/subprocess_posix.cc | 101 ------- test/cpp/util/BUILD | 2 + test/cpp/util/subprocess.cc | 2 +- 21 files changed, 337 insertions(+), 504 deletions(-) rename {test/core/util => src/core/lib/gpr}/subprocess.h (68%) create mode 100644 src/core/lib/gpr/subprocess_posix.cc rename {test/core/util => src/core/lib/gpr}/subprocess_windows.cc (98%) delete mode 100644 test/core/util/subprocess_posix.cc diff --git a/BUILD b/BUILD index 1b1a4ef5081..a1a9c395447 100644 --- a/BUILD +++ b/BUILD @@ -4000,6 +4000,26 @@ grpc_cc_library( ], ) +grpc_cc_library( + name = "subprocess", + srcs = [ + "//src/core:lib/gpr/subprocess_posix.cc", + "//src/core:lib/gpr/subprocess_windows.cc", + ], + hdrs = [ + "//src/core:lib/gpr/subprocess.h", + ], + external_deps = [ + "absl/strings", + "absl/types:span", + ], + deps = [ + "gpr", + "//src/core:strerror", + "//src/core:tchar", + ], +) + # TODO(yashykt): Remove the UPB definitions from here once they are no longer needed ### UPB Targets diff --git a/CMakeLists.txt b/CMakeLists.txt index 0392d456561..f2b7f516196 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3281,8 +3281,6 @@ add_library(benchmark_helpers test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc test/cpp/microbenchmarks/helpers.cc ) @@ -4000,6 +3998,8 @@ endif() if(gRPC_BUILD_TESTS) add_library(grpc++_test_util + src/core/lib/gpr/subprocess_posix.cc + src/core/lib/gpr/subprocess_windows.cc test/core/end2end/data/client_certs.cc test/core/end2end/data/server1_cert.cc test/core/end2end/data/server1_key.cc @@ -4013,8 +4013,6 @@ add_library(grpc++_test_util test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc test/cpp/util/byte_buffer_proto_helper.cc test/cpp/util/create_test_channel.cc @@ -5035,8 +5033,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc ) target_compile_features(fd_conservation_posix_test PUBLIC cxx_std_14) @@ -5172,8 +5168,6 @@ add_executable(test_core_iomgr_timer_list_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc ) target_compile_features(test_core_iomgr_timer_list_test PUBLIC cxx_std_14) @@ -5287,6 +5281,8 @@ if(gRPC_BUILD_TESTS) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(address_sorting_test_unsecure + src/core/lib/gpr/subprocess_posix.cc + src/core/lib/gpr/subprocess_windows.cc test/core/util/cmdline.cc test/core/util/fuzzer_util.cc test/core/util/grpc_profiler.cc @@ -5296,8 +5292,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc test/cpp/naming/address_sorting_test.cc test/cpp/util/byte_buffer_proto_helper.cc @@ -5409,8 +5403,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc test/cpp/common/alarm_test.cc third_party/googletest/googletest/src/gtest-all.cc @@ -5853,8 +5845,6 @@ add_executable(alts_security_connector_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -6189,8 +6179,6 @@ add_executable(auth_context_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -6275,8 +6263,6 @@ add_executable(authorization_matchers_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -6401,8 +6387,6 @@ add_executable(aws_request_signer_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -6601,6 +6585,8 @@ if(gRPC_BUILD_TESTS) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(bad_ssl_alpn_test + src/core/lib/gpr/subprocess_posix.cc + src/core/lib/gpr/subprocess_windows.cc test/core/bad_ssl/bad_ssl_test.cc test/core/end2end/cq_verifier.cc test/core/util/cmdline.cc @@ -6612,8 +6598,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -6653,6 +6637,8 @@ if(gRPC_BUILD_TESTS) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(bad_ssl_cert_test + src/core/lib/gpr/subprocess_posix.cc + src/core/lib/gpr/subprocess_windows.cc test/core/bad_ssl/bad_ssl_test.cc test/core/end2end/cq_verifier.cc test/core/util/cmdline.cc @@ -6664,8 +6650,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -7221,8 +7205,6 @@ add_executable(buffer_list_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -7981,8 +7963,6 @@ add_executable(cel_authorization_engine_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -8317,8 +8297,6 @@ add_executable(channel_creds_registry_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -8614,8 +8592,6 @@ add_executable(check_gcp_environment_linux_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -8663,8 +8639,6 @@ add_executable(check_gcp_environment_windows_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -9306,8 +9280,6 @@ add_executable(cmdline_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -9432,8 +9404,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -9756,8 +9726,6 @@ add_executable(connectivity_state_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -10819,8 +10787,6 @@ add_executable(endpoint_pair_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -10956,8 +10922,6 @@ add_executable(error_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -11005,8 +10969,6 @@ add_executable(error_utils_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -11054,8 +11016,6 @@ add_executable(evaluate_args_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -11624,8 +11584,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -12281,8 +12239,6 @@ add_executable(format_request_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -12966,8 +12922,6 @@ add_executable(grpc_alts_credentials_options_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -13053,8 +13007,6 @@ add_executable(grpc_authorization_engine_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -13102,8 +13054,6 @@ add_executable(grpc_authorization_policy_provider_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -13463,8 +13413,6 @@ add_executable(grpc_ipv6_loopback_available_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -13722,8 +13670,6 @@ add_executable(grpc_tls_certificate_distributor_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -13771,8 +13717,6 @@ add_executable(grpc_tls_certificate_provider_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -13820,8 +13764,6 @@ add_executable(grpc_tls_certificate_verifier_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -13869,8 +13811,6 @@ add_executable(grpc_tls_credentials_options_comparator_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -13918,8 +13858,6 @@ add_executable(grpc_tls_credentials_options_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -14524,8 +14462,6 @@ add_executable(histogram_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -14610,8 +14546,6 @@ add_executable(hpack_encoder_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -14659,8 +14593,6 @@ add_executable(hpack_parser_table_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -14708,8 +14640,6 @@ add_executable(hpack_parser_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -15220,8 +15150,6 @@ add_executable(insecure_security_connector_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -15729,8 +15657,6 @@ add_executable(json_token_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -15778,8 +15704,6 @@ add_executable(jwt_verifier_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -16384,8 +16308,6 @@ add_executable(matchers_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -16755,8 +16677,6 @@ add_executable(message_compress_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -16841,8 +16761,6 @@ add_executable(metadata_map_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -17933,8 +17851,6 @@ add_executable(parser_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -18198,8 +18114,6 @@ add_executable(pid_controller_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -18247,8 +18161,6 @@ add_executable(ping_abuse_policy_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -18296,8 +18208,6 @@ add_executable(ping_configuration_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -18393,8 +18303,6 @@ add_executable(ping_rate_policy_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -19523,8 +19431,6 @@ add_executable(rbac_translator_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -19831,8 +19737,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -19883,8 +19787,6 @@ add_executable(resolve_address_using_ares_resolver_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -19934,8 +19836,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -19986,8 +19886,6 @@ add_executable(resolve_address_using_native_resolver_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -22094,8 +21992,6 @@ add_executable(secure_endpoint_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -22143,8 +22039,6 @@ add_executable(security_connector_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -22342,8 +22236,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc test/cpp/server/server_builder_test.cc third_party/googletest/googletest/src/gtest-all.cc @@ -22410,8 +22302,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc test/cpp/server/server_builder_with_socket_mutator_test.cc third_party/googletest/googletest/src/gtest-all.cc @@ -22822,8 +22712,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc test/cpp/server/server_request_call_test.cc third_party/googletest/googletest/src/gtest-all.cc @@ -23094,8 +22982,6 @@ add_executable(settings_timeout_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -23708,8 +23594,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -23831,8 +23715,6 @@ add_executable(ssl_credentials_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -24111,8 +23993,6 @@ add_executable(status_conversion_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -24236,8 +24116,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -24431,8 +24309,6 @@ add_executable(streams_not_seen_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -24592,8 +24468,6 @@ add_executable(system_roots_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -24683,8 +24557,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -24774,8 +24646,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -24825,8 +24695,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -25250,8 +25118,6 @@ add_executable(test_core_iomgr_load_file_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -25299,8 +25165,6 @@ add_executable(test_core_iomgr_timer_heap_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -25348,8 +25212,6 @@ add_executable(test_core_security_credentials_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -25957,8 +25819,6 @@ add_executable(timeout_encoding_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -26173,8 +26033,6 @@ add_executable(tls_security_connector_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc @@ -27489,8 +27347,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc test/cpp/performance/writes_per_rpc_test.cc third_party/googletest/googletest/src/gtest-all.cc @@ -28511,8 +28367,6 @@ add_executable(xds_credentials_test test/core/util/passthru_endpoint.cc test/core/util/resolve_localhost_ip46.cc test/core/util/slice_splitter.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc test/core/util/tracer_util.cc third_party/googletest/googletest/src/gtest-all.cc third_party/googletest/googlemock/src/gmock-all.cc diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index da1291c2353..5b8542b7b9c 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -2773,7 +2773,6 @@ libs: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h - test/cpp/microbenchmarks/fullstack_context_mutators.h - test/cpp/microbenchmarks/fullstack_fixtures.h @@ -2792,8 +2791,6 @@ libs: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc - test/cpp/microbenchmarks/helpers.cc deps: @@ -3182,6 +3179,7 @@ libs: language: c++ public_headers: [] headers: + - src/core/lib/gpr/subprocess.h - test/core/end2end/data/ssl_test_data.h - test/core/util/cmdline.h - test/core/util/evaluate_args_test_util.h @@ -3194,7 +3192,6 @@ libs: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h - test/cpp/util/byte_buffer_proto_helper.h - test/cpp/util/create_test_channel.h @@ -3202,6 +3199,8 @@ libs: - test/cpp/util/subprocess.h - test/cpp/util/test_credentials_provider.h src: + - src/core/lib/gpr/subprocess_posix.cc + - src/core/lib/gpr/subprocess_windows.cc - test/core/end2end/data/client_certs.cc - test/core/end2end/data/server1_cert.cc - test/core/end2end/data/server1_key.cc @@ -3215,8 +3214,6 @@ libs: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc - test/cpp/util/byte_buffer_proto_helper.cc - test/cpp/util/create_test_channel.cc @@ -4198,7 +4195,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/fd_conservation_posix_test.cc @@ -4211,8 +4207,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -4274,7 +4268,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/timer_list_test.cc @@ -4287,8 +4280,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -4348,6 +4339,7 @@ targets: build: test language: c++ headers: + - src/core/lib/gpr/subprocess.h - test/core/util/cmdline.h - test/core/util/evaluate_args_test_util.h - test/core/util/fuzzer_util.h @@ -4359,12 +4351,13 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h - test/cpp/util/byte_buffer_proto_helper.h - test/cpp/util/string_ref_helper.h - test/cpp/util/subprocess.h src: + - src/core/lib/gpr/subprocess_posix.cc + - src/core/lib/gpr/subprocess_windows.cc - test/core/util/cmdline.cc - test/core/util/fuzzer_util.cc - test/core/util/grpc_profiler.cc @@ -4374,8 +4367,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc - test/cpp/naming/address_sorting_test.cc - test/cpp/util/byte_buffer_proto_helper.cc @@ -4423,7 +4414,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/util/cmdline.cc @@ -4435,8 +4425,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc - test/cpp/common/alarm_test.cc deps: @@ -4582,7 +4570,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/alts_security_connector_test.cc @@ -4595,8 +4582,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -4695,7 +4680,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/auth_context_test.cc @@ -4708,8 +4692,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -4740,7 +4722,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/authorization_matchers_test.cc @@ -4753,8 +4734,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -4800,7 +4779,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/aws_request_signer_test.cc @@ -4813,8 +4791,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -4889,6 +4865,7 @@ targets: build: test language: c++ headers: + - src/core/lib/gpr/subprocess.h - test/core/end2end/cq_verifier.h - test/core/util/cmdline.h - test/core/util/evaluate_args_test_util.h @@ -4901,9 +4878,10 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: + - src/core/lib/gpr/subprocess_posix.cc + - src/core/lib/gpr/subprocess_windows.cc - test/core/bad_ssl/bad_ssl_test.cc - test/core/end2end/cq_verifier.cc - test/core/util/cmdline.cc @@ -4915,8 +4893,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -4929,6 +4905,7 @@ targets: build: test language: c++ headers: + - src/core/lib/gpr/subprocess.h - test/core/end2end/cq_verifier.h - test/core/util/cmdline.h - test/core/util/evaluate_args_test_util.h @@ -4941,9 +4918,10 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: + - src/core/lib/gpr/subprocess_posix.cc + - src/core/lib/gpr/subprocess_windows.cc - test/core/bad_ssl/bad_ssl_test.cc - test/core/end2end/cq_verifier.cc - test/core/util/cmdline.cc @@ -4955,8 +4933,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -5230,7 +5206,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/buffer_list_test.cc @@ -5243,8 +5218,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -5734,7 +5707,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c @@ -5836,8 +5808,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -5950,7 +5920,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/channel_creds_registry_test.cc @@ -5963,8 +5932,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -6054,7 +6021,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/check_gcp_environment_linux_test.cc @@ -6067,8 +6033,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -6088,7 +6052,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/check_gcp_environment_windows_test.cc @@ -6101,8 +6064,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -6406,7 +6367,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/util/cmdline.cc @@ -6419,8 +6379,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -6464,7 +6422,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/combiner_test.cc @@ -6477,8 +6434,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -6601,7 +6556,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/connectivity_state_test.cc @@ -6614,8 +6568,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -7111,7 +7063,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/endpoint_pair_test.cc @@ -7125,8 +7076,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -7170,7 +7119,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/endpoint_tests.cc @@ -7184,8 +7132,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -7206,7 +7152,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/error_utils_test.cc @@ -7219,8 +7164,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -7240,7 +7183,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/evaluate_args_test.cc @@ -7253,8 +7195,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -7557,7 +7497,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/fd_posix_test.cc @@ -7570,8 +7509,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -8008,7 +7945,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/end2end/data/client_certs.cc @@ -8025,8 +7961,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -8728,7 +8662,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/grpc_alts_credentials_options_test.cc @@ -8741,8 +8674,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -8772,7 +8703,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/grpc_authorization_engine_test.cc @@ -8786,8 +8716,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -8807,7 +8735,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/grpc_authorization_policy_provider_test.cc @@ -8820,8 +8747,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_authorization_provider @@ -8955,7 +8880,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/grpc_ipv6_loopback_available_test.cc @@ -8968,8 +8892,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -9029,7 +8951,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/grpc_tls_certificate_distributor_test.cc @@ -9042,8 +8963,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -9063,7 +8982,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/grpc_tls_certificate_provider_test.cc @@ -9076,8 +8994,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -9097,7 +9013,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/grpc_tls_certificate_verifier_test.cc @@ -9110,8 +9025,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -9131,7 +9044,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/grpc_tls_credentials_options_comparator_test.cc @@ -9144,8 +9056,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -9165,7 +9075,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/grpc_tls_credentials_options_test.cc @@ -9178,8 +9087,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -9422,7 +9329,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/util/cmdline.cc @@ -9435,8 +9341,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -9467,7 +9371,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/chttp2/hpack_encoder_test.cc @@ -9480,8 +9383,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -9502,7 +9403,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/chttp2/hpack_parser_table_test.cc @@ -9515,8 +9415,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -9537,7 +9435,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/chttp2/hpack_parser_test.cc @@ -9550,8 +9447,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -9740,7 +9635,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/insecure_security_connector_test.cc @@ -9753,8 +9647,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -10016,7 +9908,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/json_token_test.cc @@ -10029,8 +9920,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -10051,7 +9940,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/jwt_verifier_test.cc @@ -10064,8 +9952,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -10410,7 +10296,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/matchers/matchers_test.cc @@ -10423,8 +10308,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -10623,7 +10506,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/compression/message_compress_test.cc @@ -10636,8 +10518,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -10667,7 +10547,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/metadata_map_test.cc @@ -10680,8 +10559,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -11086,7 +10963,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/end2end/data/client_certs.cc @@ -11103,8 +10979,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -11244,7 +11118,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/pid_controller_test.cc @@ -11257,8 +11130,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -11278,7 +11149,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/chttp2/ping_abuse_policy_test.cc @@ -11291,8 +11161,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -11313,7 +11181,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/chttp2/ping_configuration_test.cc @@ -11326,8 +11193,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -11383,7 +11248,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/chttp2/ping_rate_policy_test.cc @@ -11396,8 +11260,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -11857,7 +11719,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/rbac_translator_test.cc @@ -11870,8 +11731,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_authorization_provider @@ -12028,7 +11887,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/resolve_address_posix_test.cc @@ -12041,8 +11899,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - absl/flags:parse @@ -12070,7 +11926,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/resolve_address_test.cc @@ -12084,8 +11939,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -12106,7 +11959,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/resolve_address_posix_test.cc @@ -12119,8 +11971,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - absl/flags:parse @@ -12148,7 +11998,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/resolve_address_test.cc @@ -12162,8 +12011,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -13518,7 +13365,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/endpoint_tests.cc @@ -13532,8 +13378,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -13553,7 +13397,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/security_connector_test.cc @@ -13566,8 +13409,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -13630,7 +13471,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - src/proto/grpc/testing/echo.proto @@ -13646,8 +13486,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc - test/cpp/server/server_builder_test.cc deps: @@ -13673,7 +13511,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - src/proto/grpc/testing/echo.proto @@ -13689,8 +13526,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc - test/cpp/server/server_builder_with_socket_mutator_test.cc deps: @@ -13833,7 +13668,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - src/proto/grpc/testing/echo.proto @@ -13849,8 +13683,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc - test/cpp/server/server_request_call_test.cc deps: @@ -13960,7 +13792,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/chttp2/settings_timeout_test.cc @@ -13973,8 +13804,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -14267,7 +14096,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/socket_utils_test.cc @@ -14280,8 +14108,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -14326,7 +14152,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/ssl_credentials_test.cc @@ -14339,8 +14164,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -14435,7 +14258,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/status_conversion_test.cc @@ -14448,8 +14270,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -14491,7 +14311,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/end2end/cq_verifier.cc @@ -14505,8 +14324,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -14593,7 +14410,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/end2end/cq_verifier.cc @@ -14607,8 +14423,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -14659,7 +14473,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/system_roots_test.cc @@ -14672,8 +14485,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -14710,7 +14521,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/tcp_client_posix_test.cc @@ -14723,8 +14533,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -14763,7 +14571,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/endpoint_tests.cc @@ -14777,8 +14584,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -14801,7 +14606,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/tcp_server_posix_test.cc @@ -14814,8 +14618,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -15001,7 +14803,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/load_file_test.cc @@ -15014,8 +14815,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -15036,7 +14835,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/iomgr/timer_heap_test.cc @@ -15049,8 +14847,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -15071,7 +14867,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/credentials_test.cc @@ -15084,8 +14879,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -15285,7 +15078,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/transport/timeout_encoding_test.cc @@ -15298,8 +15090,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -15366,7 +15156,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/tls_security_connector_test.cc @@ -15379,8 +15168,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util @@ -16091,7 +15878,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - src/proto/grpc/testing/echo.proto @@ -16107,8 +15893,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc - test/cpp/performance/writes_per_rpc_test.cc deps: @@ -16450,7 +16234,6 @@ targets: - test/core/util/passthru_endpoint.h - test/core/util/resolve_localhost_ip46.h - test/core/util/slice_splitter.h - - test/core/util/subprocess.h - test/core/util/tracer_util.h src: - test/core/security/xds_credentials_test.cc @@ -16463,8 +16246,6 @@ targets: - test/core/util/passthru_endpoint.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - - test/core/util/subprocess_posix.cc - - test/core/util/subprocess_windows.cc - test/core/util/tracer_util.cc deps: - grpc_test_util diff --git a/grpc.gyp b/grpc.gyp index 9a53deff7e9..38b14acf973 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -1504,8 +1504,6 @@ 'test/core/util/passthru_endpoint.cc', 'test/core/util/resolve_localhost_ip46.cc', 'test/core/util/slice_splitter.cc', - 'test/core/util/subprocess_posix.cc', - 'test/core/util/subprocess_windows.cc', 'test/core/util/tracer_util.cc', 'test/cpp/microbenchmarks/helpers.cc', ], @@ -1646,6 +1644,8 @@ 'grpc_test_util', ], 'sources': [ + 'src/core/lib/gpr/subprocess_posix.cc', + 'src/core/lib/gpr/subprocess_windows.cc', 'test/core/end2end/data/client_certs.cc', 'test/core/end2end/data/server1_cert.cc', 'test/core/end2end/data/server1_key.cc', @@ -1659,8 +1659,6 @@ 'test/core/util/passthru_endpoint.cc', 'test/core/util/resolve_localhost_ip46.cc', 'test/core/util/slice_splitter.cc', - 'test/core/util/subprocess_posix.cc', - 'test/core/util/subprocess_windows.cc', 'test/core/util/tracer_util.cc', 'test/cpp/util/byte_buffer_proto_helper.cc', 'test/cpp/util/create_test_channel.cc', diff --git a/test/core/util/subprocess.h b/src/core/lib/gpr/subprocess.h similarity index 68% rename from test/core/util/subprocess.h rename to src/core/lib/gpr/subprocess.h index a46be258516..71d4796fde6 100644 --- a/test/core/util/subprocess.h +++ b/src/core/lib/gpr/subprocess.h @@ -16,17 +16,26 @@ // // -#ifndef GRPC_TEST_CORE_UTIL_SUBPROCESS_H -#define GRPC_TEST_CORE_UTIL_SUBPROCESS_H +#ifndef GRPC_SRC_CORE_LIB_GPR_SUBPROCESS_H +#define GRPC_SRC_CORE_LIB_GPR_SUBPROCESS_H #include +#include + typedef struct gpr_subprocess gpr_subprocess; /// .exe on windows, empty on unices const char* gpr_subprocess_binary_extension(); gpr_subprocess* gpr_subprocess_create(int argc, const char** argv); + +gpr_subprocess* gpr_subprocess_create_with_envp(int argc, const char** argv, + int envc, const char** envp); + +// communicate to the subprocess via stdin, stdout and stderr +bool gpr_subprocess_communicate(gpr_subprocess* p, std::string& input_data, + std::string* output_data, std::string* error); /// if subprocess has not been joined, kill it void gpr_subprocess_destroy(gpr_subprocess* p); /// returns exit status; can be called at most once @@ -34,4 +43,4 @@ int gpr_subprocess_join(gpr_subprocess* p); void gpr_subprocess_interrupt(gpr_subprocess* p); int gpr_subprocess_get_process_id(gpr_subprocess* p); -#endif // GRPC_TEST_CORE_UTIL_SUBPROCESS_H +#endif // GRPC_SRC_CORE_LIB_GPR_SUBPROCESS_H diff --git a/src/core/lib/gpr/subprocess_posix.cc b/src/core/lib/gpr/subprocess_posix.cc new file mode 100644 index 00000000000..b482c440da7 --- /dev/null +++ b/src/core/lib/gpr/subprocess_posix.cc @@ -0,0 +1,266 @@ +// +// +// Copyright 2015 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 + +#ifdef GPR_POSIX_SUBPROCESS + +#include +#include +#include +#include +#include + +#include + +#include "absl/strings/substitute.h" + +#include +#include + +#include "src/core/lib/gpr/subprocess.h" +#include "src/core/lib/gprpp/memory.h" +#include "src/core/lib/gprpp/strerror.h" + +struct gpr_subprocess { + int pid; + bool joined; + int child_stdin_; + int child_stdout_; +}; + +const char* gpr_subprocess_binary_extension() { return ""; } + +gpr_subprocess* gpr_subprocess_create(int argc, const char** argv) { + gpr_subprocess* r; + int pid; + char** exec_args; + int stdin_pipe[2]; + int stdout_pipe[2]; + int p0 = pipe(stdin_pipe); + int p1 = pipe(stdout_pipe); + GPR_ASSERT(p0 != -1); + GPR_ASSERT(p1 != -1); + pid = fork(); + if (pid == -1) { + return nullptr; + } else if (pid == 0) { + dup2(stdin_pipe[0], STDIN_FILENO); + dup2(stdout_pipe[1], STDOUT_FILENO); + close(stdin_pipe[0]); + close(stdin_pipe[1]); + close(stdout_pipe[0]); + close(stdout_pipe[1]); + exec_args = static_cast( + gpr_malloc((static_cast(argc) + 1) * sizeof(char*))); + memcpy(exec_args, argv, static_cast(argc) * sizeof(char*)); + exec_args[argc] = nullptr; + execv(exec_args[0], exec_args); + // if we reach here, an error has occurred + gpr_log(GPR_ERROR, "execv '%s' failed: %s", exec_args[0], + grpc_core::StrError(errno).c_str()); + _exit(1); + } else { + r = grpc_core::Zalloc(); + r->pid = pid; + close(stdin_pipe[0]); + close(stdout_pipe[1]); + r->child_stdin_ = stdin_pipe[1]; + r->child_stdout_ = stdout_pipe[0]; + return r; + } +} + +gpr_subprocess* gpr_subprocess_create_with_envp(int argc, const char** argv, + int envc, const char** envp) { + gpr_subprocess* r; + int pid; + char **exec_args, **envp_args; + int stdin_pipe[2]; + int stdout_pipe[2]; + int p0 = pipe(stdin_pipe); + int p1 = pipe(stdout_pipe); + GPR_ASSERT(p0 != -1); + GPR_ASSERT(p1 != -1); + pid = fork(); + if (pid == -1) { + return nullptr; + } else if (pid == 0) { + dup2(stdin_pipe[0], STDIN_FILENO); + dup2(stdout_pipe[1], STDOUT_FILENO); + close(stdin_pipe[0]); + close(stdin_pipe[1]); + close(stdout_pipe[0]); + close(stdout_pipe[1]); + exec_args = static_cast( + gpr_malloc((static_cast(argc) + 1) * sizeof(char*))); + memcpy(exec_args, argv, static_cast(argc) * sizeof(char*)); + exec_args[argc] = nullptr; + envp_args = static_cast( + gpr_malloc((static_cast(envc) + 1) * sizeof(char*))); + memcpy(envp_args, envp, static_cast(envc) * sizeof(char*)); + envp_args[envc] = nullptr; + execve(exec_args[0], exec_args, envp_args); + // if we reach here, an error has occurred + gpr_log(GPR_ERROR, "execvpe '%s' failed: %s", exec_args[0], + grpc_core::StrError(errno).c_str()); + _exit(1); + } else { + r = grpc_core::Zalloc(); + r->pid = pid; + close(stdin_pipe[0]); + close(stdout_pipe[1]); + r->child_stdin_ = stdin_pipe[1]; + r->child_stdout_ = stdout_pipe[0]; + return r; + } +} + +bool gpr_subprocess_communicate(gpr_subprocess* p, std::string& input_data, + std::string* output_data, std::string* error) { + typedef void SignalHandler(int); + + // Make sure SIGPIPE is disabled so that if the child dies it doesn't kill us. + SignalHandler* old_pipe_handler = signal(SIGPIPE, SIG_IGN); + + int input_pos = 0; + int max_fd = std::max(p->child_stdin_, p->child_stdout_); + + while (p->child_stdout_ != -1) { + fd_set read_fds; + fd_set write_fds; + FD_ZERO(&read_fds); + FD_ZERO(&write_fds); + if (p->child_stdout_ != -1) { + FD_SET(p->child_stdout_, &read_fds); + } + if (p->child_stdin_ != -1) { + FD_SET(p->child_stdin_, &write_fds); + } + + if (select(max_fd + 1, &read_fds, &write_fds, nullptr, nullptr) < 0) { + if (errno == EINTR) { + // Interrupted by signal. Try again. + continue; + } else { + std::cerr << "select: " << strerror(errno) << std::endl; + GPR_ASSERT(0); + } + } + + if (p->child_stdin_ != -1 && FD_ISSET(p->child_stdin_, &write_fds)) { + int n = write(p->child_stdin_, input_data.data() + input_pos, + input_data.size() - input_pos); + if (n < 0) { + // Child closed pipe. Presumably it will report an error later. + // Pretend we're done for now. + input_pos = input_data.size(); + } else { + input_pos += n; + } + + if (input_pos == static_cast(input_data.size())) { + // We're done writing. Close. + close(p->child_stdin_); + p->child_stdin_ = -1; + } + } + + if (p->child_stdout_ != -1 && FD_ISSET(p->child_stdout_, &read_fds)) { + char buffer[4096]; + int n = read(p->child_stdout_, buffer, sizeof(buffer)); + + if (n > 0) { + output_data->append(buffer, static_cast(n)); + } else { + // We're done reading. Close. + close(p->child_stdout_); + p->child_stdout_ = -1; + } + } + } + + if (p->child_stdin_ != -1) { + // Child did not finish reading input before it closed the output. + // Presumably it exited with an error. + close(p->child_stdin_); + p->child_stdin_ = -1; + } + + int status; + while (waitpid(p->pid, &status, 0) == -1) { + if (errno != EINTR) { + std::cerr << "waitpid: " << strerror(errno) << std::endl; + GPR_ASSERT(0); + } + } + + // Restore SIGPIPE handling. + signal(SIGPIPE, old_pipe_handler); + + if (WIFEXITED(status)) { + if (WEXITSTATUS(status) != 0) { + int error_code = WEXITSTATUS(status); + *error = + absl::Substitute("Plugin failed with status code $0.", error_code); + return false; + } + } else if (WIFSIGNALED(status)) { + int signal = WTERMSIG(status); + *error = absl::Substitute("Plugin killed by signal $0.", signal); + return false; + } else { + *error = "Neither WEXITSTATUS nor WTERMSIG is true?"; + return false; + } + + return true; +} + +void gpr_subprocess_destroy(gpr_subprocess* p) { + if (!p->joined) { + kill(p->pid, SIGKILL); + gpr_subprocess_join(p); + } + gpr_free(p); +} + +int gpr_subprocess_join(gpr_subprocess* p) { + int status; +retry: + if (waitpid(p->pid, &status, 0) == -1) { + if (errno == EINTR) { + goto retry; + } + gpr_log(GPR_ERROR, "waitpid failed for pid %d: %s", p->pid, + grpc_core::StrError(errno).c_str()); + return -1; + } + p->joined = true; + return status; +} + +void gpr_subprocess_interrupt(gpr_subprocess* p) { + if (!p->joined) { + kill(p->pid, SIGINT); + } +} + +int gpr_subprocess_get_process_id(gpr_subprocess* p) { return p->pid; } + +#endif // GPR_POSIX_SUBPROCESS diff --git a/test/core/util/subprocess_windows.cc b/src/core/lib/gpr/subprocess_windows.cc similarity index 98% rename from test/core/util/subprocess_windows.cc rename to src/core/lib/gpr/subprocess_windows.cc index b639b3ef737..3efadd2a9b0 100644 --- a/test/core/util/subprocess_windows.cc +++ b/src/core/lib/gpr/subprocess_windows.cc @@ -31,9 +31,9 @@ #include #include "src/core/lib/gpr/string.h" +#include "src/core/lib/gpr/subprocess.h" #include "src/core/lib/gprpp/crash.h" #include "src/core/lib/gprpp/tchar.h" -#include "test/core/util/subprocess.h" struct gpr_subprocess { PROCESS_INFORMATION pi; diff --git a/test/core/bad_ssl/bad_ssl_test.cc b/test/core/bad_ssl/bad_ssl_test.cc index 51d5a95b63f..5faa7b7bc5a 100644 --- a/test/core/bad_ssl/bad_ssl_test.cc +++ b/test/core/bad_ssl/bad_ssl_test.cc @@ -32,11 +32,11 @@ #include #include +#include "src/core/lib/gpr/subprocess.h" #include "src/core/lib/gprpp/env.h" #include "src/core/lib/gprpp/host_port.h" #include "test/core/end2end/cq_verifier.h" #include "test/core/util/port.h" -#include "test/core/util/subprocess.h" #include "test/core/util/test_config.h" static void run_test(const char* target, size_t nops) { diff --git a/test/core/bad_ssl/generate_tests.bzl b/test/core/bad_ssl/generate_tests.bzl index f2f3fcab93e..ecce282765a 100755 --- a/test/core/bad_ssl/generate_tests.bzl +++ b/test/core/bad_ssl/generate_tests.bzl @@ -61,6 +61,7 @@ def grpc_bad_ssl_tests(): "//test/core/util:grpc_test_util_base", "//:gpr", "//:grpc", + "//:subprocess", "//test/core/end2end:cq_verifier", ], tags = ["no_windows"], diff --git a/test/core/event_engine/test_suite/tests/BUILD b/test/core/event_engine/test_suite/tests/BUILD index ef297860a97..4c187e2c5d4 100644 --- a/test/core/event_engine/test_suite/tests/BUILD +++ b/test/core/event_engine/test_suite/tests/BUILD @@ -68,6 +68,7 @@ grpc_cc_library( "address_sorting", ], deps = [ + "//:subprocess", "//src/core:env", "//test/core/event_engine:event_engine_test_utils", "//test/core/event_engine/test_suite:event_engine_test_framework", diff --git a/test/core/http/BUILD b/test/core/http/BUILD index 965a7a84ca9..2495cfb1cbd 100644 --- a/test/core/http/BUILD +++ b/test/core/http/BUILD @@ -68,6 +68,7 @@ grpc_cc_library( hdrs = ["httpcli_test_util.h"], deps = [ "//:gpr", + "//:subprocess", "//test/core/end2end:ssl_test_data", "//test/core/util:grpc_test_util", "//test/core/util:grpc_test_util_base", @@ -90,6 +91,7 @@ grpc_cc_test( ":httpcli_test_util", "//:gpr", "//:grpc", + "//:subprocess", "//test/core/end2end:ssl_test_data", "//test/core/util:fake_udp_and_tcp_server", "//test/core/util:grpc_test_util", @@ -103,6 +105,7 @@ grpc_cc_test( data = [ "python_wrapper.sh", "test_server.py", + "//:subprocess", "//src/core/tsi/test_creds:ca.pem", "//src/core/tsi/test_creds:server1.key", "//src/core/tsi/test_creds:server1.pem", diff --git a/test/core/http/httpcli_test.cc b/test/core/http/httpcli_test.cc index 519e7fd3aaf..98fc2c934fd 100644 --- a/test/core/http/httpcli_test.cc +++ b/test/core/http/httpcli_test.cc @@ -44,6 +44,7 @@ #include #include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h" +#include "src/core/lib/gpr/subprocess.h" #include "src/core/lib/gprpp/status_helper.h" #include "src/core/lib/gprpp/time.h" #include "src/core/lib/gprpp/time_util.h" @@ -53,7 +54,6 @@ #include "test/core/http/httpcli_test_util.h" #include "test/core/util/fake_udp_and_tcp_server.h" #include "test/core/util/port.h" -#include "test/core/util/subprocess.h" #include "test/core/util/test_config.h" namespace { diff --git a/test/core/http/httpcli_test_util.cc b/test/core/http/httpcli_test_util.cc index 763413cc373..5381fb03dd3 100644 --- a/test/core/http/httpcli_test_util.cc +++ b/test/core/http/httpcli_test_util.cc @@ -32,8 +32,8 @@ #include #include "src/core/lib/config/config_vars.h" +#include "src/core/lib/gpr/subprocess.h" #include "test/core/util/port.h" -#include "test/core/util/subprocess.h" namespace grpc_core { namespace testing { diff --git a/test/core/http/httpcli_test_util.h b/test/core/http/httpcli_test_util.h index e1ecebe7926..6007a4be203 100644 --- a/test/core/http/httpcli_test_util.h +++ b/test/core/http/httpcli_test_util.h @@ -19,7 +19,7 @@ #include -#include "test/core/util/subprocess.h" +#include "src/core/lib/gpr/subprocess.h" namespace grpc_core { namespace testing { diff --git a/test/core/http/httpscli_test.cc b/test/core/http/httpscli_test.cc index 281ccda4269..35da8634f7e 100644 --- a/test/core/http/httpscli_test.cc +++ b/test/core/http/httpscli_test.cc @@ -42,6 +42,7 @@ #include #include "src/core/lib/channel/channel_args.h" +#include "src/core/lib/gpr/subprocess.h" #include "src/core/lib/gprpp/orphanable.h" #include "src/core/lib/gprpp/status_helper.h" #include "src/core/lib/gprpp/sync.h" @@ -60,7 +61,6 @@ #include "src/core/lib/uri/uri_parser.h" #include "test/core/http/httpcli_test_util.h" #include "test/core/util/fake_udp_and_tcp_server.h" -#include "test/core/util/subprocess.h" #include "test/core/util/test_config.h" namespace { diff --git a/test/core/memory_usage/BUILD b/test/core/memory_usage/BUILD index 41aab426c18..cfc2880b688 100644 --- a/test/core/memory_usage/BUILD +++ b/test/core/memory_usage/BUILD @@ -159,6 +159,7 @@ grpc_cc_test( deps = [ "//:gpr", "//:grpc", + "//:subprocess", "//test/core/util:grpc_test_util", "//test/core/util:grpc_test_util_base", ], @@ -178,6 +179,7 @@ grpc_cc_binary( deps = [ "//:gpr", "//:grpc", + "//:subprocess", "//test/core/util:grpc_test_util", "//test/core/util:grpc_test_util_base", ], diff --git a/test/core/memory_usage/memory_usage_test.cc b/test/core/memory_usage/memory_usage_test.cc index 671539654be..0c2c9ee2b73 100644 --- a/test/core/memory_usage/memory_usage_test.cc +++ b/test/core/memory_usage/memory_usage_test.cc @@ -37,9 +37,9 @@ #include #include "src/core/lib/config/config_vars.h" +#include "src/core/lib/gpr/subprocess.h" #include "src/core/lib/gprpp/host_port.h" #include "test/core/util/port.h" -#include "test/core/util/subprocess.h" #include "test/core/util/test_config.h" ABSL_FLAG(std::string, benchmark_names, "call,channel", diff --git a/test/core/util/BUILD b/test/core/util/BUILD index 2b88fd11f58..e520da58a06 100644 --- a/test/core/util/BUILD +++ b/test/core/util/BUILD @@ -59,8 +59,6 @@ grpc_cc_library( "passthru_endpoint.cc", "resolve_localhost_ip46.cc", "slice_splitter.cc", - "subprocess_posix.cc", - "subprocess_windows.cc", "tracer_util.cc", ], hdrs = [ @@ -75,7 +73,6 @@ grpc_cc_library( "passthru_endpoint.h", "resolve_localhost_ip46.h", "slice_splitter.h", - "subprocess.h", "tracer_util.h", ], external_deps = [ diff --git a/test/core/util/subprocess_posix.cc b/test/core/util/subprocess_posix.cc deleted file mode 100644 index 1b97df0d26d..00000000000 --- a/test/core/util/subprocess_posix.cc +++ /dev/null @@ -1,101 +0,0 @@ -// -// -// Copyright 2015 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 - -#include - -#ifdef GPR_POSIX_SUBPROCESS - -#include -#include -#include -#include -#include - -#include -#include - -#include "src/core/lib/gprpp/memory.h" -#include "src/core/lib/gprpp/strerror.h" -#include "test/core/util/subprocess.h" - -struct gpr_subprocess { - int pid; - bool joined; -}; - -const char* gpr_subprocess_binary_extension() { return ""; } - -gpr_subprocess* gpr_subprocess_create(int argc, const char** argv) { - gpr_subprocess* r; - int pid; - char** exec_args; - - pid = fork(); - if (pid == -1) { - return nullptr; - } else if (pid == 0) { - exec_args = static_cast( - gpr_malloc((static_cast(argc) + 1) * sizeof(char*))); - memcpy(exec_args, argv, static_cast(argc) * sizeof(char*)); - exec_args[argc] = nullptr; - execv(exec_args[0], exec_args); - // if we reach here, an error has occurred - gpr_log(GPR_ERROR, "execv '%s' failed: %s", exec_args[0], - grpc_core::StrError(errno).c_str()); - _exit(1); - } else { - r = grpc_core::Zalloc(); - r->pid = pid; - return r; - } -} - -void gpr_subprocess_destroy(gpr_subprocess* p) { - if (!p->joined) { - kill(p->pid, SIGKILL); - gpr_subprocess_join(p); - } - gpr_free(p); -} - -int gpr_subprocess_join(gpr_subprocess* p) { - int status; -retry: - if (waitpid(p->pid, &status, 0) == -1) { - if (errno == EINTR) { - goto retry; - } - gpr_log(GPR_ERROR, "waitpid failed for pid %d: %s", p->pid, - grpc_core::StrError(errno).c_str()); - return -1; - } - p->joined = true; - return status; -} - -void gpr_subprocess_interrupt(gpr_subprocess* p) { - if (!p->joined) { - kill(p->pid, SIGINT); - } -} - -int gpr_subprocess_get_process_id(gpr_subprocess* p) { return p->pid; } - -#endif // GPR_POSIX_SUBPROCESS diff --git a/test/cpp/util/BUILD b/test/cpp/util/BUILD index d8aed93aa50..e4b98dc1ec2 100644 --- a/test/cpp/util/BUILD +++ b/test/cpp/util/BUILD @@ -80,6 +80,7 @@ grpc_cc_library( ], deps = [ "//:grpc++", + "//:subprocess", "//test/core/end2end:ssl_test_data", "//test/core/util:grpc_test_util", "//test/core/util:grpc_test_util_base", @@ -114,6 +115,7 @@ grpc_cc_library( ], deps = [ "//:grpc++_unsecure", + "//:subprocess", "//test/core/util:grpc_test_util_base", "//test/core/util:grpc_test_util_unsecure", ], diff --git a/test/cpp/util/subprocess.cc b/test/cpp/util/subprocess.cc index 1cd7fbd44a4..2f0c9cd03b2 100644 --- a/test/cpp/util/subprocess.cc +++ b/test/cpp/util/subprocess.cc @@ -20,7 +20,7 @@ #include -#include "test/core/util/subprocess.h" +#include "src/core/lib/gpr/subprocess.h" namespace grpc {