diff options
author | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2015-09-12 15:45:37 +0300 |
---|---|---|
committer | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2015-09-12 15:47:56 +0300 |
commit | 0b29baf5deaa4213c08ee71fa55d3d0b2ed709e4 (patch) | |
tree | e2ec2dad3a641d91584c1a765caf964d64e28351 /tests | |
parent | 35dff3367452f89a1d8d483d0f8f601d89d78937 (diff) |
Make the generator understand included files (issue #165).
This will allow message sizes and enum options to be available
across the include files.
Currently searching for .options files for included files may
not work for all path combinations, this is related to issue #116.
Should probably make a pull request to protoc about that.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/multiple_files/SConscript | 2 | ||||
-rw-r--r-- | tests/multiple_files/multifile1.options | 1 | ||||
-rw-r--r-- | tests/multiple_files/multifile1.proto | 4 | ||||
-rw-r--r-- | tests/multiple_files/multifile2.proto | 3 | ||||
-rw-r--r-- | tests/multiple_files/test_multiple_files.c | 8 |
5 files changed, 11 insertions, 7 deletions
diff --git a/tests/multiple_files/SConscript b/tests/multiple_files/SConscript index c3a82eb..1689f48 100644 --- a/tests/multiple_files/SConscript +++ b/tests/multiple_files/SConscript @@ -5,7 +5,7 @@ Import("env") incpath = env.Clone() incpath.Append(PROTOCPATH = '#multiple_files') -incpath.NanopbProto("multifile1") +incpath.NanopbProto(["multifile1", "multifile1.options"]) incpath.NanopbProto("multifile2") test = incpath.Program(["test_multiple_files.c", "multifile1.pb.c", "multifile2.pb.c"]) diff --git a/tests/multiple_files/multifile1.options b/tests/multiple_files/multifile1.options new file mode 100644 index 0000000..c44d266 --- /dev/null +++ b/tests/multiple_files/multifile1.options @@ -0,0 +1 @@ +StaticMessage.repint32 max_count:5 diff --git a/tests/multiple_files/multifile1.proto b/tests/multiple_files/multifile1.proto index 79cf038..d804b67 100644 --- a/tests/multiple_files/multifile1.proto +++ b/tests/multiple_files/multifile1.proto @@ -14,6 +14,10 @@ message TestMessage { repeated string repeatedstring = 6; } +message StaticMessage { + repeated fixed32 repint32 = 1; +} + enum SignedEnum { SE_MIN = -128; SE_MAX = 127; diff --git a/tests/multiple_files/multifile2.proto b/tests/multiple_files/multifile2.proto index c5dcd40..66cb8a0 100644 --- a/tests/multiple_files/multifile2.proto +++ b/tests/multiple_files/multifile2.proto @@ -9,8 +9,7 @@ message Callback2Message { message OneofMessage { oneof msgs { - TestMessage tstmsg = 1; - SubMessage submsg = 2; + StaticMessage tstmsg = 1; } } diff --git a/tests/multiple_files/test_multiple_files.c b/tests/multiple_files/test_multiple_files.c index 5134f03..292b8d7 100644 --- a/tests/multiple_files/test_multiple_files.c +++ b/tests/multiple_files/test_multiple_files.c @@ -7,16 +7,16 @@ #include "unittests.h" #include "multifile2.pb.h" -/* Check that the size definition is obtained properly */ -static const int foo = OneofMessage_size; - int main() { int status = 0; + /* Test that included file options are properly loaded */ + TEST(OneofMessage_size == 27); + /* Check that enum signedness is detected properly */ TEST(PB_LTYPE(Enums_fields[0].type) == PB_LTYPE_VARINT); - TEST(PB_LTYPE(Enums_fields[0].type) == PB_LTYPE_UVARINT); + TEST(PB_LTYPE(Enums_fields[1].type) == PB_LTYPE_UVARINT); return status; } |