From efebae82f008f8de7671507545ab23ccb0fbe9e3 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 25 May 2023 11:12:14 -0700 Subject: [PATCH] [fuzzing] Allow memory quota fuzzer to supply config (#33243) --------- Co-authored-by: ctiller --- test/core/resource_quota/BUILD | 3 +++ test/core/resource_quota/memory_quota_fuzzer.cc | 4 ++++ test/core/resource_quota/memory_quota_fuzzer.proto | 3 +++ 3 files changed, 10 insertions(+) diff --git a/test/core/resource_quota/BUILD b/test/core/resource_quota/BUILD index 25e8be4699e..e1ed6851ed1 100644 --- a/test/core/resource_quota/BUILD +++ b/test/core/resource_quota/BUILD @@ -150,6 +150,7 @@ grpc_proto_fuzzer( ], language = "C++", proto = "memory_quota_fuzzer.proto", + proto_deps = ["//test/core/util:fuzz_config_vars_proto"], tags = ["no_windows"], uses_event_engine = False, uses_polling = False, @@ -162,7 +163,9 @@ grpc_proto_fuzzer( "//src/core:closure", "//src/core:error", "//src/core:event_engine_memory_allocator", + "//src/core:experiments", "//src/core:memory_quota", "//src/core:useful", + "//test/core/util:fuzz_config_vars", ], ) diff --git a/test/core/resource_quota/memory_quota_fuzzer.cc b/test/core/resource_quota/memory_quota_fuzzer.cc index 91ccbc8cb96..57e1b98ea5a 100644 --- a/test/core/resource_quota/memory_quota_fuzzer.cc +++ b/test/core/resource_quota/memory_quota_fuzzer.cc @@ -30,6 +30,7 @@ #include #include "src/core/lib/debug/trace.h" +#include "src/core/lib/experiments/config.h" #include "src/core/lib/gpr/useful.h" #include "src/core/lib/gprpp/debug_location.h" #include "src/core/lib/iomgr/closure.h" @@ -39,6 +40,7 @@ #include "src/libfuzzer/libfuzzer_macro.h" #include "test/core/resource_quota/call_checker.h" #include "test/core/resource_quota/memory_quota_fuzzer.pb.h" +#include "test/core/util/fuzz_config_vars.h" bool squelch = true; bool leak_check = true; @@ -190,6 +192,8 @@ static void dont_log(gpr_log_func_args* /*args*/) {} DEFINE_PROTO_FUZZER(const memory_quota_fuzzer::Msg& msg) { if (squelch) gpr_set_log_function(dont_log); + grpc_core::ApplyFuzzConfigVars(msg.config_vars()); + grpc_core::TestOnlyReloadExperimentsFromConfigVariables(); gpr_log_verbosity_init(); grpc_tracer_init(); grpc_core::testing::Fuzzer().Run(msg); diff --git a/test/core/resource_quota/memory_quota_fuzzer.proto b/test/core/resource_quota/memory_quota_fuzzer.proto index b71fc4094df..8b01850a856 100644 --- a/test/core/resource_quota/memory_quota_fuzzer.proto +++ b/test/core/resource_quota/memory_quota_fuzzer.proto @@ -16,6 +16,8 @@ syntax = "proto3"; package memory_quota_fuzzer; +import "test/core/util/fuzz_config_vars.proto"; + message Empty {} message Reclaimer { @@ -54,4 +56,5 @@ message Action { message Msg { repeated Action actions = 2; + grpc.testing.FuzzConfigVars config_vars = 3; }