summaryrefslogtreecommitdiff
path: root/fs_mgr/libsnapshot/fuzz_utils.cpp
AgeCommit message (Collapse)Author
2020-04-30libsnapshot_fuzzer: use protobufYifan Hong
Use protobuf because it already has all the fuzzing implemenetations. Delete fuzz_utils. Pros: - Fuzzing protobuf is faster; it is easy to achieve 4K exec/s - It is more guided; protobufs are fuzzed using mutators, and mutators should have better knowledge of the structure of the fuzz data - No more hand-written parsing code of the fuzz data. That code in fuzz_utils.h is deleted. - Corpus data can be reused even after adding new fields in the protobuf - Corpus data is human-readable and easily manually written (it is the text format of the protobuf) Cons: - The "actions" are "declared" in protobuf definition and "defined" in C++, so there's more boilerplate to write. Adding a new "Action" requires changes in both. Test: run libsnapshot_fuzzer Bug: 154633114 Change-Id: Idc2a6b2c087e370e4cfef53142a244b9b275389e
2020-04-27Add fuzz test for libsnapshotYifan Hong
Bug: 154633114 Test: source fuzz.sh && run_snapshot_fuzz_all -runs=100000 Change-Id: I5cd9e3f088ca283d3a49959c38aa74a483931f2c