diff options
Diffstat (limited to 'CAN-binder/libs/nanopb/tests/anonymous_oneof')
3 files changed, 0 insertions, 141 deletions
diff --git a/CAN-binder/libs/nanopb/tests/anonymous_oneof/SConscript b/CAN-binder/libs/nanopb/tests/anonymous_oneof/SConscript deleted file mode 100644 index 10672287..00000000 --- a/CAN-binder/libs/nanopb/tests/anonymous_oneof/SConscript +++ /dev/null @@ -1,30 +0,0 @@ -# Test anonymous_oneof generator option - -Import('env') - -import re - -match = None -if 'PROTOC_VERSION' in env: - match = re.search('([0-9]+).([0-9]+).([0-9]+)', env['PROTOC_VERSION']) - -if match: - version = map(int, match.groups()) - -# Oneof is supported by protoc >= 2.6.0 -if env.GetOption('clean') or (match and (version[0] > 2 or (version[0] == 2 and version[1] >= 6))): - # Anonymous oneofs are supported by clang and gcc - if 'clang' in env['CC'] or 'gcc' in env['CC']: - env2 = env.Clone() - if '-pedantic' in env2['CFLAGS']: - env2['CFLAGS'].remove('-pedantic') - env2.NanopbProto('oneof') - - dec = env2.Program(['decode_oneof.c', - 'oneof.pb.c', - '$COMMON/pb_decode.o', - '$COMMON/pb_common.o']) - - env2.RunTest("message1.txt", [dec, '$BUILD/oneof/message1.pb'], ARGS = ['1']) - env2.RunTest("message2.txt", [dec, '$BUILD/oneof/message2.pb'], ARGS = ['2']) - env2.RunTest("message3.txt", [dec, '$BUILD/oneof/message3.pb'], ARGS = ['3']) diff --git a/CAN-binder/libs/nanopb/tests/anonymous_oneof/decode_oneof.c b/CAN-binder/libs/nanopb/tests/anonymous_oneof/decode_oneof.c deleted file mode 100644 index 0f774dbc..00000000 --- a/CAN-binder/libs/nanopb/tests/anonymous_oneof/decode_oneof.c +++ /dev/null @@ -1,88 +0,0 @@ -/* Decode a message using oneof fields */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <pb_decode.h> -#include "oneof.pb.h" -#include "test_helpers.h" -#include "unittests.h" - -/* Test the 'AnonymousOneOfMessage' */ -int test_oneof_1(pb_istream_t *stream, int option) -{ - AnonymousOneOfMessage msg; - int status = 0; - - /* To better catch initialization errors */ - memset(&msg, 0xAA, sizeof(msg)); - - if (!pb_decode(stream, AnonymousOneOfMessage_fields, &msg)) - { - printf("Decoding failed: %s\n", PB_GET_ERROR(stream)); - return 1; - } - - /* Check that the basic fields work normally */ - TEST(msg.prefix == 123); - TEST(msg.suffix == 321); - - /* Check that we got the right oneof according to command line */ - if (option == 1) - { - TEST(msg.which_values == AnonymousOneOfMessage_first_tag); - TEST(msg.first == 999); - } - else if (option == 2) - { - TEST(msg.which_values == AnonymousOneOfMessage_second_tag); - TEST(strcmp(msg.second, "abcd") == 0); - } - else if (option == 3) - { - TEST(msg.which_values == AnonymousOneOfMessage_third_tag); - TEST(msg.third.array[0] == 1); - TEST(msg.third.array[1] == 2); - TEST(msg.third.array[2] == 3); - TEST(msg.third.array[3] == 4); - TEST(msg.third.array[4] == 5); - } - - return status; -} - -int main(int argc, char **argv) -{ - uint8_t buffer[AnonymousOneOfMessage_size]; - size_t count; - int option; - - if (argc != 2) - { - fprintf(stderr, "Usage: decode_oneof [number]\n"); - return 1; - } - option = atoi(argv[1]); - - SET_BINARY_MODE(stdin); - count = fread(buffer, 1, sizeof(buffer), stdin); - - if (!feof(stdin)) - { - printf("Message does not fit in buffer\n"); - return 1; - } - - { - int status = 0; - pb_istream_t stream; - - stream = pb_istream_from_buffer(buffer, count); - status = test_oneof_1(&stream, option); - - if (status != 0) - return status; - } - - return 0; -} diff --git a/CAN-binder/libs/nanopb/tests/anonymous_oneof/oneof.proto b/CAN-binder/libs/nanopb/tests/anonymous_oneof/oneof.proto deleted file mode 100644 index d56285c0..00000000 --- a/CAN-binder/libs/nanopb/tests/anonymous_oneof/oneof.proto +++ /dev/null @@ -1,23 +0,0 @@ -syntax = "proto2"; - -import 'nanopb.proto'; - -message SubMessage -{ - repeated int32 array = 1 [(nanopb).max_count = 8]; -} - -/* Oneof in a message with other fields */ -message AnonymousOneOfMessage -{ - option (nanopb_msgopt).anonymous_oneof = true; - required int32 prefix = 1; - oneof values - { - int32 first = 5; - string second = 6 [(nanopb).max_size = 8]; - SubMessage third = 7; - } - required int32 suffix = 99; -} - |