aboutsummaryrefslogtreecommitdiff
path: root/tests/regression/issue_322/defaults.c
diff options
context:
space:
mode:
authorYu Shan <shanyu@google.com>2018-07-24 17:26:36 -0700
committerYu Shan <shanyu@google.com>2018-08-16 16:05:00 -0700
commit86bd676e064ac4336400328f34bf187a7794464e (patch)
tree9aa05df75ba4f5da6459d0192fb5f937a34eaa90 /tests/regression/issue_322/defaults.c
parent731c7139ab46dd0c22bcbda506069e5454e9b2c2 (diff)
downloadnanopb-c-86bd676e064ac4336400328f34bf187a7794464e.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: I015ab62dc72268bf473f66ae8344a789b8ed8cf2 (cherry picked from commit f880a12bd5d957e38c831dc0f2d4a99beb12e4c9)
Diffstat (limited to 'tests/regression/issue_322/defaults.c')
-rw-r--r--tests/regression/issue_322/defaults.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/regression/issue_322/defaults.c b/tests/regression/issue_322/defaults.c
new file mode 100644
index 0000000..b285754
--- /dev/null
+++ b/tests/regression/issue_322/defaults.c
@@ -0,0 +1,44 @@
+#include "defaults.pb.h"
+#include <unittests.h>
+#include <pb_decode.h>
+
+int check_defaults(const DefaultsMsg *msg)
+{
+ int status = 0;
+
+ TEST(msg->b1[0] == 0xDE && msg->b1[1] == 0xAD && msg->b1[2] == 0x00 &&
+ msg->b1[3] == 0xBE && msg->b1[4] == 0xEF);
+ TEST(msg->b2.bytes[0] == 0xDE && msg->b2.bytes[1] == 0xAD &&
+ msg->b2.bytes[2] == 0x00 && msg->b2.bytes[3] == 0xBE &&
+ msg->b2.bytes[4] == 0xEF && msg->b2.size == 5);
+ TEST(msg->b3.bytes[0] == 0xDE && msg->b3.bytes[1] == 0xAD &&
+ msg->b3.bytes[2] == 0x00 && msg->b3.bytes[3] == 0xBE &&
+ msg->b3.bytes[4] == 0xEF && msg->b2.size == 5);
+ TEST(msg->s1[0] == (char)0xC3 && msg->s1[1] == (char)0xA4 &&
+ msg->s1[2] == (char)0xC3 && msg->s1[3] == (char)0xB6 &&
+ msg->s1[4] == '\0');
+
+ return status;
+}
+
+int main()
+{
+ int status = 0;
+
+ {
+ DefaultsMsg msg = DefaultsMsg_init_default;
+ COMMENT("Checking defaults from static initializer");
+ status += check_defaults(&msg);
+ }
+
+ {
+ DefaultsMsg msg = DefaultsMsg_init_zero;
+ pb_istream_t empty = {0,0,0};
+ pb_decode(&empty, DefaultsMsg_fields, &msg);
+ COMMENT("Checking defaults set at runtime");
+ status += check_defaults(&msg);
+ }
+
+ return status;
+}
+