1 /* Test nanopb option parsing.
2 * options.expected lists the patterns that are searched for in the output.
8 option (nanopb_fileopt).max_size = 20;
12 required string filesize = 1;
15 // Message level options
18 option (nanopb_msgopt).max_size = 30;
19 required string msgsize = 1;
22 // Field level options
25 option (nanopb_msgopt).msgid = 103;
26 required string fieldsize = 1 [(nanopb).max_size = 40];
29 // Forced callback field
32 option (nanopb_msgopt).msgid = 104;
33 required int32 int32_callback = 1 [(nanopb).type = FT_CALLBACK];
39 option (nanopb_enumopt).long_names = false;
46 required Enum1 field = 1 [default = EnumValue2];
49 // Short enum names inside message
52 option (nanopb_msgopt).msgid = 105;
55 option (nanopb_enumopt).long_names = false;
58 required Enum2 field = 1 [default = EnumValue1];
62 message my_packed_struct
64 option (nanopb_msgopt).packed_struct = true;
65 optional int32 myfield = 1;
68 // Message with ignored field
71 required int32 field1 = 1;
72 optional int32 skipped_field = 2 [(nanopb).type = FT_IGNORE];
75 // Message that is skipped
76 message SkippedMessage
78 option (nanopb_msgopt).skip_message = true;
79 required int32 foo = 1;
82 // Message with oneof field