diff options
author | Yu Shan <shanyu@google.com> | 2018-07-24 17:26:36 -0700 |
---|---|---|
committer | Yu Shan <shanyu@google.com> | 2018-07-25 14:51:13 -0400 |
commit | 56ebba603b8b913261a40f3f61561bb728e3eaa5 (patch) | |
tree | 9aa05df75ba4f5da6459d0192fb5f937a34eaa90 /tests/regression/issue_247/padding.c | |
parent | 3b20283285e6ae76ba17167d20eaeab0461ff0d9 (diff) | |
download | nanopb-c-56ebba603b8b913261a40f3f61561bb728e3eaa5.tar.gz |
Upgrade nanopb to 0.3.9.1
Downloaded from https://github.com/nanopb/nanopb/archive/0.3.9.1.tar.gz
Also upload generator/google to python-protobuf 3.0.0. Copied from
/usr/lib/python2.7/dist-packages/google after run
apt-get install python-protobuf. Remove *.so to force it to use
python implementation instead of prebuilt cpp implementation.
Bug: b/111798740
Test: None
Change-Id: I110dc1352b05a372811520efd34ffbda5abc2a02
Diffstat (limited to 'tests/regression/issue_247/padding.c')
-rw-r--r-- | tests/regression/issue_247/padding.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/regression/issue_247/padding.c b/tests/regression/issue_247/padding.c new file mode 100644 index 0000000..8860179 --- /dev/null +++ b/tests/regression/issue_247/padding.c @@ -0,0 +1,32 @@ +#include <pb_encode.h> +#include <unittests.h> +#include <string.h> +#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; +} + |