diff options
author | Krzysztof KosiĆski <krzysio@google.com> | 2021-12-06 19:04:42 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-12-06 19:04:42 +0000 |
commit | fffa37ba95b345f8e485bd5b847372379af3a65c (patch) | |
tree | 45680bae9335ed374090f4aee3812fe80c98accc /tests/mem_release/mem_release.c | |
parent | ce669ebda92621e7efb655150803f0f03b05f3ab (diff) | |
parent | b1208c1f8196c18356bc99201f8e98e81ec83e07 (diff) | |
download | nanopb-c-81a7fd9485f7a0dbedd2d60a8ee79535e011253a.tar.gz |
Upgrade nanopb to 0.3.9.8. am: b1208c1f81android-t-preview-2android-t-preview-1android-t-beta-3android-s-v2-beta-3android-s-qpr3-beta-1android-t-preview-1android-s-v2-beta-3android-s-qpr3-beta-1
Original change: https://android-review.googlesource.com/c/platform/external/nanopb-c/+/1911071
Change-Id: I302fb410274377eea0ede822422cfee2f0f779ee
Diffstat (limited to 'tests/mem_release/mem_release.c')
-rw-r--r-- | tests/mem_release/mem_release.c | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/tests/mem_release/mem_release.c b/tests/mem_release/mem_release.c index 6e06da5..fae4516 100644 --- a/tests/mem_release/mem_release.c +++ b/tests/mem_release/mem_release.c @@ -133,13 +133,16 @@ static bool test_OneofMessage() } } - /* Encode second with SubMessage, invoking 'merge' behaviour */ + /* Encode second with SubMessage, replacing the oneof item */ { OneofMessage msg = OneofMessage_init_zero; + char *teststr = "1"; msg.which_msgs = OneofMessage_msg2_tag; msg.first = 999; msg.msgs.msg2.dynamic_str = "ABCD"; + msg.msgs.msg2.dynamic_str_arr_count = 1; + msg.msgs.msg2.dynamic_str_arr = &teststr; msg.last = 888; if (!pb_encode(&stream, OneofMessage_fields, &msg)) @@ -148,6 +151,25 @@ static bool test_OneofMessage() return false; } } + + /* Encode second SubMessage, invoking submessage merge behavior */ + { + OneofMessage msg = OneofMessage_init_zero; + char *teststr = "2"; + msg.which_msgs = OneofMessage_msg2_tag; + + msg.first = 99; + msg.msgs.msg2.dynamic_str = "EFGH"; + msg.msgs.msg2.dynamic_str_arr_count = 1; + msg.msgs.msg2.dynamic_str_arr = &teststr; + msg.last = 88; + + if (!pb_encode(&stream, OneofMessage_fields, &msg)) + { + fprintf(stderr, "Encode failed: %s\n", PB_GET_ERROR(&stream)); + return false; + } + } msgsize = stream.bytes_written; } @@ -160,13 +182,16 @@ static bool test_OneofMessage() return false; } - TEST(msg.first == 999); + TEST(msg.first == 99); TEST(msg.which_msgs == OneofMessage_msg2_tag); TEST(msg.msgs.msg2.dynamic_str); - TEST(strcmp(msg.msgs.msg2.dynamic_str, "ABCD") == 0); - TEST(msg.msgs.msg2.dynamic_str_arr == NULL); + TEST(strcmp(msg.msgs.msg2.dynamic_str, "EFGH") == 0); + TEST(msg.msgs.msg2.dynamic_str_arr != NULL); + TEST(msg.msgs.msg2.dynamic_str_arr_count == 2); + TEST(strcmp(msg.msgs.msg2.dynamic_str_arr[0], "1") == 0); + TEST(strcmp(msg.msgs.msg2.dynamic_str_arr[1], "2") == 0); TEST(msg.msgs.msg2.dynamic_submsg == NULL); - TEST(msg.last == 888); + TEST(msg.last == 88); pb_release(OneofMessage_fields, &msg); TEST(get_alloc_count() == 0); |