Fuzztest: include extension field in generate_message
diff --git a/tests/fuzztest/SConscript b/tests/fuzztest/SConscript
index 91ecee0..c8aae95 100644
--- a/tests/fuzztest/SConscript
+++ b/tests/fuzztest/SConscript
@@ -64,3 +64,5 @@
"$COMMON/pb_common.o",
"$COMMON/malloc_wrappers.o"])
+env.RunTest(generate_message, ARGS = [str(seed)])
+env.RunTest("generate_message.output.fuzzed", [fuzz, "generate_message.output"])
diff --git a/tests/fuzztest/generate_message.c b/tests/fuzztest/generate_message.c
index bebc84b..8756f3a 100644
--- a/tests/fuzztest/generate_message.c
+++ b/tests/fuzztest/generate_message.c
@@ -45,14 +45,23 @@
static void generate_message()
{
alltypes_static_AllTypes msg;
+ alltypes_static_TestExtension extmsg = alltypes_static_TestExtension_init_zero;
+ pb_extension_t ext = pb_extension_init_zero;
+
uint8_t buf[4096];
pb_ostream_t stream = {0};
do {
- stream = pb_ostream_from_buffer(buf, sizeof(buf));
rand_fill((void*)&msg, sizeof(msg));
- msg.extensions = NULL;
limit_sizes(&msg);
+
+ rand_fill((void*)&extmsg, sizeof(extmsg));
+ ext.type = &alltypes_static_TestExtension_testextension;
+ ext.dest = &extmsg;
+ ext.next = NULL;
+ msg.extensions = &ext;
+
+ stream = pb_ostream_from_buffer(buf, sizeof(buf));
} while (!pb_encode(&stream, alltypes_static_AllTypes_fields, &msg));
fwrite(buf, 1, stream.bytes_written, stdout);