Number of fixes for iface fuzzer.
1. fixed scalar random generation.
2. added mutate/random gen functions for TYPE_MASK.
3. fixed spec parsing.
Test: SANITIZE_TARGET="address coverage" make vts -j64 && vts-tradefed
run commandAndExit vts --skip-all-system-status-check --primary-abi-only
--skip-preconditions -l VERBOSE --module VtsHalBluetoothV1_0IfaceFuzzer
Change-Id: I48e5550cd20919ffb1f6506ab26ef1663ddaeefc
diff --git a/iface_fuzzer/ProtoFuzzerMutator.cpp b/iface_fuzzer/ProtoFuzzerMutator.cpp
index a52b0c9..df096f7 100644
--- a/iface_fuzzer/ProtoFuzzerMutator.cpp
+++ b/iface_fuzzer/ProtoFuzzerMutator.cpp
@@ -61,6 +61,11 @@
random_gen_fns_[TYPE_HIDL_INTERFACE] = default_transform;
mutate_fns_[TYPE_HIDL_INTERFACE] = default_transform;
+ // Interpret masks as enums.
+ random_gen_fns_[TYPE_MASK] =
+ std::bind(&ProtoFuzzerMutator::EnumRandomGen, this, _1);
+ mutate_fns_[TYPE_MASK] = std::bind(&ProtoFuzzerMutator::EnumMutate, this, _1);
+
random_gen_fns_[TYPE_SCALAR] =
std::bind(&ProtoFuzzerMutator::ScalarRandomGen, this, _1);
mutate_fns_[TYPE_SCALAR] =