diff --git a/test/core/transport/chttp2/BUILD b/test/core/transport/chttp2/BUILD index c1a5f5c1c55..e32a07da966 100644 --- a/test/core/transport/chttp2/BUILD +++ b/test/core/transport/chttp2/BUILD @@ -50,12 +50,14 @@ grpc_proto_fuzzer( corpus = "flow_control_fuzzer_corpus", language = "C++", proto = "flow_control_fuzzer.proto", + proto_deps = ["//test/core/util:fuzz_config_vars_proto"], tags = ["no_windows"], uses_event_engine = False, uses_polling = False, deps = [ "//:gpr", "//src/core:chttp2_flow_control", + "//test/core/util:fuzz_config_vars", ], ) diff --git a/test/core/transport/chttp2/flow_control_fuzzer.cc b/test/core/transport/chttp2/flow_control_fuzzer.cc index 9e4b273c086..4bf27ebb941 100644 --- a/test/core/transport/chttp2/flow_control_fuzzer.cc +++ b/test/core/transport/chttp2/flow_control_fuzzer.cc @@ -37,6 +37,7 @@ #include #include "src/core/ext/transport/chttp2/transport/flow_control.h" +#include "src/core/lib/experiments/config.h" #include "src/core/lib/gpr/useful.h" #include "src/core/lib/gprpp/time.h" #include "src/core/lib/iomgr/exec_ctx.h" @@ -44,6 +45,7 @@ #include "src/core/lib/transport/bdp_estimator.h" #include "src/libfuzzer/libfuzzer_macro.h" #include "test/core/transport/chttp2/flow_control_fuzzer.pb.h" +#include "test/core/util/fuzz_config_vars.h" // IWYU pragma: no_include @@ -442,6 +444,8 @@ void FlowControlFuzzer::AssertAnnouncedOverInitialWindowSizeCorrect() const { } // namespace grpc_core DEFINE_PROTO_FUZZER(const flow_control_fuzzer::Msg& msg) { + grpc_core::ApplyFuzzConfigVars(msg.config_vars()); + grpc_core::TestOnlyReloadExperimentsFromConfigVariables(); grpc_core::chttp2::InitGlobals(); grpc_core::chttp2::FlowControlFuzzer fuzzer(msg.enable_bdp()); for (const auto& action : msg.actions()) { diff --git a/test/core/transport/chttp2/flow_control_fuzzer.proto b/test/core/transport/chttp2/flow_control_fuzzer.proto index ede69c2b380..7ce40c8d596 100644 --- a/test/core/transport/chttp2/flow_control_fuzzer.proto +++ b/test/core/transport/chttp2/flow_control_fuzzer.proto @@ -16,6 +16,8 @@ syntax = "proto3"; package flow_control_fuzzer; +import "test/core/util/fuzz_config_vars.proto"; + message Empty {}; message StreamWrite { @@ -44,4 +46,5 @@ message Action { message Msg { bool enable_bdp = 1; repeated Action actions = 2; + grpc.testing.FuzzConfigVars config_vars = 3; }