From 32e25cbca210a359b09768537b6f443fe90a3070 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Tue, 20 Jun 2017 10:24:05 +0000 Subject: Separation Generator to a dedicated repo Change-Id: Id94831651c3266861435272a6e36c7884bef2c45 Signed-off-by: Romain Forlot --- libs/nanopb/tests/regression/issue_247/padding.c | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 libs/nanopb/tests/regression/issue_247/padding.c (limited to 'libs/nanopb/tests/regression/issue_247/padding.c') diff --git a/libs/nanopb/tests/regression/issue_247/padding.c b/libs/nanopb/tests/regression/issue_247/padding.c new file mode 100644 index 0000000..8860179 --- /dev/null +++ b/libs/nanopb/tests/regression/issue_247/padding.c @@ -0,0 +1,32 @@ +#include +#include +#include +#include "padding.pb.h" + +int main() +{ + int status = 0; + + TestMessage msg; + + /* Set padding bytes to garbage */ + memset(&msg, 0xAA, sizeof(msg)); + + /* Set all meaningful fields to 0 */ + msg.submsg.boolfield = false; + msg.submsg.intfield = 0; + + /* Test encoding */ + { + pb_byte_t buf[128] = {0}; + pb_ostream_t stream = pb_ostream_from_buffer(buf, sizeof(buf)); + TEST(pb_encode(&stream, TestMessage_fields, &msg)); + + /* Because all fields have zero values, proto3 encoder + * shouldn't write out anything. */ + TEST(stream.bytes_written == 0); + } + + return status; +} + -- cgit 1.2.3-korg