1# Copyright 2017 gRPC authors. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_package") 16load("//test/cpp/microbenchmarks:grpc_benchmark_config.bzl", "grpc_cc_benchmark") 17 18licenses(["notice"]) 19 20grpc_package( 21 name = "test/core/event_engine/posix", 22 visibility = "public", 23) # Useful for third party devs to test their io manager implementation. 24 25grpc_cc_library( 26 name = "posix_engine_test_utils", 27 testonly = True, 28 srcs = ["posix_engine_test_utils.cc"], 29 hdrs = ["posix_engine_test_utils.h"], 30 external_deps = ["absl/log:log"], 31 tags = [ 32 "no_windows", 33 ], 34 visibility = ["//visibility:private"], 35 deps = [ 36 "//src/core:event_engine_common", 37 "//src/core:posix_event_engine_event_poller", 38 "//test/core/test_util:grpc_test_util", 39 ], 40) 41 42grpc_cc_test( 43 name = "timer_heap_test", 44 srcs = ["timer_heap_test.cc"], 45 external_deps = [ 46 "absl/log:check", 47 "gtest", 48 ], 49 language = "C++", 50 uses_event_engine = False, 51 uses_polling = False, 52 deps = [ 53 "//src/core:bitset", 54 "//src/core:posix_event_engine_timer", 55 ], 56) 57 58grpc_cc_test( 59 name = "timer_list_test", 60 srcs = ["timer_list_test.cc"], 61 external_deps = ["gtest"], 62 language = "C++", 63 uses_event_engine = False, 64 uses_polling = False, 65 deps = [ 66 "//src/core:posix_event_engine_timer", 67 ], 68) 69 70grpc_cc_test( 71 name = "timer_manager_test", 72 srcs = ["timer_manager_test.cc"], 73 external_deps = [ 74 "absl/log:log", 75 "gtest", 76 ], 77 language = "C++", 78 uses_event_engine = False, 79 uses_polling = False, 80 deps = [ 81 "//:exec_ctx", 82 "//src/core:common_event_engine_closures", 83 "//src/core:posix_event_engine_timer_manager", 84 "//test/core/test_util:grpc_test_util", 85 ], 86) 87 88grpc_cc_test( 89 name = "event_poller_posix_test", 90 srcs = ["event_poller_posix_test.cc"], 91 external_deps = [ 92 "absl/log:log", 93 "gtest", 94 ], 95 language = "C++", 96 tags = [ 97 "no_windows", 98 ], 99 uses_event_engine = True, 100 uses_polling = True, 101 deps = [ 102 "//src/core:common_event_engine_closures", 103 "//src/core:event_engine_poller", 104 "//src/core:posix_event_engine", 105 "//src/core:posix_event_engine_closure", 106 "//src/core:posix_event_engine_event_poller", 107 "//src/core:posix_event_engine_poller_posix_default", 108 "//test/core/event_engine/posix:posix_engine_test_utils", 109 "//test/core/test_util:grpc_test_util", 110 ], 111) 112 113grpc_cc_benchmark( 114 name = "lock_free_event_test", 115 srcs = ["lock_free_event_test.cc"], 116 external_deps = [ 117 "gtest", 118 ], 119 uses_event_engine = True, 120 deps = [ 121 "//src/core:posix_event_engine", 122 "//src/core:posix_event_engine_closure", 123 "//src/core:posix_event_engine_event_poller", 124 "//src/core:posix_event_engine_lockfree_event", 125 "//test/core/test_util:grpc_test_util", 126 ], 127) 128 129grpc_cc_test( 130 name = "wakeup_fd_posix_test", 131 srcs = ["wakeup_fd_posix_test.cc"], 132 external_deps = ["gtest"], 133 language = "C++", 134 tags = [ 135 "no_windows", 136 ], 137 uses_event_engine = False, 138 uses_polling = True, 139 deps = [ 140 "//src/core:posix_event_engine_wakeup_fd_posix_eventfd", 141 "//src/core:posix_event_engine_wakeup_fd_posix_pipe", 142 "//test/core/test_util:grpc_test_util", 143 ], 144) 145 146grpc_cc_test( 147 name = "traced_buffer_list_test", 148 srcs = ["traced_buffer_list_test.cc"], 149 external_deps = [ 150 "absl/log:check", 151 "gtest", 152 ], 153 language = "C++", 154 tags = [ 155 "no_windows", 156 ], 157 uses_event_engine = False, 158 uses_polling = False, 159 deps = [ 160 "//src/core:posix_event_engine_traced_buffer_list", 161 "//test/core/test_util:grpc_test_util", 162 ], 163) 164 165grpc_cc_test( 166 name = "tcp_posix_socket_utils_test", 167 srcs = ["tcp_posix_socket_utils_test.cc"], 168 external_deps = ["gtest"], 169 language = "C++", 170 tags = [ 171 "no_windows", 172 ], 173 uses_event_engine = False, 174 uses_polling = False, 175 deps = [ 176 "//src/core:event_engine_common", 177 "//src/core:posix_event_engine_tcp_socket_utils", 178 "//src/core:socket_mutator", 179 "//test/core/test_util:grpc_test_util", 180 ], 181) 182 183grpc_cc_test( 184 name = "posix_endpoint_test", 185 srcs = ["posix_endpoint_test.cc"], 186 external_deps = [ 187 "absl/log:check", 188 "absl/log:log", 189 "gtest", 190 ], 191 language = "C++", 192 tags = [ 193 "no_windows", 194 ], 195 uses_event_engine = True, 196 uses_polling = True, 197 deps = [ 198 "//src/core:channel_args", 199 "//src/core:common_event_engine_closures", 200 "//src/core:event_engine_poller", 201 "//src/core:posix_event_engine", 202 "//src/core:posix_event_engine_closure", 203 "//src/core:posix_event_engine_endpoint", 204 "//src/core:posix_event_engine_event_poller", 205 "//src/core:posix_event_engine_poller_posix_default", 206 "//test/core/event_engine:event_engine_test_utils", 207 "//test/core/event_engine/posix:posix_engine_test_utils", 208 "//test/core/event_engine/test_suite/posix:oracle_event_engine_posix", 209 "//test/core/test_util:grpc_test_util", 210 ], 211) 212 213grpc_cc_test( 214 name = "posix_engine_listener_utils_test", 215 srcs = ["posix_engine_listener_utils_test.cc"], 216 external_deps = [ 217 "absl/log:log", 218 "gtest", 219 ], 220 language = "C++", 221 tags = [ 222 "no_windows", 223 ], 224 uses_event_engine = False, 225 deps = [ 226 "//src/core:event_engine_common", 227 "//src/core:event_engine_tcp_socket_utils", 228 "//src/core:posix_event_engine_listener_utils", 229 "//src/core:posix_event_engine_tcp_socket_utils", 230 "//src/core:socket_mutator", 231 "//test/core/test_util:grpc_test_util", 232 ], 233) 234 235grpc_cc_test( 236 name = "posix_event_engine_connect_test", 237 srcs = ["posix_event_engine_connect_test.cc"], 238 external_deps = [ 239 "absl/log:check", 240 "absl/log:log", 241 "gtest", 242 ], 243 language = "C++", 244 tags = [ 245 "no_mac", 246 "no_windows", 247 ], 248 uses_event_engine = True, 249 uses_polling = True, 250 deps = [ 251 "//src/core:channel_args", 252 "//src/core:event_engine_poller", 253 "//src/core:posix_event_engine", 254 "//src/core:posix_event_engine_closure", 255 "//src/core:posix_event_engine_endpoint", 256 "//src/core:posix_event_engine_event_poller", 257 "//src/core:posix_event_engine_poller_posix_default", 258 "//test/core/event_engine:event_engine_test_utils", 259 "//test/core/event_engine/test_suite/posix:oracle_event_engine_posix", 260 "//test/core/test_util:grpc_test_util", 261 ], 262) 263 264grpc_cc_test( 265 name = "log_too_many_open_files_test", 266 srcs = ["log_too_many_open_files_test.cc"], 267 external_deps = [ 268 "gtest", 269 ], 270 language = "C++", 271 tags = [ 272 "no_windows", 273 ], 274 uses_event_engine = False, 275 uses_polling = False, 276 deps = [ 277 "//:grpc", 278 "//src/core:posix_event_engine", 279 "//test/core/test_util:grpc_test_util", 280 ], 281) 282