diff --git a/test/core/transport/chaotic_good/BUILD b/test/core/transport/chaotic_good/BUILD index 5501d231992d3..5fcd696f803bc 100644 --- a/test/core/transport/chaotic_good/BUILD +++ b/test/core/transport/chaotic_good/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_library", "grpc_cc_test", "grpc_package") -load("//test/core/test_util:grpc_fuzzer.bzl", "grpc_fuzz_test", "grpc_proto_fuzzer") +load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_proto_library", "grpc_cc_test", "grpc_internal_proto_library", "grpc_package") +load("//test/core/test_util:grpc_fuzzer.bzl", "grpc_fuzz_test") licenses(["notice"]) @@ -81,21 +81,31 @@ grpc_cc_test( ], ) -grpc_proto_fuzzer( +grpc_internal_proto_library( + name = "frame_fuzzer_proto", + srcs = ["frame_fuzzer.proto"], +) + +grpc_cc_proto_library( + name = "frame_fuzzer_cc_proto", + deps = ["frame_fuzzer_proto"], +) + +grpc_fuzz_test( name = "frame_fuzzer", srcs = ["frame_fuzzer.cc"], - corpus = "frame_fuzzer_corpus", external_deps = [ "absl/log:check", "absl/log:log", "absl/random:bit_gen_ref", "absl/status:statusor", + "gtest", + "fuzztest", + "fuzztest_main", ], - proto = "frame_fuzzer.proto", tags = ["no_windows"], - uses_event_engine = False, - uses_polling = False, deps = [ + "frame_fuzzer_cc_proto", "//:exec_ctx", "//:gpr", "//:hpack_encoder", diff --git a/test/core/transport/chaotic_good/frame_fuzzer.cc b/test/core/transport/chaotic_good/frame_fuzzer.cc index deb5af28a619f..443085724aedc 100644 --- a/test/core/transport/chaotic_good/frame_fuzzer.cc +++ b/test/core/transport/chaotic_good/frame_fuzzer.cc @@ -23,6 +23,7 @@ #include "absl/log/log.h" #include "absl/random/bit_gen_ref.h" #include "absl/status/statusor.h" +#include "fuzztest/fuzztest.h" #include "src/core/ext/transport/chaotic_good/frame.h" #include "src/core/ext/transport/chaotic_good/frame_header.h" #include "src/core/lib/iomgr/exec_ctx.h" @@ -32,12 +33,9 @@ #include "src/core/lib/slice/slice.h" #include "src/core/lib/slice/slice_buffer.h" #include "src/core/util/ref_counted_ptr.h" -#include "src/libfuzzer/libfuzzer_macro.h" #include "test/core/promise/test_context.h" #include "test/core/transport/chaotic_good/frame_fuzzer.pb.h" -bool squelch = false; - namespace grpc_core { namespace chaotic_good { @@ -105,10 +103,7 @@ void Run(const frame_fuzzer::Test& test) { break; } } +FUZZ_TEST(FrameFuzzer, Run); } // namespace chaotic_good } // namespace grpc_core - -DEFINE_PROTO_FUZZER(const frame_fuzzer::Test& test) { - grpc_core::chaotic_good::Run(test); -} diff --git a/test/core/transport/chaotic_good/frame_fuzzer_corpus/clusterfuzz-testcase-minimized-frame_fuzzer-4558239670272000 b/test/core/transport/chaotic_good/frame_fuzzer_corpus/clusterfuzz-testcase-minimized-frame_fuzzer-4558239670272000 deleted file mode 100644 index da23b9563e24c..0000000000000 --- a/test/core/transport/chaotic_good/frame_fuzzer_corpus/clusterfuzz-testcase-minimized-frame_fuzzer-4558239670272000 +++ /dev/null @@ -1 +0,0 @@ -control: "\200\001\000\000\022z`:0\000\000\000\000\000\000\000\000\000:status\234@\000\000\000\000\000\000\010\2342393\\3\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\237\23777\\3\377\377\377\0037X1user-agentrol: b0\\0\000" diff --git a/test/core/transport/chaotic_good/frame_fuzzer_corpus/empty b/test/core/transport/chaotic_good/frame_fuzzer_corpus/empty deleted file mode 100644 index 8b137891791fe..0000000000000 --- a/test/core/transport/chaotic_good/frame_fuzzer_corpus/empty +++ /dev/null @@ -1 +0,0 @@ - diff --git a/test/core/transport/chaotic_good/frame_fuzzer_corpus/testcase-5162634043785216 b/test/core/transport/chaotic_good/frame_fuzzer_corpus/testcase-5162634043785216 deleted file mode 100644 index 3652070e75ac5..0000000000000 --- a/test/core/transport/chaotic_good/frame_fuzzer_corpus/testcase-5162634043785216 +++ /dev/null @@ -1,2 +0,0 @@ -control: "\200\002\000\000\ny\0022\000\000\000\000\033\000\000\000;E\\000\\ny]0" -data: "\200\002\000\000\ny\0022\000\000\000\000\033\000\000\000;E\\000\\ny]0"