summaryrefslogtreecommitdiffstats
path: root/CAN-binder/libs/nanopb/tests/callbacks
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-06-20 10:24:05 +0000
committerRomain Forlot <romain.forlot@iot.bzh>2017-06-20 10:24:05 +0000
commit32e25cbca210a359b09768537b6f443fe90a3070 (patch)
tree3309794c15d8a8f8e9c1c08cad072ee1378813ba /CAN-binder/libs/nanopb/tests/callbacks
parent76c43dec62b2e21cd6446360c00d4fe6b437533f (diff)
Separation Generator to a dedicated repo
Change-Id: Id94831651c3266861435272a6e36c7884bef2c45 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/libs/nanopb/tests/callbacks')
-rw-r--r--CAN-binder/libs/nanopb/tests/callbacks/SConscript14
-rw-r--r--CAN-binder/libs/nanopb/tests/callbacks/callbacks.proto18
-rw-r--r--CAN-binder/libs/nanopb/tests/callbacks/decode_callbacks.c97
-rw-r--r--CAN-binder/libs/nanopb/tests/callbacks/encode_callbacks.c92
4 files changed, 0 insertions, 221 deletions
diff --git a/CAN-binder/libs/nanopb/tests/callbacks/SConscript b/CAN-binder/libs/nanopb/tests/callbacks/SConscript
deleted file mode 100644
index 44521439..00000000
--- a/CAN-binder/libs/nanopb/tests/callbacks/SConscript
+++ /dev/null
@@ -1,14 +0,0 @@
-# Test the functionality of the callback fields.
-
-Import("env")
-
-env.NanopbProto("callbacks")
-enc = env.Program(["encode_callbacks.c", "callbacks.pb.c", "$COMMON/pb_encode.o", "$COMMON/pb_common.o"])
-dec = env.Program(["decode_callbacks.c", "callbacks.pb.c", "$COMMON/pb_decode.o", "$COMMON/pb_common.o"])
-
-env.RunTest(enc)
-env.RunTest([dec, "encode_callbacks.output"])
-
-env.Decode(["encode_callbacks.output", "callbacks.proto"], MESSAGE = "TestMessage")
-env.Compare(["decode_callbacks.output", "encode_callbacks.decoded"])
-
diff --git a/CAN-binder/libs/nanopb/tests/callbacks/callbacks.proto b/CAN-binder/libs/nanopb/tests/callbacks/callbacks.proto
deleted file mode 100644
index 96ac744d..00000000
--- a/CAN-binder/libs/nanopb/tests/callbacks/callbacks.proto
+++ /dev/null
@@ -1,18 +0,0 @@
-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;
-}
-
diff --git a/CAN-binder/libs/nanopb/tests/callbacks/decode_callbacks.c b/CAN-binder/libs/nanopb/tests/callbacks/decode_callbacks.c
deleted file mode 100644
index 45724d0b..00000000
--- a/CAN-binder/libs/nanopb/tests/callbacks/decode_callbacks.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Decoding testcase for callback fields.
- * Run e.g. ./test_encode_callbacks | ./test_decode_callbacks
- */
-
-#include <stdio.h>
-#include <pb_decode.h>
-#include "callbacks.pb.h"
-#include "test_helpers.h"
-
-bool print_string(pb_istream_t *stream, const pb_field_t *field, void **arg)
-{
- uint8_t buffer[1024] = {0};
-
- /* We could read block-by-block to avoid the large buffer... */
- if (stream->bytes_left > sizeof(buffer) - 1)
- return false;
-
- if (!pb_read(stream, buffer, stream->bytes_left))
- return false;
-
- /* Print the string, in format comparable with protoc --decode.
- * Format comes from the arg defined in main().
- */
- printf((char*)*arg, buffer);
- return true;
-}
-
-bool print_int32(pb_istream_t *stream, const pb_field_t *field, void **arg)
-{
- uint64_t value;
- if (!pb_decode_varint(stream, &value))
- return false;
-
- printf((char*)*arg, (long)value);
- return true;
-}
-
-bool print_fixed32(pb_istream_t *stream, const pb_field_t *field, void **arg)
-{
- uint32_t value;
- if (!pb_decode_fixed32(stream, &value))
- return false;
-
- printf((char*)*arg, (long)value);
- return true;
-}
-
-bool print_fixed64(pb_istream_t *stream, const pb_field_t *field, void **arg)
-{
- uint64_t value;
- if (!pb_decode_fixed64(stream, &value))
- return false;
-
- printf((char*)*arg, (long)value);
- return true;
-}
-
-int main()
-{
- uint8_t buffer[1024];
- size_t length;
- pb_istream_t stream;
- /* Note: empty initializer list initializes the struct with all-0.
- * This is recommended so that unused callbacks are set to NULL instead
- * of crashing at runtime.
- */
- TestMessage testmessage = {{{NULL}}};
-
- SET_BINARY_MODE(stdin);
- length = fread(buffer, 1, 1024, stdin);
- stream = pb_istream_from_buffer(buffer, length);
-
- testmessage.submsg.stringvalue.funcs.decode = &print_string;
- testmessage.submsg.stringvalue.arg = "submsg {\n stringvalue: \"%s\"\n";
- testmessage.submsg.int32value.funcs.decode = &print_int32;
- testmessage.submsg.int32value.arg = " int32value: %ld\n";
- testmessage.submsg.fixed32value.funcs.decode = &print_fixed32;
- testmessage.submsg.fixed32value.arg = " fixed32value: %ld\n";
- testmessage.submsg.fixed64value.funcs.decode = &print_fixed64;
- testmessage.submsg.fixed64value.arg = " fixed64value: %ld\n}\n";
-
- testmessage.stringvalue.funcs.decode = &print_string;
- testmessage.stringvalue.arg = "stringvalue: \"%s\"\n";
- testmessage.int32value.funcs.decode = &print_int32;
- testmessage.int32value.arg = "int32value: %ld\n";
- testmessage.fixed32value.funcs.decode = &print_fixed32;
- testmessage.fixed32value.arg = "fixed32value: %ld\n";
- testmessage.fixed64value.funcs.decode = &print_fixed64;
- testmessage.fixed64value.arg = "fixed64value: %ld\n";
- testmessage.repeatedstring.funcs.decode = &print_string;
- testmessage.repeatedstring.arg = "repeatedstring: \"%s\"\n";
-
- if (!pb_decode(&stream, TestMessage_fields, &testmessage))
- return 1;
-
- return 0;
-}
diff --git a/CAN-binder/libs/nanopb/tests/callbacks/encode_callbacks.c b/CAN-binder/libs/nanopb/tests/callbacks/encode_callbacks.c
deleted file mode 100644
index 6cb67b1e..00000000
--- a/CAN-binder/libs/nanopb/tests/callbacks/encode_callbacks.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Encoding testcase for callback fields */
-
-#include <stdio.h>
-#include <string.h>
-#include <pb_encode.h>
-#include "callbacks.pb.h"
-#include "test_helpers.h"
-
-bool encode_string(pb_ostream_t *stream, const pb_field_t *field, void * const *arg)
-{
- char *str = "Hello world!";
-
- if (!pb_encode_tag_for_field(stream, field))
- return false;
-
- return pb_encode_string(stream, (uint8_t*)str, strlen(str));
-}
-
-bool encode_int32(pb_ostream_t *stream, const pb_field_t *field, void * const *arg)
-{
- if (!pb_encode_tag_for_field(stream, field))
- return false;
-
- return pb_encode_varint(stream, 42);
-}
-
-bool encode_fixed32(pb_ostream_t *stream, const pb_field_t *field, void * const *arg)
-{
- uint32_t value = 42;
-
- if (!pb_encode_tag_for_field(stream, field))
- return false;
-
- return pb_encode_fixed32(stream, &value);
-}
-
-bool encode_fixed64(pb_ostream_t *stream, const pb_field_t *field, void * const *arg)
-{
- uint64_t value = 42;
-
- if (!pb_encode_tag_for_field(stream, field))
- return false;
-
- return pb_encode_fixed64(stream, &value);
-}
-
-bool encode_repeatedstring(pb_ostream_t *stream, const pb_field_t *field, void * const *arg)
-{
- char *str[4] = {"Hello world!", "", "Test", "Test2"};
- int i;
-
- for (i = 0; i < 4; i++)
- {
- if (!pb_encode_tag_for_field(stream, field))
- return false;
-
- if (!pb_encode_string(stream, (uint8_t*)str[i], strlen(str[i])))
- return false;
- }
- return true;
-}
-
-int main()
-{
- uint8_t buffer[1024];
- pb_ostream_t stream;
- TestMessage testmessage = {{{NULL}}};
-
- stream = pb_ostream_from_buffer(buffer, 1024);
-
- testmessage.stringvalue.funcs.encode = &encode_string;
- testmessage.int32value.funcs.encode = &encode_int32;
- testmessage.fixed32value.funcs.encode = &encode_fixed32;
- testmessage.fixed64value.funcs.encode = &encode_fixed64;
-
- testmessage.has_submsg = true;
- testmessage.submsg.stringvalue.funcs.encode = &encode_string;
- testmessage.submsg.int32value.funcs.encode = &encode_int32;
- testmessage.submsg.fixed32value.funcs.encode = &encode_fixed32;
- testmessage.submsg.fixed64value.funcs.encode = &encode_fixed64;
-
- testmessage.repeatedstring.funcs.encode = &encode_repeatedstring;
-
- if (!pb_encode(&stream, TestMessage_fields, &testmessage))
- return 1;
-
- SET_BINARY_MODE(stdout);
- if (fwrite(buffer, stream.bytes_written, 1, stdout) != 1)
- return 2;
-
- return 0;
-}