Import of the watch repository from Pebble

This commit is contained in:
Matthieu Jeanson
2025-01-27 11:38:16 -08:00
committed by Katharine Berry
commit 3b92768480
10334 changed files with 2564465 additions and 0 deletions
@@ -0,0 +1,14 @@
# Test that pb_check_proto3_default_value() correctly skips padding
# bytes in submessage structures.
Import("env")
env.NanopbProto("padding")
p = env.Program(["padding.c",
"padding.pb.c",
"$COMMON/pb_encode.o",
"$COMMON/pb_common.o"])
env.RunTest(p)
+32
View File
@@ -0,0 +1,32 @@
#include <pb_encode.h>
#include <unittests.h>
#include <string.h>
#include "padding.pb.h"
int main()
{
int status = 0;
TestMessage msg;
/* Set padding bytes to garbage */
memset(&msg, 0xAA, sizeof(msg));
/* Set all meaningful fields to 0 */
msg.submsg.boolfield = false;
msg.submsg.intfield = 0;
/* Test encoding */
{
pb_byte_t buf[128] = {0};
pb_ostream_t stream = pb_ostream_from_buffer(buf, sizeof(buf));
TEST(pb_encode(&stream, TestMessage_fields, &msg));
/* Because all fields have zero values, proto3 encoder
* shouldn't write out anything. */
TEST(stream.bytes_written == 0);
}
return status;
}
@@ -0,0 +1,12 @@
syntax = "proto3";
import "nanopb.proto";
message SubMessage {
bool boolfield = 1;
int64 intfield = 2;
}
message TestMessage {
SubMessage submsg = 1 [(nanopb).proto3_singular_msgs = true];
}