mirror of
https://github.com/google/pebble.git
synced 2025-08-12 17:38:11 -04:00
Import of the watch repository from Pebble
This commit is contained in:
commit
3b92768480
10334 changed files with 2564465 additions and 0 deletions
17
third_party/nanopb/tests/multiple_files/SConscript
vendored
Normal file
17
third_party/nanopb/tests/multiple_files/SConscript
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Test that multiple .proto files don't cause name collisions.
|
||||
|
||||
Import("env")
|
||||
|
||||
incpath = env.Clone()
|
||||
incpath.Append(PROTOCPATH = '#multiple_files')
|
||||
incpath.Append(CPPPATH = '$BUILD/multiple_files')
|
||||
|
||||
incpath.NanopbProto(["multifile1", "multifile1.options"])
|
||||
incpath.NanopbProto("multifile2")
|
||||
incpath.NanopbProto("subdir/multifile2")
|
||||
test = incpath.Program(["test_multiple_files.c", "multifile1.pb.c",
|
||||
"multifile2.pb.c", "subdir/multifile2.pb.c",
|
||||
"$COMMON/pb_common.o"])
|
||||
|
||||
env.RunTest(test)
|
||||
|
1
third_party/nanopb/tests/multiple_files/multifile1.options
vendored
Normal file
1
third_party/nanopb/tests/multiple_files/multifile1.options
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
StaticMessage.repint32 max_count:5
|
34
third_party/nanopb/tests/multiple_files/multifile1.proto
vendored
Normal file
34
third_party/nanopb/tests/multiple_files/multifile1.proto
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
syntax = "proto2";
|
||||
|
||||
message SubMessage {
|
||||
optional string stringvalue = 1;
|
||||
repeated int32 int32value = 2;
|
||||
repeated fixed32 fixed32value = 3;
|
||||
repeated fixed64 fixed64value = 4;
|
||||
}
|
||||
|
||||
message TestMessage {
|
||||
optional string stringvalue = 1;
|
||||
repeated int32 int32value = 2;
|
||||
repeated fixed32 fixed32value = 3;
|
||||
repeated fixed64 fixed64value = 4;
|
||||
optional SubMessage submsg = 5;
|
||||
repeated string repeatedstring = 6;
|
||||
}
|
||||
|
||||
message StaticMessage {
|
||||
repeated fixed32 repint32 = 1;
|
||||
}
|
||||
|
||||
enum SignedEnum {
|
||||
SE_MIN = -128;
|
||||
SE_MAX = 127;
|
||||
}
|
||||
|
||||
enum UnsignedEnum {
|
||||
UE_MIN = 0;
|
||||
UE_MAX = 255;
|
||||
}
|
||||
|
||||
|
||||
|
22
third_party/nanopb/tests/multiple_files/multifile2.proto
vendored
Normal file
22
third_party/nanopb/tests/multiple_files/multifile2.proto
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
// Test if including generated header file for this file + implicit include of
|
||||
// multifile2.pb.h still compiles. Used with test_compiles.c.
|
||||
syntax = "proto2";
|
||||
|
||||
import "multifile1.proto";
|
||||
|
||||
message Callback2Message {
|
||||
required TestMessage tstmsg = 1;
|
||||
required SubMessage submsg = 2;
|
||||
}
|
||||
|
||||
message OneofMessage {
|
||||
oneof msgs {
|
||||
StaticMessage tstmsg = 1;
|
||||
}
|
||||
}
|
||||
|
||||
message Enums {
|
||||
required SignedEnum senum = 1;
|
||||
required UnsignedEnum uenum = 2;
|
||||
}
|
||||
|
30
third_party/nanopb/tests/multiple_files/subdir/multifile2.proto
vendored
Normal file
30
third_party/nanopb/tests/multiple_files/subdir/multifile2.proto
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
syntax = "proto2";
|
||||
|
||||
package subdir;
|
||||
|
||||
import "multifile1.proto";
|
||||
|
||||
message Callback2Message {
|
||||
required TestMessage tstmsg = 1;
|
||||
required SubMessage submsg = 2;
|
||||
}
|
||||
|
||||
message SmallMessage {
|
||||
required bool dummy = 1;
|
||||
}
|
||||
|
||||
message OneofMessage {
|
||||
oneof msgs {
|
||||
StaticMessage tstmsg = 1;
|
||||
SmallMessage msg2 = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message Enums {
|
||||
required SignedEnum senum = 1;
|
||||
required UnsignedEnum uenum = 2;
|
||||
}
|
||||
|
||||
message SubdirMessage {
|
||||
required int32 foo = 1 [default = 15];
|
||||
}
|
38
third_party/nanopb/tests/multiple_files/test_multiple_files.c
vendored
Normal file
38
third_party/nanopb/tests/multiple_files/test_multiple_files.c
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* Tests if this still compiles when multiple .proto files are involved.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <pb_encode.h>
|
||||
#include <pb_common.h>
|
||||
#include "unittests.h"
|
||||
#include "multifile2.pb.h"
|
||||
#include "subdir/multifile2.pb.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
int status = 0;
|
||||
|
||||
/* Test that included file options are properly loaded */
|
||||
TEST(OneofMessage_size == 27);
|
||||
|
||||
/* Check that enum signedness is detected properly */
|
||||
{
|
||||
pb_field_iter_t iter;
|
||||
Enums msg;
|
||||
TEST(pb_field_iter_begin(&iter, Enums_fields, &msg));
|
||||
TEST(PB_LTYPE(iter.type) == PB_LTYPE_VARINT);
|
||||
TEST(pb_field_iter_next(&iter));
|
||||
TEST(PB_LTYPE(iter.type) == PB_LTYPE_UVARINT);
|
||||
}
|
||||
|
||||
/* Test that subdir file is correctly included */
|
||||
{
|
||||
subdir_SubdirMessage foo = subdir_SubdirMessage_init_default;
|
||||
TEST(foo.foo == 15);
|
||||
TEST(subdir_OneofMessage_size >= 27); /* Note: not perfectly accurate due to issue 172 */
|
||||
TEST(subdir_OneofMessage_size <= 30);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue