Convert fuzzMutatorDeps to a transition mutator
fuzzMutatorDeps was modifying dependencies, which prevents incremental
analysis. Use a transition mutator instead.
Bug: 319288033
Test: m haiku
Flag: EXEMPT refactor
Change-Id: I1a518ad633bea06c618148f05ffe1434ed8c79ea
diff --git a/fuzz/fuzz_common.go b/fuzz/fuzz_common.go
index a059837..42fd228 100644
--- a/fuzz/fuzz_common.go
+++ b/fuzz/fuzz_common.go
@@ -44,6 +44,32 @@
UnknownFramework Framework = "unknownframework"
)
+func (f Framework) Variant() string {
+ switch f {
+ case AFL:
+ return "afl"
+ case LibFuzzer:
+ return "libfuzzer"
+ case Jazzer:
+ return "jazzer"
+ default:
+ panic(fmt.Errorf("unknown fuzzer %q when getting variant", f))
+ }
+}
+
+func FrameworkFromVariant(v string) Framework {
+ switch v {
+ case "afl":
+ return AFL
+ case "libfuzzer":
+ return LibFuzzer
+ case "jazzer":
+ return Jazzer
+ default:
+ panic(fmt.Errorf("unknown variant %q when getting fuzzer", v))
+ }
+}
+
var BoolDefault = proptools.BoolDefault
type FuzzModule struct {