mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-14 15:37:10 +03:00
move to new cspot
This commit is contained in:
16
components/spotify/cspot/bell/external/nanopb/tests/inline/SConscript
vendored
Normal file
16
components/spotify/cspot/bell/external/nanopb/tests/inline/SConscript
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# Test that inlined bytes fields work.
|
||||
|
||||
Import("env")
|
||||
|
||||
env.NanopbProto("inline")
|
||||
env.Object("inline.pb.c")
|
||||
|
||||
env.Match(["inline.pb.h", "inline.expected"])
|
||||
|
||||
p = env.Program(["inline_unittests.c",
|
||||
"inline.pb.c",
|
||||
"$COMMON/pb_encode.o",
|
||||
"$COMMON/pb_decode.o",
|
||||
"$COMMON/pb_common.o"])
|
||||
|
||||
env.RunTest(p)
|
||||
3
components/spotify/cspot/bell/external/nanopb/tests/inline/inline.expected
vendored
Normal file
3
components/spotify/cspot/bell/external/nanopb/tests/inline/inline.expected
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
pb_byte_t data\[32\];
|
||||
bool has_data;
|
||||
pb_byte_t data\[64\];
|
||||
17
components/spotify/cspot/bell/external/nanopb/tests/inline/inline.proto
vendored
Normal file
17
components/spotify/cspot/bell/external/nanopb/tests/inline/inline.proto
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Test nanopb option parsing.
|
||||
* options.expected lists the patterns that are searched for in the output.
|
||||
*/
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
import "nanopb.proto";
|
||||
|
||||
message Message1
|
||||
{
|
||||
required bytes data = 1 [(nanopb).type = FT_INLINE, (nanopb).max_size = 32];
|
||||
}
|
||||
|
||||
message Message2
|
||||
{
|
||||
optional bytes data = 1 [(nanopb).type = FT_INLINE, (nanopb).max_size = 64];
|
||||
}
|
||||
73
components/spotify/cspot/bell/external/nanopb/tests/inline/inline_unittests.c
vendored
Normal file
73
components/spotify/cspot/bell/external/nanopb/tests/inline/inline_unittests.c
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <pb_decode.h>
|
||||
#include <pb_encode.h>
|
||||
#include "unittests.h"
|
||||
#include "inline.pb.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
int status = 0;
|
||||
int i = 0;
|
||||
COMMENT("Test inline byte fields");
|
||||
|
||||
{
|
||||
Message1 msg1 = Message1_init_zero;
|
||||
TEST(sizeof(msg1.data) == 32);
|
||||
}
|
||||
|
||||
{
|
||||
Message1 msg1 = Message1_init_zero;
|
||||
pb_byte_t msg1_buffer[Message1_size];
|
||||
pb_ostream_t ostream = pb_ostream_from_buffer(msg1_buffer, Message1_size);
|
||||
Message1 msg1_deserialized = Message1_init_zero;
|
||||
pb_istream_t istream = pb_istream_from_buffer(msg1_buffer, Message1_size);
|
||||
|
||||
for (i = 0; i < 32; i++) {
|
||||
msg1.data[i] = i;
|
||||
}
|
||||
|
||||
TEST(pb_encode(&ostream, Message1_fields, &msg1));
|
||||
TEST(ostream.bytes_written == Message1_size);
|
||||
|
||||
TEST(pb_decode(&istream, Message1_fields, &msg1_deserialized));
|
||||
|
||||
TEST(istream.bytes_left == 0);
|
||||
TEST(memcmp(&msg1_deserialized, &msg1, sizeof(msg1)) == 0);
|
||||
}
|
||||
|
||||
{
|
||||
Message2 msg2 = {true, {0}};
|
||||
Message2 msg2_no_data = {false, {1}};
|
||||
pb_byte_t msg2_buffer[Message2_size];
|
||||
pb_ostream_t ostream = pb_ostream_from_buffer(msg2_buffer, Message2_size);
|
||||
Message2 msg2_deserialized = Message2_init_zero;
|
||||
pb_istream_t istream = pb_istream_from_buffer(msg2_buffer, Message2_size);
|
||||
|
||||
for (i = 0; i < 64; i++) {
|
||||
msg2.data[i] = i;
|
||||
}
|
||||
|
||||
TEST(pb_encode(&ostream, Message2_fields, &msg2));
|
||||
TEST(ostream.bytes_written == Message2_size);
|
||||
|
||||
TEST(pb_decode(&istream, Message2_fields, &msg2_deserialized));
|
||||
|
||||
TEST(istream.bytes_left == 0);
|
||||
TEST(memcmp(&msg2_deserialized, &msg2, sizeof(msg2)) == 0);
|
||||
TEST(msg2_deserialized.has_data);
|
||||
|
||||
memset(msg2_buffer, 0, sizeof(msg2_buffer));
|
||||
ostream = pb_ostream_from_buffer(msg2_buffer, Message2_size);
|
||||
TEST(pb_encode(&ostream, Message2_fields, &msg2_no_data));
|
||||
istream = pb_istream_from_buffer(msg2_buffer, ostream.bytes_written);
|
||||
TEST(pb_decode(&istream, Message2_fields, &msg2_deserialized));
|
||||
TEST(!msg2_deserialized.has_data);
|
||||
TEST(memcmp(&msg2_deserialized, &msg2, sizeof(msg2)) != 0);
|
||||
}
|
||||
|
||||
if (status != 0)
|
||||
fprintf(stdout, "\n\nSome tests FAILED!\n");
|
||||
|
||||
return status;
|
||||
}
|
||||
Reference in New Issue
Block a user