Separation Generator to a dedicated repo
[apps/low-level-can-service.git] / libs / nanopb / tests / regression / issue_247 / padding.c
1 #include <pb_encode.h>
2 #include <unittests.h>
3 #include <string.h>
4 #include "padding.pb.h"
5
6 int main()
7 {
8     int status = 0;
9     
10     TestMessage msg;
11     
12     /* Set padding bytes to garbage */
13     memset(&msg, 0xAA, sizeof(msg));
14     
15     /* Set all meaningful fields to 0 */
16     msg.submsg.boolfield = false;
17     msg.submsg.intfield = 0;
18     
19     /* Test encoding */
20     {
21         pb_byte_t buf[128] = {0};
22         pb_ostream_t stream = pb_ostream_from_buffer(buf, sizeof(buf));
23         TEST(pb_encode(&stream, TestMessage_fields, &msg));
24         
25         /* Because all fields have zero values, proto3 encoder
26          * shouldn't write out anything. */
27         TEST(stream.bytes_written == 0);
28     }
29     
30     return status;
31 }
32