aboutsummaryrefslogtreecommitdiff
path: root/tests/field_size_32
diff options
context:
space:
mode:
Diffstat (limited to 'tests/field_size_32')
-rw-r--r--tests/field_size_32/SConscript8
-rw-r--r--tests/field_size_32/alltypes.options2
-rw-r--r--tests/field_size_32/alltypes.proto16
3 files changed, 21 insertions, 5 deletions
diff --git a/tests/field_size_32/SConscript b/tests/field_size_32/SConscript
index 2a64c6c..650c626 100644
--- a/tests/field_size_32/SConscript
+++ b/tests/field_size_32/SConscript
@@ -19,10 +19,14 @@ strict = opts.Clone()
strict.Append(CFLAGS = strict['CORECFLAGS'])
strict.Object("pb_decode_fields32.o", "$NANOPB/pb_decode.c")
strict.Object("pb_encode_fields32.o", "$NANOPB/pb_encode.c")
+strict.Object("pb_common_fields32.o", "$NANOPB/pb_common.c")
# Now build and run the test normally.
-enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_fields32.o"])
-dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_fields32.o"])
+enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_fields32.o", "pb_common_fields32.o"])
+dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_fields32.o", "pb_common_fields32.o"])
env.RunTest(enc)
env.RunTest([dec, "encode_alltypes.output"])
+
+env.RunTest("optionals.output", enc, ARGS = ['1'])
+env.RunTest("optionals.decout", [dec, "optionals.output"], ARGS = ['1'])
diff --git a/tests/field_size_32/alltypes.options b/tests/field_size_32/alltypes.options
index b31e3cf..0d5ab12 100644
--- a/tests/field_size_32/alltypes.options
+++ b/tests/field_size_32/alltypes.options
@@ -1,3 +1,3 @@
* max_size:16
* max_count:5
-
+*.*fbytes fixed_length:true max_size:4
diff --git a/tests/field_size_32/alltypes.proto b/tests/field_size_32/alltypes.proto
index 17f17ee..a05e3b9 100644
--- a/tests/field_size_32/alltypes.proto
+++ b/tests/field_size_32/alltypes.proto
@@ -1,3 +1,5 @@
+syntax = "proto2";
+
message SubMessage {
required string substuff1 = 1 [default = "1"];
required int32 substuff2 = 2 [default = 2];
@@ -55,7 +57,7 @@ message AllTypes {
required SubMessage req_submsg = 16;
required MyEnum req_enum = 17;
required EmptyMessage req_emptymsg = 18;
-
+ required bytes req_fbytes = 19;
repeated int32 rep_int32 = 21;
repeated int64 rep_int64 = 22;
@@ -78,6 +80,7 @@ message AllTypes {
repeated SubMessage rep_submsg = 10036;
repeated MyEnum rep_enum = 10037;
repeated EmptyMessage rep_emptymsg = 10038;
+ repeated bytes rep_fbytes = 10039;
optional int32 opt_int32 = 10041 [default = 4041];
optional int64 opt_int64 = 10042 [default = 4042];
@@ -96,10 +99,17 @@ message AllTypes {
optional double opt_double = 10053 [default = 4053];
optional string opt_string = 10054 [default = "4054"];
- optional bytes opt_bytes = 10055 [default = "4055"];
+ optional bytes opt_bytes = 10055 [default = "\x34\x5C\x00\xff"];
optional SubMessage opt_submsg = 10056;
optional MyEnum opt_enum = 10057 [default = Second];
optional EmptyMessage opt_emptymsg = 10058;
+ optional bytes opt_fbytes = 10059 [default = "4059"];
+
+ oneof oneof
+ {
+ SubMessage oneof_msg1 = 10060;
+ EmptyMessage oneof_msg2 = 10061;
+ }
// Check that extreme integer values are handled correctly
required Limits req_limits = 98;
@@ -107,5 +117,7 @@ message AllTypes {
// Just to make sure that the size of the fields has been calculated
// properly, i.e. otherwise a bug in last field might not be detected.
required int32 end = 13432099;
+
+ extensions 200 to 255;
}