mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
686 lines
16 KiB
686 lines
16 KiB
# Copyright 2021 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") |
|
load("//test/core/test_util:grpc_fuzzer.bzl", "grpc_proto_fuzzer") |
|
|
|
licenses(["notice"]) |
|
|
|
grpc_package(name = "test/core/promise") |
|
|
|
grpc_cc_library( |
|
name = "poll_matcher", |
|
testonly = True, |
|
hdrs = ["poll_matcher.h"], |
|
external_deps = ["gtest"], |
|
visibility = ["//test/core:__subpackages__"], |
|
deps = ["//src/core:poll"], |
|
) |
|
|
|
grpc_cc_library( |
|
name = "test_wakeup_schedulers", |
|
testonly = True, |
|
hdrs = ["test_wakeup_schedulers.h"], |
|
external_deps = ["gtest"], |
|
visibility = ["//test/core:__subpackages__"], |
|
) |
|
|
|
grpc_cc_library( |
|
name = "test_context", |
|
testonly = True, |
|
hdrs = ["test_context.h"], |
|
visibility = ["//test/core:__subpackages__"], |
|
deps = ["//src/core:context"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "poll_test", |
|
srcs = ["poll_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = ["//src/core:poll"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "interceptor_list_test", |
|
srcs = ["interceptor_list_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"test_context", |
|
"//:ref_counted_ptr", |
|
"//src/core:arena", |
|
"//src/core:event_engine_memory_allocator", |
|
"//src/core:interceptor_list", |
|
"//src/core:memory_quota", |
|
"//src/core:resource_quota", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "context_test", |
|
srcs = ["context_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = ["//src/core:context"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "cancel_callback_test", |
|
srcs = ["cancel_callback_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"//src/core:cancel_callback", |
|
"//src/core:poll", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "promise_test", |
|
srcs = ["promise_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = ["//:promise"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "arena_promise_test", |
|
srcs = ["arena_promise_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = [ |
|
"promise_test", |
|
"resource_quota_test", |
|
], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"test_context", |
|
"//:exec_ctx", |
|
"//:ref_counted_ptr", |
|
"//src/core:arena_promise", |
|
"//src/core:event_engine_memory_allocator", |
|
"//src/core:memory_quota", |
|
"//src/core:resource_quota", |
|
"//test/core/test_util:grpc_test_util_unsecure", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
# Why promise_map_test and not map_test? |
|
# third_party/benchmark defines a map_test in its cmakefile, and we depend |
|
# on that from our cmakefile, and cmake wants to have a flat namespace to |
|
# deal with xcode/visual studio limitations... sooo... promise_map_test it |
|
# is. |
|
name = "promise_map_test", |
|
srcs = ["map_test.cc"], |
|
external_deps = [ |
|
"absl/functional:any_invocable", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"poll_matcher", |
|
"//:promise", |
|
"//src/core:map", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "race_test", |
|
srcs = ["race_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"//src/core:poll", |
|
"//src/core:race", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "prioritized_race_test", |
|
srcs = ["prioritized_race_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"//src/core:poll", |
|
"//src/core:prioritized_race", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "promise_factory_test", |
|
srcs = ["promise_factory_test.cc"], |
|
external_deps = [ |
|
"absl/functional:bind_front", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"//src/core:poll", |
|
"//src/core:promise_factory", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "if_test", |
|
srcs = ["if_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = ["//src/core:if"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "switch_test", |
|
srcs = ["switch_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = ["//src/core:switch"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "loop_test", |
|
srcs = ["loop_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"//src/core:loop", |
|
"//src/core:seq", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "join_test", |
|
srcs = ["join_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"poll_matcher", |
|
"//src/core:join", |
|
"//src/core:poll", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "try_join_test", |
|
srcs = ["try_join_test.cc"], |
|
external_deps = [ |
|
"absl/utility", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = ["//src/core:try_join"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "all_ok_test", |
|
srcs = ["all_ok_test.cc"], |
|
external_deps = [ |
|
"absl/utility", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = ["//src/core:all_ok"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "seq_test", |
|
srcs = ["seq_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = ["//src/core:seq"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "try_seq_test", |
|
srcs = ["try_seq_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = ["//src/core:try_seq"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "try_seq_metadata_test", |
|
srcs = ["try_seq_metadata_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"//:grpc", |
|
"//:grpc_public_hdrs", |
|
"//:ref_counted_ptr", |
|
"//src/core:arena", |
|
"//src/core:memory_quota", |
|
"//src/core:poll", |
|
"//src/core:resource_quota", |
|
"//src/core:try_seq", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "activity_test", |
|
srcs = ["activity_test.cc"], |
|
external_deps = ["gtest"], |
|
flaky = True, |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"test_wakeup_schedulers", |
|
"//:promise", |
|
"//src/core:activity", |
|
"//src/core:join", |
|
"//src/core:poll", |
|
"//src/core:seq", |
|
"//src/core:wait_set", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "latch_test", |
|
srcs = ["latch_test.cc"], |
|
external_deps = [ |
|
"absl/status", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"test_wakeup_schedulers", |
|
"//src/core:activity", |
|
"//src/core:join", |
|
"//src/core:latch", |
|
"//src/core:seq", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "for_each_test", |
|
srcs = ["for_each_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"test_wakeup_schedulers", |
|
"//:ref_counted_ptr", |
|
"//src/core:activity", |
|
"//src/core:arena", |
|
"//src/core:event_engine_memory_allocator", |
|
"//src/core:for_each", |
|
"//src/core:inter_activity_pipe", |
|
"//src/core:join", |
|
"//src/core:map", |
|
"//src/core:memory_quota", |
|
"//src/core:pipe", |
|
"//src/core:resource_quota", |
|
"//src/core:seq", |
|
"//src/core:try_seq", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "map_pipe_test", |
|
srcs = ["map_pipe_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"test_wakeup_schedulers", |
|
"//:ref_counted_ptr", |
|
"//src/core:activity", |
|
"//src/core:arena", |
|
"//src/core:event_engine_memory_allocator", |
|
"//src/core:for_each", |
|
"//src/core:join", |
|
"//src/core:map", |
|
"//src/core:map_pipe", |
|
"//src/core:memory_quota", |
|
"//src/core:pipe", |
|
"//src/core:poll", |
|
"//src/core:resource_quota", |
|
"//src/core:seq", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "pipe_test", |
|
srcs = ["pipe_test.cc"], |
|
external_deps = [ |
|
"absl/functional:function_ref", |
|
"absl/status", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"test_wakeup_schedulers", |
|
"//:gpr", |
|
"//:grpc", |
|
"//:ref_counted_ptr", |
|
"//src/core:activity", |
|
"//src/core:event_engine_memory_allocator", |
|
"//src/core:join", |
|
"//src/core:map", |
|
"//src/core:memory_quota", |
|
"//src/core:pipe", |
|
"//src/core:resource_quota", |
|
"//src/core:seq", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "inter_activity_pipe_test", |
|
srcs = ["inter_activity_pipe_test.cc"], |
|
external_deps = [ |
|
"absl/status", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"test_wakeup_schedulers", |
|
"//src/core:inter_activity_pipe", |
|
"//src/core:seq", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "inter_activity_latch_test", |
|
srcs = ["inter_activity_latch_test.cc"], |
|
external_deps = [ |
|
"absl/status", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"//:grpc", |
|
"//src/core:default_event_engine", |
|
"//src/core:event_engine_wakeup_scheduler", |
|
"//src/core:inter_activity_latch", |
|
"//src/core:notification", |
|
"//src/core:seq", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "mpsc_test", |
|
srcs = ["mpsc_test.cc"], |
|
external_deps = [ |
|
"absl/types:optional", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"poll_matcher", |
|
"//:gpr", |
|
"//:promise", |
|
"//src/core:activity", |
|
"//src/core:mpsc", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "observable_test", |
|
srcs = ["observable_test.cc"], |
|
external_deps = [ |
|
"absl/strings", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"poll_matcher", |
|
"//src/core:loop", |
|
"//src/core:map", |
|
"//src/core:notification", |
|
"//src/core:observable", |
|
], |
|
) |
|
|
|
grpc_proto_fuzzer( |
|
name = "promise_fuzzer", |
|
srcs = ["promise_fuzzer.cc"], |
|
corpus = "promise_fuzzer_corpus", |
|
external_deps = [ |
|
"absl/functional:any_invocable", |
|
"absl/log:check", |
|
"absl/status", |
|
"absl/types:optional", |
|
], |
|
language = "C++", |
|
proto = "promise_fuzzer.proto", |
|
tags = ["no_windows"], |
|
uses_polling = False, |
|
deps = [ |
|
"//:gpr", |
|
"//:promise", |
|
"//src/core:activity", |
|
"//src/core:join", |
|
"//src/core:map", |
|
"//src/core:poll", |
|
"//src/core:race", |
|
"//src/core:seq", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "exec_ctx_wakeup_scheduler_test", |
|
srcs = ["exec_ctx_wakeup_scheduler_test.cc"], |
|
external_deps = [ |
|
"absl/status", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"//src/core:activity", |
|
"//src/core:exec_ctx_wakeup_scheduler", |
|
"//src/core:poll", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "wait_for_callback_test", |
|
srcs = ["wait_for_callback_test.cc"], |
|
external_deps = [ |
|
"absl/status", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"test_wakeup_schedulers", |
|
"//src/core:map", |
|
"//src/core:notification", |
|
"//src/core:wait_for_callback", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "event_engine_wakeup_scheduler_test", |
|
srcs = ["event_engine_wakeup_scheduler_test.cc"], |
|
external_deps = [ |
|
"absl/status", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"//:grpc", |
|
"//src/core:activity", |
|
"//src/core:event_engine_wakeup_scheduler", |
|
"//src/core:notification", |
|
"//src/core:poll", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "sleep_test", |
|
srcs = ["sleep_test.cc"], |
|
external_deps = [ |
|
"absl/log:log", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"test_wakeup_schedulers", |
|
"//:exec_ctx", |
|
"//:gpr", |
|
"//:grpc", |
|
"//:orphanable", |
|
"//src/core:default_event_engine", |
|
"//src/core:exec_ctx_wakeup_scheduler", |
|
"//src/core:notification", |
|
"//src/core:race", |
|
"//src/core:sleep", |
|
"//test/core/event_engine:mock_event_engine", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "status_flag_test", |
|
srcs = ["status_flag_test.cc"], |
|
external_deps = ["gtest"], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = ["//src/core:status_flag"], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "promise_mutex_test", |
|
srcs = ["promise_mutex_test.cc"], |
|
external_deps = [ |
|
"absl/status", |
|
"gtest", |
|
], |
|
deps = [ |
|
"test_wakeup_schedulers", |
|
"//:promise", |
|
"//src/core:activity", |
|
"//src/core:join", |
|
"//src/core:promise_mutex", |
|
"//src/core:seq", |
|
], |
|
) |
|
|
|
grpc_cc_test( |
|
name = "party_test", |
|
srcs = ["party_test.cc"], |
|
external_deps = [ |
|
"absl/base:core_headers", |
|
"absl/log:log", |
|
"gtest", |
|
], |
|
language = "c++", |
|
tags = ["promise_test"], |
|
uses_event_engine = False, |
|
uses_polling = False, |
|
deps = [ |
|
"//:exec_ctx", |
|
"//:gpr", |
|
"//:grpc_unsecure", |
|
"//:ref_counted_ptr", |
|
"//src/core:1999", |
|
"//src/core:context", |
|
"//src/core:default_event_engine", |
|
"//src/core:event_engine_memory_allocator", |
|
"//src/core:inter_activity_latch", |
|
"//src/core:memory_quota", |
|
"//src/core:notification", |
|
"//src/core:poll", |
|
"//src/core:resource_quota", |
|
"//src/core:seq", |
|
"//src/core:sleep", |
|
"//src/core:time", |
|
], |
|
)
|
|
|