diff options
author | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2013-09-08 17:52:03 +0300 |
---|---|---|
committer | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2013-09-08 17:52:03 +0300 |
commit | 262c62676cf740ec3ce14a22bde47b7968fec8f0 (patch) | |
tree | 01cb3a8cc56ea58c536c9fe1d9ca3a46e96db46e /tests/common | |
parent | d7f3a74388b4825d2c980c53d0a740ddfd0e4770 (diff) |
Start moving the tests into subfolders. Transition to SCons for build system for the tests.
Only a few tests updated so far. Have to include all the rest before merging to mainline.
Update issue 63
Status: Started
Diffstat (limited to 'tests/common')
-rw-r--r-- | tests/common/SConscript | 14 | ||||
-rw-r--r-- | tests/common/person.proto | 20 | ||||
-rw-r--r-- | tests/common/unittestproto.proto | 32 | ||||
-rw-r--r-- | tests/common/unittests.h | 14 |
4 files changed, 80 insertions, 0 deletions
diff --git a/tests/common/SConscript b/tests/common/SConscript new file mode 100644 index 00000000..ef3cdcaa --- /dev/null +++ b/tests/common/SConscript @@ -0,0 +1,14 @@ +# Build the common files needed by multiple test cases + +Import('env') + +# Protocol definitions for the encode/decode_unittests +env.NanopbProto("unittestproto") + +# Protocol definitions for basic_buffer/stream tests +env.NanopbProto("person") + +# Binaries of the pb_decode.c and pb_encode.c +env.Object("pb_decode.o", "#../pb_decode.c") +env.Object("pb_encode.o", "#../pb_encode.c") + diff --git a/tests/common/person.proto b/tests/common/person.proto new file mode 100644 index 00000000..dafcf934 --- /dev/null +++ b/tests/common/person.proto @@ -0,0 +1,20 @@ +import "nanopb.proto"; + +message Person { + required string name = 1 [(nanopb).max_size = 40]; + required int32 id = 2; + optional string email = 3 [(nanopb).max_size = 40]; + + enum PhoneType { + MOBILE = 0; + HOME = 1; + WORK = 2; + } + + message PhoneNumber { + required string number = 1 [(nanopb).max_size = 40]; + optional PhoneType type = 2 [default = HOME]; + } + + repeated PhoneNumber phone = 4 [(nanopb).max_count = 5]; +} diff --git a/tests/common/unittestproto.proto b/tests/common/unittestproto.proto new file mode 100644 index 00000000..7024942e --- /dev/null +++ b/tests/common/unittestproto.proto @@ -0,0 +1,32 @@ +import 'nanopb.proto'; + +message IntegerArray { + repeated int32 data = 1 [(nanopb).max_count = 10]; +} + +message FloatArray { + repeated float data = 1 [(nanopb).max_count = 10]; +} + +message StringMessage { + required string data = 1 [(nanopb).max_size = 10]; +} + +message CallbackArray { + // We cheat a bit and use this message for testing other types, too. + // Nanopb does not care about the actual defined data type for callback + // fields. + repeated int32 data = 1; +} + +message IntegerContainer { + required IntegerArray submsg = 1; +} + +message CallbackContainer { + required CallbackArray submsg = 1; +} + +message CallbackContainerContainer { + required CallbackContainer submsg = 1; +} diff --git a/tests/common/unittests.h b/tests/common/unittests.h new file mode 100644 index 00000000..c2b470ad --- /dev/null +++ b/tests/common/unittests.h @@ -0,0 +1,14 @@ +#include <stdio.h> + +#define COMMENT(x) printf("\n----" x "----\n"); +#define STR(x) #x +#define STR2(x) STR(x) +#define TEST(x) \ + if (!(x)) { \ + fprintf(stderr, "\033[31;1mFAILED:\033[22;39m " __FILE__ ":" STR2(__LINE__) " " #x "\n"); \ + status = 1; \ + } else { \ + printf("\033[32;1mOK:\033[22;39m " #x "\n"); \ + } + + |