From 892a47581e1eda8e23a419475437f65c4e42024b Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 27 Jan 2025 20:57:37 -0800 Subject: [PATCH] x --- test/core/event_engine/work_queue/BUILD | 23 ++++++++++++------- .../work_queue/basic_work_queue_fuzzer.cc | 14 +++++------ .../event_engine/work_queue/corpora/empty | 0 3 files changed, 21 insertions(+), 16 deletions(-) delete mode 100644 test/core/event_engine/work_queue/corpora/empty diff --git a/test/core/event_engine/work_queue/BUILD b/test/core/event_engine/work_queue/BUILD index fed8637c5e077..cb0fd4bab95ed 100644 --- a/test/core/event_engine/work_queue/BUILD +++ b/test/core/event_engine/work_queue/BUILD @@ -12,8 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -load("//bazel:grpc_build_system.bzl", "grpc_cc_test", "grpc_package") -load("//test/core/test_util:grpc_fuzzer.bzl", "grpc_proto_fuzzer") +load("//bazel:grpc_build_system.bzl", "grpc_cc_test", "grpc_cc_proto_library","grpc_internal_proto_library","grpc_package") +load("//test/core/test_util:grpc_fuzzer.bzl", "grpc_fuzz_test") licenses(["notice"]) @@ -35,19 +35,26 @@ grpc_cc_test( ], ) +grpc_internal_proto_library( + name = "work_queue_fuzzer_proto", + srcs = ["work_queue_fuzzer.proto"], +) + +grpc_cc_proto_library( + name = "work_queue_fuzzer_cc_proto", + deps = ["work_queue_fuzzer_proto"] +) + # TODO(hork): the same fuzzer configuration should work trivially for all # WorkQueue implementations. Generalize it when another implementation is # written. -grpc_proto_fuzzer( +grpc_fuzz_test( name = "basic_work_queue_fuzzer", srcs = ["basic_work_queue_fuzzer.cc"], - corpus = "corpora", - proto = "work_queue_fuzzer.proto", - tags = ["no_windows"], - uses_event_engine = False, - uses_polling = False, deps = [ "//src/core:event_engine_basic_work_queue", "//test/core/test_util:grpc_test_util", + "work_queue_fuzzer_cc_proto", ], + external_deps = ["gtest", "fuzztest", "fuzztest_main"], ) diff --git a/test/core/event_engine/work_queue/basic_work_queue_fuzzer.cc b/test/core/event_engine/work_queue/basic_work_queue_fuzzer.cc index 79131c0f460a1..4e9d0a8204db2 100644 --- a/test/core/event_engine/work_queue/basic_work_queue_fuzzer.cc +++ b/test/core/event_engine/work_queue/basic_work_queue_fuzzer.cc @@ -21,14 +21,11 @@ #include #include "absl/functional/any_invocable.h" +#include "fuzztest/fuzztest.h" #include "src/core/lib/event_engine/common_closures.h" #include "src/core/lib/event_engine/work_queue/basic_work_queue.h" -#include "src/libfuzzer/libfuzzer_macro.h" #include "test/core/event_engine/work_queue/work_queue_fuzzer.pb.h" -bool squelch = true; -bool leak_check = true; - namespace grpc_event_engine { namespace experimental { @@ -131,11 +128,12 @@ class WorkQueueFuzzer { std::optional last_executed_key_; }; -} // namespace experimental -} // namespace grpc_event_engine - -DEFINE_PROTO_FUZZER(const work_queue_fuzzer::Msg& msg) { +void Fuzz(const work_queue_fuzzer::Msg& msg) { for (const auto& action : msg.actions()) { grpc_event_engine::experimental::WorkQueueFuzzer().Run(action); } } +FUZZ_TEST(WorkQueueFuzzer, Fuzz); + +} // namespace experimental +} // namespace grpc_event_engine diff --git a/test/core/event_engine/work_queue/corpora/empty b/test/core/event_engine/work_queue/corpora/empty deleted file mode 100644 index e69de29bb2d1d..0000000000000