blob: 43facf28328c698fe3dee9160702004cb9e13560 [file] [log] [blame]
# Copyright 2017 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_package")
licenses(["notice"])
grpc_package(
name = "test/core/util",
visibility = "public",
)
grpc_cc_library(
name = "grpc_suppressions",
data = [
"lsan_suppressions.txt",
"tsan_suppressions.txt",
"ubsan_suppressions.txt",
],
)
TEST_UTILS_THAT_USE_GRPC_H_SOURCES = [
"port.cc",
"port_isolated_runtime_environment.cc",
"port_server_client.cc",
"reconnect_server.cc",
"test_config.cc",
"test_tcp_server.cc",
]
TEST_UTILS_THAT_USE_GRPC_H_HEADERS = [
"port.h",
"reconnect_server.h",
"port_server_client.h",
"test_config.h",
"test_tcp_server.h",
]
grpc_cc_library(
name = "grpc_test_util_base",
srcs = [
"cmdline.cc",
"fuzzer_util.cc",
"grpc_profiler.cc",
"histogram.cc",
"mock_endpoint.cc",
"parse_hexstring.cc",
"passthru_endpoint.cc",
"resolve_localhost_ip46.cc",
"slice_splitter.cc",
"subprocess_posix.cc",
"subprocess_windows.cc",
"tracer_util.cc",
],
hdrs = [
"cmdline.h",
"evaluate_args_test_util.h",
"fuzzer_util.h",
"grpc_profiler.h",
"histogram.h",
"mock_authorization_endpoint.h",
"mock_endpoint.h",
"parse_hexstring.h",
"passthru_endpoint.h",
"resolve_localhost_ip46.h",
"slice_splitter.h",
"subprocess.h",
"tracer_util.h",
],
external_deps = [
"absl/status:statusor",
"absl/strings",
"absl/strings:str_format",
],
language = "C++",
tags = ["nofixdeps"],
deps = [
"//:arena",
"//:debug_location",
"//:gpr_base",
"//:grpc_authorization_base",
"//:grpc_base",
"//:grpc_security_base",
"//:grpc_sockaddr",
"//:grpc_trace",
"//:iomgr_fwd",
"//:iomgr_timer",
"//:memory_quota",
"//:ref_counted_ptr",
"//:resolved_address",
"//:resource_quota",
"//:slice",
"//:slice_refcount",
"//:time",
"//:useful",
],
)
grpc_cc_library(
name = "grpc_test_util",
srcs = TEST_UTILS_THAT_USE_GRPC_H_SOURCES + ["tls_utils.cc"],
hdrs = TEST_UTILS_THAT_USE_GRPC_H_HEADERS + ["tls_utils.h"],
external_deps = [
"absl/base:core_headers",
"absl/debugging:failure_signal_handler",
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/strings:str_format",
],
language = "C++",
deps = [
"build",
"stack_tracer",
"//:channel_args_preconditioning",
"//:config",
"//:gpr_base",
"//:grpc",
"//:grpc_public_hdrs",
"//:grpc_security_base",
"//:grpc_sockaddr",
"//:grpc_trace",
"//:httpcli",
"//:iomgr_port",
"//:orphanable",
"//:ref_counted_ptr",
"//:resolved_address",
"//:slice",
"//:slice_refcount",
"//:time",
"//:tsi_ssl_credentials",
"//:uri_parser",
"//test/core/event_engine:test_init",
],
)
grpc_cc_library(
name = "grpc_test_util_unsecure",
srcs = TEST_UTILS_THAT_USE_GRPC_H_SOURCES,
hdrs = TEST_UTILS_THAT_USE_GRPC_H_HEADERS,
external_deps = [
"absl/debugging:failure_signal_handler",
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/strings:str_format",
],
language = "C++",
deps = [
"build",
"stack_tracer",
"//:channel_args_preconditioning",
"//:config",
"//:gpr_base",
"//:grpc_security_base",
"//:grpc_sockaddr",
"//:grpc_unsecure",
"//:httpcli",
"//:iomgr_port",
"//:orphanable",
"//:ref_counted_ptr",
"//:resolved_address",
"//:time",
"//:uri_parser",
"//test/core/event_engine:test_init",
],
)
grpc_cc_test(
name = "cmdline_test",
srcs = ["cmdline_test.cc"],
external_deps = ["gtest"],
language = "C++",
uses_event_engine = False,
uses_polling = False,
deps = [
"grpc_test_util",
"grpc_test_util_base",
"//:gpr_base",
"//:useful",
],
)
grpc_cc_library(
name = "fuzzer_corpus_test",
testonly = 1,
srcs = ["fuzzer_corpus_test.cc"],
external_deps = [
"absl/flags:flag",
"gtest",
],
linkstatic = True,
tags = [
"no_windows",
"nofixdeps",
],
deps = [
":grpc_test_util",
"//:grpc",
"//test/cpp/util:test_config",
],
)
grpc_cc_test(
name = "histogram_test",
srcs = ["histogram_test.cc"],
external_deps = ["gtest"],
language = "C++",
tags = ["nofixdeps"],
uses_event_engine = False,
uses_polling = False,
deps = [
"grpc_test_util",
"grpc_test_util_base",
"//:gpr_base",
],
)
sh_library(
name = "fuzzer_one_entry_runner",
srcs = ["fuzzer_one_entry_runner.sh"],
)
grpc_cc_library(
name = "stack_tracer",
srcs = [
"stack_tracer.cc",
],
hdrs = [
"stack_tracer.h",
],
external_deps = [
"absl/debugging:stacktrace",
"absl/debugging:symbolize",
],
language = "C++",
deps = [
"//:examine_stack",
"//:gpr_platform",
],
)
grpc_cc_test(
name = "stack_tracer_test",
srcs = [
"stack_tracer_test.cc",
],
external_deps = [
"absl/strings",
"gtest",
],
language = "C++",
# TODO(https://github.com/grpc/grpc/issues/24627): Disable this on Windows
tags = ["no_windows"],
uses_event_engine = False,
uses_polling = False,
deps = [
"grpc_test_util",
"stack_tracer",
"//:gpr_base",
],
)
grpc_cc_library(
name = "test_lb_policies",
testonly = 1,
srcs = ["test_lb_policies.cc"],
hdrs = ["test_lb_policies.h"],
external_deps = [
"absl/memory",
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/types:variant",
],
deps = [
"//:gpr_base",
"//:grpc",
"//:grpc_backend_metric_data",
"//:grpc_client_channel",
"//:json",
"//:json_util",
"//:lb_policy",
"//:lb_policy_factory",
"//:lb_policy_registry",
"//:orphanable",
"//:ref_counted_ptr",
"//:resolved_address",
"//:server_address",
"//:subchannel_interface",
"//:time",
"//:uri_parser",
],
)
grpc_cc_library(
name = "fake_udp_and_tcp_server",
srcs = ["fake_udp_and_tcp_server.cc"],
hdrs = ["fake_udp_and_tcp_server.h"],
external_deps = [
"absl/memory",
"absl/status:statusor",
"absl/strings",
],
language = "C++",
deps = [
"grpc_test_util",
"//:gpr_base",
"//:grpc",
"//:resolved_address",
"//:sockaddr_utils",
],
)
grpc_cc_library(
name = "build",
srcs = ["build.cc"],
hdrs = ["build.h"],
)