aboutsummaryrefslogtreecommitdiffstats
path: root/tests/alltypes_pointer
diff options
context:
space:
mode:
Diffstat (limited to 'tests/alltypes_pointer')
-rw-r--r--tests/alltypes_pointer/alltypes.options1
-rw-r--r--tests/alltypes_pointer/decode_alltypes_pointer.c8
-rw-r--r--tests/alltypes_pointer/encode_alltypes_pointer.c6
3 files changed, 14 insertions, 1 deletions
diff --git a/tests/alltypes_pointer/alltypes.options b/tests/alltypes_pointer/alltypes.options
index 52abeb7..8699fe2 100644
--- a/tests/alltypes_pointer/alltypes.options
+++ b/tests/alltypes_pointer/alltypes.options
@@ -1,3 +1,4 @@
# Generate all fields as pointers.
* type:FT_POINTER
+*.*fbytes fixed_length:true max_size:4
diff --git a/tests/alltypes_pointer/decode_alltypes_pointer.c b/tests/alltypes_pointer/decode_alltypes_pointer.c
index 1dbb6c5..4ee6f8b 100644
--- a/tests/alltypes_pointer/decode_alltypes_pointer.c
+++ b/tests/alltypes_pointer/decode_alltypes_pointer.c
@@ -47,7 +47,8 @@ bool check_alltypes(pb_istream_t *stream, int mode)
&& strcmp(alltypes.req_submsg->substuff1, "1016") == 0);
TEST(alltypes.req_submsg && alltypes.req_submsg->substuff2
&& *alltypes.req_submsg->substuff2 == 1016);
- TEST(*alltypes.req_enum == MyEnum_Truth);
+ TEST(alltypes.req_enum && *alltypes.req_enum == MyEnum_Truth);
+ TEST(alltypes.req_fbytes && memcmp(alltypes.req_fbytes, "1019", 4) == 0);
TEST(alltypes.rep_int32_count == 5 && alltypes.rep_int32[4] == -2001 && alltypes.rep_int32[0] == 0);
TEST(alltypes.rep_int64_count == 5 && alltypes.rep_int64[4] == -2002 && alltypes.rep_int64[0] == 0);
@@ -76,6 +77,9 @@ bool check_alltypes(pb_istream_t *stream, int mode)
TEST(alltypes.rep_enum_count == 5 && alltypes.rep_enum[4] == MyEnum_Truth && alltypes.rep_enum[0] == MyEnum_Zero);
TEST(alltypes.rep_emptymsg_count == 5);
+ TEST(alltypes.rep_fbytes_count == 5);
+ TEST(alltypes.rep_fbytes[0][0] == 0 && alltypes.rep_fbytes[0][3] == 0);
+ TEST(memcmp(alltypes.rep_fbytes[4], "2019", 4) == 0);
if (mode == 0)
{
@@ -99,6 +103,7 @@ bool check_alltypes(pb_istream_t *stream, int mode)
TEST(alltypes.opt_bytes == NULL);
TEST(alltypes.opt_submsg == NULL);
TEST(alltypes.opt_enum == NULL);
+ TEST(alltypes.opt_fbytes == NULL);
TEST(alltypes.which_oneof == 0);
}
@@ -127,6 +132,7 @@ bool check_alltypes(pb_istream_t *stream, int mode)
TEST(alltypes.opt_submsg && *alltypes.opt_submsg->substuff2 == 3056);
TEST(alltypes.opt_enum && *alltypes.opt_enum == MyEnum_Truth);
TEST(alltypes.opt_emptymsg);
+ TEST(alltypes.opt_fbytes && memcmp(alltypes.opt_fbytes, "3059", 4) == 0);
TEST(alltypes.which_oneof == AllTypes_oneof_msg1_tag);
TEST(alltypes.oneof.oneof_msg1 && strcmp(alltypes.oneof.oneof_msg1->substuff1, "4059") == 0);
diff --git a/tests/alltypes_pointer/encode_alltypes_pointer.c b/tests/alltypes_pointer/encode_alltypes_pointer.c
index 7b52662..a39af6f 100644
--- a/tests/alltypes_pointer/encode_alltypes_pointer.c
+++ b/tests/alltypes_pointer/encode_alltypes_pointer.c
@@ -32,6 +32,7 @@ int main(int argc, char **argv)
SubMessage req_submsg = {"1016", &req_substuff};
MyEnum req_enum = MyEnum_Truth;
EmptyMessage req_emptymsg = {0};
+ pb_byte_t req_fbytes[4] = {'1', '0', '1', '9'};
int32_t end = 1099;
@@ -62,6 +63,7 @@ int main(int argc, char **argv)
{"2016", &rep_substuff2, &rep_substuff3}};
MyEnum rep_enum[5] = {0, 0, 0, 0, MyEnum_Truth};
EmptyMessage rep_emptymsg[5] = {{0}, {0}, {0}, {0}, {0}};
+ pb_byte_t rep_fbytes[5][4] = {{0}, {0}, {0}, {0}, {'2', '0', '1', '9'}};
/* Values for optional fields */
int32_t opt_int32 = 3041;
@@ -83,6 +85,7 @@ int main(int argc, char **argv)
SubMessage opt_submsg = {"3056", &opt_substuff};
MyEnum opt_enum = MyEnum_Truth;
EmptyMessage opt_emptymsg = {0};
+ pb_byte_t opt_fbytes[4] = {'3', '0', '5', '9'};
static int32_t oneof_substuff = 4059;
SubMessage oneof_msg1 = {"4059", &oneof_substuff};
@@ -125,6 +128,7 @@ int main(int argc, char **argv)
alltypes.req_submsg = &req_submsg;
alltypes.req_enum = &req_enum;
alltypes.req_emptymsg = &req_emptymsg;
+ alltypes.req_fbytes = &req_fbytes;
alltypes.req_limits = &req_limits;
alltypes.rep_int32_count = 5; alltypes.rep_int32 = rep_int32;
@@ -145,6 +149,7 @@ int main(int argc, char **argv)
alltypes.rep_submsg_count = 5; alltypes.rep_submsg = rep_submsg;
alltypes.rep_enum_count = 5; alltypes.rep_enum = rep_enum;
alltypes.rep_emptymsg_count = 5; alltypes.rep_emptymsg = rep_emptymsg;
+ alltypes.rep_fbytes_count = 5; alltypes.rep_fbytes = rep_fbytes;
if (mode != 0)
{
@@ -167,6 +172,7 @@ int main(int argc, char **argv)
alltypes.opt_submsg = &opt_submsg;
alltypes.opt_enum = &opt_enum;
alltypes.opt_emptymsg = &opt_emptymsg;
+ alltypes.opt_fbytes = &opt_fbytes;
alltypes.which_oneof = AllTypes_oneof_msg1_tag;
alltypes.oneof.oneof_msg1 = &oneof_msg1;