Include a static submessage in alltypes pointer test case.
This gives the fuzzer a chance to find bugs like #615 in the future.
diff --git a/tests/alltypes/alltypes.proto b/tests/alltypes/alltypes.proto
index a7e2747..31336d1 100644
--- a/tests/alltypes/alltypes.proto
+++ b/tests/alltypes/alltypes.proto
@@ -132,6 +132,7 @@
{
SubMessage oneof_msg1 = 60;
EmptyMessage oneof_msg2 = 61;
+ SubMessage static_msg = 63;
}
optional NonZeroBasedEnum opt_non_zero_based_enum = 62;
diff --git a/tests/alltypes_pointer/alltypes.options b/tests/alltypes_pointer/alltypes.options
index 75cff8d..fe0e3a4 100644
--- a/tests/alltypes_pointer/alltypes.options
+++ b/tests/alltypes_pointer/alltypes.options
@@ -1,5 +1,6 @@
# Generate all fields as pointers.
* type:FT_POINTER
+*.static_msg type:FT_STATIC
*.*fbytes fixed_length:true max_size:4
*.*farray fixed_count:true max_count:5
*.*farray2 fixed_count:true max_count:3
diff --git a/tests/alltypes_proto3/alltypes.proto b/tests/alltypes_proto3/alltypes.proto
index c7f87ba..fc5fd64 100644
--- a/tests/alltypes_proto3/alltypes.proto
+++ b/tests/alltypes_proto3/alltypes.proto
@@ -88,6 +88,7 @@
{
SubMessage oneof_msg1 = 60;
EmptyMessage oneof_msg2 = 61;
+ SubMessage static_msg = 63;
}
// Check that extreme integer values are handled correctly
diff --git a/tests/common_unittests/common_unittests.c b/tests/common_unittests/common_unittests.c
index 63656dd..b6ed46d 100644
--- a/tests/common_unittests/common_unittests.c
+++ b/tests/common_unittests/common_unittests.c
@@ -88,34 +88,35 @@
TEST(pb_field_iter_next(&iter) && iter.tag == 60 && iter.pData == &msg.oneof.oneof_msg1 && iter.pSize == &msg.which_oneof )
TEST(pb_field_iter_next(&iter) && iter.tag == 61 && iter.pData == &msg.oneof.oneof_msg2 && iter.pSize == &msg.which_oneof )
+ TEST(pb_field_iter_next(&iter) && iter.tag == 63 && iter.pData == &msg.oneof.static_msg && iter.pSize == &msg.which_oneof )
TEST(iter.required_field_index == 19)
- TEST(iter.submessage_index == 7)
+ TEST(iter.submessage_index == 8)
TEST(pb_field_iter_next(&iter) && iter.tag == 62 && iter.pData == &msg.opt_non_zero_based_enum && iter.pSize == &msg.has_opt_non_zero_based_enum)
TEST(pb_field_iter_next(&iter) && iter.tag == 95 && iter.pData == &msg.rep_farray2 && iter.pSize == &iter.array_size && iter.array_size == 3)
TEST(iter.required_field_index == 19)
- TEST(iter.submessage_index == 8)
+ TEST(iter.submessage_index == 9)
TEST(pb_field_iter_next(&iter) && iter.tag == 96 && iter.pData == &msg.req_intsizes && !iter.pSize)
TEST(iter.required_field_index == 19)
- TEST(iter.submessage_index == 8)
+ TEST(iter.submessage_index == 9)
TEST(pb_field_iter_next(&iter) && iter.tag == 97 && iter.pData == &msg.req_ds8 && !iter.pSize)
TEST(iter.required_field_index == 20)
- TEST(iter.submessage_index == 9)
+ TEST(iter.submessage_index == 10)
TEST(pb_field_iter_next(&iter) && iter.tag == 98 && iter.pData == &msg.req_limits && !iter.pSize)
TEST(iter.required_field_index == 21)
- TEST(iter.submessage_index == 10)
+ TEST(iter.submessage_index == 11)
TEST(pb_field_iter_next(&iter) && iter.tag == 200 && iter.pData == &msg.extensions && !iter.pSize)
TEST(iter.required_field_index == 22)
- TEST(iter.submessage_index == 11)
+ TEST(iter.submessage_index == 12)
TEST(pb_field_iter_next(&iter) && iter.tag == 999 && iter.pData == &msg.end && !iter.pSize)
TEST(iter.required_field_index == 22)
- TEST(iter.submessage_index == 11)
+ TEST(iter.submessage_index == 12)
TEST(!pb_field_iter_next(&iter))
diff --git a/tests/fuzztest/alltypes_pointer.options b/tests/fuzztest/alltypes_pointer.options
index dd376c0..4071ee6 100644
--- a/tests/fuzztest/alltypes_pointer.options
+++ b/tests/fuzztest/alltypes_pointer.options
@@ -1,5 +1,6 @@
# Generate all fields as pointers.
* type:FT_POINTER
+*.static_msg type:FT_STATIC
*.*fbytes fixed_length:true max_size:4
*.*farray fixed_count:true max_count:5
*.*farray2 fixed_count:true max_count:3
diff --git a/tests/fuzztest/alltypes_proto3_pointer.options b/tests/fuzztest/alltypes_proto3_pointer.options
index e495787..245bc9a 100644
--- a/tests/fuzztest/alltypes_proto3_pointer.options
+++ b/tests/fuzztest/alltypes_proto3_pointer.options
@@ -1,3 +1,4 @@
* type:FT_POINTER
+*.static_msg type:FT_STATIC
*.*fbytes fixed_length:true max_size:4
*.req_limits proto3_singular_msgs:true