diff --git a/test/core/util/BUILD b/test/core/util/BUILD index cb5fb9114b645..08eab7f700005 100644 --- a/test/core/util/BUILD +++ b/test/core/util/BUILD @@ -13,11 +13,10 @@ # limitations under the License. load("//bazel:custom_exec_properties.bzl", "LARGE_MACHINE") -load("//bazel:grpc_build_system.bzl", "grpc_cc_test", "grpc_package") +load("//bazel:grpc_build_system.bzl", "grpc_cc_test", "grpc_package","grpc_cc_proto_library", "grpc_internal_proto_library") load( "//test/core/test_util:grpc_fuzzer.bzl", "grpc_fuzz_test", - "grpc_proto_fuzzer", ) load("//test/cpp/microbenchmarks:grpc_benchmark_config.bzl", "HISTORY", "grpc_cc_benchmark") @@ -361,19 +360,25 @@ grpc_cc_test( ], ) -grpc_proto_fuzzer( +grpc_internal_proto_library( + name = "chunked_vector_fuzzer_proto", + srcs = ["chunked_vector_fuzzer.proto"], +) + +grpc_cc_proto_library( + name = "chunked_vector_fuzzer_cc_proto", + deps = ["chunked_vector_fuzzer_proto"], +) + +grpc_fuzz_test( name = "chunked_vector_fuzzer", srcs = ["chunked_vector_fuzzer.cc"], - corpus = "chunked_vector_corpora", - external_deps = ["absl/log:check"], - proto = "chunked_vector_fuzzer.proto", - tags = ["no_windows"], - uses_event_engine = False, - uses_polling = False, + external_deps = ["absl/log:check", "fuzztest", "fuzztest_main"], deps = [ "//src/core:chunked_vector", "//src/core:resource_quota", "//test/core/test_util:grpc_test_util", + "chunked_vector_fuzzer_cc_proto", ], ) @@ -720,17 +725,27 @@ grpc_cc_test( ], ) -grpc_proto_fuzzer( +grpc_internal_proto_library( + name = "avl_fuzzer_proto", + srcs = ["avl_fuzzer.proto"], +) + +grpc_cc_proto_library( + name = "avl_fuzzer_cc_proto", + deps = ["avl_fuzzer_proto"], +) + +grpc_fuzz_test( name = "avl_fuzzer", srcs = ["avl_fuzzer.cc"], - corpus = "avl_fuzzer_corpus", - proto = "avl_fuzzer.proto", - tags = ["no_windows"], - uses_event_engine = False, - uses_polling = False, + external_deps = [ + "fuzztest", + "fuzztest_main", + ], deps = [ "//src/core:avl", "//test/core/test_util:grpc_test_util", + "avl_fuzzer_cc_proto", ], ) diff --git a/test/core/util/avl_fuzzer.cc b/test/core/util/avl_fuzzer.cc index a0760e659cdbf..215639fe1df98 100644 --- a/test/core/util/avl_fuzzer.cc +++ b/test/core/util/avl_fuzzer.cc @@ -20,7 +20,7 @@ #include #include "src/core/util/avl.h" -#include "src/libfuzzer/libfuzzer_macro.h" +#include "fuzztest/fuzztest.h" #include "test/core/util/avl_fuzzer.pb.h" bool squelch = true; @@ -88,9 +88,7 @@ std::map MapFromProto(const RepeatedField& p) { return a; } -} // namespace grpc_core - -DEFINE_PROTO_FUZZER(const avl_fuzzer::Msg& msg) { +void SameAsMap(const avl_fuzzer::Msg& msg) { grpc_core::Fuzzer fuzzer; for (const auto& action : msg.actions()) { grpc_core::Fuzzer().Run(action); @@ -105,3 +103,6 @@ DEFINE_PROTO_FUZZER(const avl_fuzzer::Msg& msg) { if ((left_avl < right_avl) != (left_map < right_map)) abort(); } } +FUZZ_TEST(AvlFuzzer, SameAsMap); + +} // namespace grpc_core diff --git a/test/core/util/avl_fuzzer_corpus/0 b/test/core/util/avl_fuzzer_corpus/0 deleted file mode 100644 index 8b137891791fe..0000000000000 --- a/test/core/util/avl_fuzzer_corpus/0 +++ /dev/null @@ -1 +0,0 @@ - diff --git a/test/core/util/avl_fuzzer_corpus/crash-060a9a897130ba7bb2f4313daa604c47f7c7c907 b/test/core/util/avl_fuzzer_corpus/crash-060a9a897130ba7bb2f4313daa604c47f7c7c907 deleted file mode 100644 index cf46495b8aa8d..0000000000000 --- a/test/core/util/avl_fuzzer_corpus/crash-060a9a897130ba7bb2f4313daa604c47f7c7c907 +++ /dev/null @@ -1,9 +0,0 @@ -actions { - del { - } -} -compares { - left { - key: 50397184 - } -} diff --git a/test/core/util/avl_fuzzer_corpus/crash-1fbe8edb82f9a7aa4c2dffe4a6eaa40c34b1e360 b/test/core/util/avl_fuzzer_corpus/crash-1fbe8edb82f9a7aa4c2dffe4a6eaa40c34b1e360 deleted file mode 100644 index c621adbddce64..0000000000000 --- a/test/core/util/avl_fuzzer_corpus/crash-1fbe8edb82f9a7aa4c2dffe4a6eaa40c34b1e360 +++ /dev/null @@ -1,5 +0,0 @@ -compares { - right { - key: 805306368 - } -} diff --git a/test/core/util/chunked_vector_corpora/crash-a0868ce3a0f76feefcc715148ed9e71fa0738c2a b/test/core/util/chunked_vector_corpora/crash-a0868ce3a0f76feefcc715148ed9e71fa0738c2a deleted file mode 100644 index f8a94dba216a0..0000000000000 --- a/test/core/util/chunked_vector_corpora/crash-a0868ce3a0f76feefcc715148ed9e71fa0738c2a +++ /dev/null @@ -1,14 +0,0 @@ -actions { - move { - from: 875700282 - to: 3473408 - } -} -actions { - emplace_back { - } -} -actions { - clear { - } -} diff --git a/test/core/util/chunked_vector_corpora/testcase-5405829431427072 b/test/core/util/chunked_vector_corpora/testcase-5405829431427072 deleted file mode 100644 index 6ec84ffac7cd7..0000000000000 --- a/test/core/util/chunked_vector_corpora/testcase-5405829431427072 +++ /dev/null @@ -1,79 +0,0 @@ -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - value: 2 - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - value: 537540660 - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - value: 28929 - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - emplace_back { - } -} -actions { - pop_back { - } -} diff --git a/test/core/util/chunked_vector_fuzzer.cc b/test/core/util/chunked_vector_fuzzer.cc index 6c2d642886dc6..a9c789816b34f 100644 --- a/test/core/util/chunked_vector_fuzzer.cc +++ b/test/core/util/chunked_vector_fuzzer.cc @@ -27,8 +27,8 @@ #include "src/core/lib/resource_quota/resource_quota.h" #include "src/core/util/chunked_vector.h" #include "src/core/util/ref_counted_ptr.h" -#include "src/libfuzzer/libfuzzer_macro.h" #include "test/core/util/chunked_vector_fuzzer.pb.h" +#include "fuzztest/fuzztest.h" bool squelch = true; bool leak_check = true; @@ -169,11 +169,12 @@ class Fuzzer { RefCountedPtr arena_ = SimpleArenaAllocator(128)->MakeArena(); std::map vectors_; }; -} // namespace grpc_core -DEFINE_PROTO_FUZZER(const chunked_vector_fuzzer::Msg& msg) { +void SameAsVector(const chunked_vector_fuzzer::Msg& msg) { grpc_core::Fuzzer fuzzer; for (int i = 0; i < msg.actions_size(); i++) { fuzzer.Act(msg.actions(i)); } } +FUZZ_TEST(ChunkedVectorTest, SameAsVector); +} // namespace grpc_core