mlot / nanopb

Automatically exported from code.google.com/p/nanopb
zlib License
0 stars 0 forks source link

Create a .proto fuzzer #143

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Describe the requested feature:
Create a fuzzer that generates three files: foo.proto, encode_foo.c and 
decode_foo.c. These should be structured similar to the alltypes test cases.

The files should contain a wide variety of .proto constructs, from empty 
messages to messages with hundreds of fields. The fuzzer should only create 
valid .proto files. Any compilation or test error should indicate a bug in 
either the fuzzer, nanopb or protoc itself.

The generated files should have a mix of callback/pointer/static fields in the 
generated messages, as well as the various nanopb options.

In what situation would the feature be useful:

Many issues are only reproducible with a specific kind of message structure. 
The AllTypes test case tests all the field types, but not the combinations of 
them. Issues like #142 and #138 could potentially be detected with a fuzzer.

Original issue reported on code.google.com by Petteri.Aimonen on 27 Jan 2015 at 3:39