Code Review
/
apps
/
agl-service-can-low-level.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix bugs in proto3 mode encoding of submessages (#256)
[apps/agl-service-can-low-level.git]
/
tests
/
alltypes_callback
/
decode_alltypes_callback.c
diff --git
a/tests/alltypes_callback/decode_alltypes_callback.c
b/tests/alltypes_callback/decode_alltypes_callback.c
index
ec94690
..
576ce30
100644
(file)
--- a/
tests/alltypes_callback/decode_alltypes_callback.c
+++ b/
tests/alltypes_callback/decode_alltypes_callback.c
@@
-70,11
+70,15
@@
static bool read_string(pb_istream_t *stream, const pb_field_t *field, void **ar
static bool read_submsg(pb_istream_t *stream, const pb_field_t *field, void **arg)
{
SubMessage submsg = {""};
static bool read_submsg(pb_istream_t *stream, const pb_field_t *field, void **arg)
{
SubMessage submsg = {""};
+ SubMessage *ref = *arg;
if (!pb_decode(stream, SubMessage_fields, &submsg))
return false;
if (!pb_decode(stream, SubMessage_fields, &submsg))
return false;
- TEST(memcmp(&submsg, *arg, sizeof(submsg)));
+ TEST(strcmp(submsg.substuff1, ref->substuff1) == 0);
+ TEST(submsg.substuff2 == ref->substuff2);
+ TEST(submsg.has_substuff3 == ref->has_substuff3);
+ TEST(submsg.substuff3 == ref->substuff3);
return true;
}
return true;
}
@@
-144,11
+148,16
@@
static bool read_repeated_string(pb_istream_t *stream, const pb_field_t *field,
static bool read_repeated_submsg(pb_istream_t *stream, const pb_field_t *field, void **arg)
{
SubMessage** expected = (SubMessage**)arg;
static bool read_repeated_submsg(pb_istream_t *stream, const pb_field_t *field, void **arg)
{
SubMessage** expected = (SubMessage**)arg;
- SubMessage
decoded
= {""};
- if (!pb_decode(stream, SubMessage_fields, &
decoded
))
+ SubMessage
submsg
= {""};
+ if (!pb_decode(stream, SubMessage_fields, &
submsg
))
return false;
return false;
- TEST(memcmp((*expected)++, &decoded, sizeof(decoded)) == 0);
+ TEST(strcmp(submsg.substuff1, (*expected)->substuff1) == 0);
+ TEST(submsg.substuff2 == (*expected)->substuff2);
+ TEST(submsg.has_substuff3 == (*expected)->has_substuff3);
+ TEST(submsg.substuff3 == (*expected)->substuff3);
+ (*expected)++;
+
return true;
}
return true;
}
@@
-184,7
+193,7
@@
bool check_alltypes(pb_istream_t *stream, int mode)
uint64_t req_fixed64 = 1011;
int64_t req_sfixed64 = -1012;
double req_double = 1013.0;
uint64_t req_fixed64 = 1011;
int64_t req_sfixed64 = -1012;
double req_double = 1013.0;
- SubMessage req_submsg = {"1016", 1016};
+ SubMessage req_submsg = {"1016", 1016
, false, 3
};
int32_t rep_int32[5] = {0, 0, 0, 0, -2001};
int32_t rep_int64[5] = {0, 0, 0, 0, -2002};
int32_t rep_int32[5] = {0, 0, 0, 0, -2001};
int32_t rep_int64[5] = {0, 0, 0, 0, -2002};
@@
-214,9
+223,9
@@
bool check_alltypes(pb_istream_t *stream, int mode)
uint64_t opt_fixed64 = 3051;
int64_t opt_sfixed64 = 3052;
double opt_double = 3053.0f;
uint64_t opt_fixed64 = 3051;
int64_t opt_sfixed64 = 3052;
double opt_double = 3053.0f;
- SubMessage opt_submsg = {"3056", 3056};
+ SubMessage opt_submsg = {"3056", 3056
, false, 3
};
- SubMessage oneof_msg1 = {"4059", 4059};
+ SubMessage oneof_msg1 = {"4059", 4059
, false, 3
};
/* Bind callbacks for required fields */
AllTypes alltypes = AllTypes_init_zero;
/* Bind callbacks for required fields */
AllTypes alltypes = AllTypes_init_zero;