Separate field iterator logic from pb_decode to pb_common.
This commit is contained in:
@@ -4,8 +4,8 @@
|
||||
Import("env")
|
||||
|
||||
env.NanopbProto(["alltypes", "alltypes.options"])
|
||||
enc = env.Program(["encode_alltypes.c", "alltypes.pb.c", "$COMMON/pb_encode.o"])
|
||||
dec = env.Program(["decode_alltypes.c", "alltypes.pb.c", "$COMMON/pb_decode.o"])
|
||||
enc = env.Program(["encode_alltypes.c", "alltypes.pb.c", "$COMMON/pb_encode.o", "$COMMON/pb_common.o"])
|
||||
dec = env.Program(["decode_alltypes.c", "alltypes.pb.c", "$COMMON/pb_decode.o", "$COMMON/pb_common.o"])
|
||||
|
||||
# Test the round-trip from nanopb encoder to nanopb decoder
|
||||
env.RunTest(enc)
|
||||
|
||||
@@ -6,8 +6,8 @@ c = Copy("$TARGET", "$SOURCE")
|
||||
env.Command("alltypes.proto", "#alltypes/alltypes.proto", c)
|
||||
|
||||
env.NanopbProto(["alltypes", "alltypes.options"])
|
||||
enc = env.Program(["encode_alltypes_callback.c", "alltypes.pb.c", "$COMMON/pb_encode.o"])
|
||||
dec = env.Program(["decode_alltypes_callback.c", "alltypes.pb.c", "$COMMON/pb_decode.o"])
|
||||
enc = env.Program(["encode_alltypes_callback.c", "alltypes.pb.c", "$COMMON/pb_encode.o", "$COMMON/pb_common.o"])
|
||||
dec = env.Program(["decode_alltypes_callback.c", "alltypes.pb.c", "$COMMON/pb_decode.o", "$COMMON/pb_common.o"])
|
||||
|
||||
refdec = "$BUILD/alltypes/decode_alltypes$PROGSUFFIX"
|
||||
|
||||
|
||||
@@ -18,13 +18,14 @@ strict = env.Clone()
|
||||
strict.Append(CFLAGS = strict['CORECFLAGS'])
|
||||
strict.Object("pb_decode_with_malloc.o", "$NANOPB/pb_decode.c")
|
||||
strict.Object("pb_encode_with_malloc.o", "$NANOPB/pb_encode.c")
|
||||
strict.Object("pb_common_with_malloc.o", "$NANOPB/pb_common.c")
|
||||
|
||||
c = Copy("$TARGET", "$SOURCE")
|
||||
env.Command("alltypes.proto", "#alltypes/alltypes.proto", c)
|
||||
|
||||
env.NanopbProto(["alltypes", "alltypes.options"])
|
||||
enc = env.Program(["encode_alltypes_pointer.c", "alltypes.pb.c", "pb_encode_with_malloc.o"])
|
||||
dec = env.Program(["decode_alltypes_pointer.c", "alltypes.pb.c", "pb_decode_with_malloc.o"])
|
||||
enc = env.Program(["encode_alltypes_pointer.c", "alltypes.pb.c", "pb_encode_with_malloc.o", "pb_common_with_malloc.o"])
|
||||
dec = env.Program(["decode_alltypes_pointer.c", "alltypes.pb.c", "pb_decode_with_malloc.o", "pb_common_with_malloc.o"])
|
||||
|
||||
# Encode and compare results to non-pointer alltypes test case
|
||||
env.RunTest(enc)
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
Import("env")
|
||||
|
||||
enc = env.Program(["encode_legacy.c", "alltypes_legacy.c", "$COMMON/pb_encode.o"])
|
||||
dec = env.Program(["decode_legacy.c", "alltypes_legacy.c", "$COMMON/pb_decode.o"])
|
||||
enc = env.Program(["encode_legacy.c", "alltypes_legacy.c", "$COMMON/pb_encode.o", "$COMMON/pb_common.o"])
|
||||
dec = env.Program(["decode_legacy.c", "alltypes_legacy.c", "$COMMON/pb_decode.o", "$COMMON/pb_common.o"])
|
||||
|
||||
env.RunTest(enc)
|
||||
env.RunTest([dec, "encode_legacy.output"])
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
Import("env")
|
||||
|
||||
enc = env.Program(["encode_buffer.c", "$COMMON/person.pb.c", "$COMMON/pb_encode.o"])
|
||||
dec = env.Program(["decode_buffer.c", "$COMMON/person.pb.c", "$COMMON/pb_decode.o"])
|
||||
enc = env.Program(["encode_buffer.c", "$COMMON/person.pb.c", "$COMMON/pb_encode.o", "$COMMON/pb_common.o"])
|
||||
dec = env.Program(["decode_buffer.c", "$COMMON/person.pb.c", "$COMMON/pb_decode.o", "$COMMON/pb_common.o"])
|
||||
|
||||
env.RunTest(enc)
|
||||
env.RunTest([dec, "encode_buffer.output"])
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
Import("env")
|
||||
|
||||
enc = env.Program(["encode_stream.c", "$COMMON/person.pb.c", "$COMMON/pb_encode.o"])
|
||||
dec = env.Program(["decode_stream.c", "$COMMON/person.pb.c", "$COMMON/pb_decode.o"])
|
||||
enc = env.Program(["encode_stream.c", "$COMMON/person.pb.c", "$COMMON/pb_encode.o", "$COMMON/pb_common.o"])
|
||||
dec = env.Program(["decode_stream.c", "$COMMON/person.pb.c", "$COMMON/pb_decode.o", "$COMMON/pb_common.o"])
|
||||
|
||||
env.RunTest(enc)
|
||||
env.RunTest([dec, "encode_stream.output"])
|
||||
|
||||
@@ -18,10 +18,11 @@ strict = opts.Clone()
|
||||
strict.Append(CFLAGS = strict['CORECFLAGS'])
|
||||
strict.Object("pb_decode_bufonly.o", "$NANOPB/pb_decode.c")
|
||||
strict.Object("pb_encode_bufonly.o", "$NANOPB/pb_encode.c")
|
||||
strict.Object("pb_common_bufonly.o", "$NANOPB/pb_common.c")
|
||||
|
||||
# Now build and run the test normally.
|
||||
enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_bufonly.o"])
|
||||
dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_bufonly.o"])
|
||||
enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_bufonly.o", "pb_common_bufonly.o"])
|
||||
dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_bufonly.o", "pb_common_bufonly.o"])
|
||||
|
||||
env.RunTest(enc)
|
||||
env.RunTest([dec, "encode_alltypes.output"])
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
Import("env")
|
||||
|
||||
env.NanopbProto("callbacks")
|
||||
enc = env.Program(["encode_callbacks.c", "callbacks.pb.c", "$COMMON/pb_encode.o"])
|
||||
dec = env.Program(["decode_callbacks.c", "callbacks.pb.c", "$COMMON/pb_decode.o"])
|
||||
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"])
|
||||
|
||||
@@ -14,4 +14,4 @@ strict = env.Clone()
|
||||
strict.Append(CFLAGS = strict['CORECFLAGS'])
|
||||
strict.Object("pb_decode.o", "$NANOPB/pb_decode.c")
|
||||
strict.Object("pb_encode.o", "$NANOPB/pb_encode.c")
|
||||
|
||||
strict.Object("pb_common.o", "$NANOPB/pb_common.c")
|
||||
|
||||
@@ -11,14 +11,15 @@ env.Append(CPPDEFINES = ['__STDC_LIMIT_MACROS'])
|
||||
c = Copy("$TARGET", "$SOURCE")
|
||||
env.Command("pb_encode.cxx", "#../pb_encode.c", c)
|
||||
env.Command("pb_decode.cxx", "#../pb_decode.c", c)
|
||||
env.Command("pb_common.cxx", "#../pb_common.c", c)
|
||||
env.Command("alltypes.pb.h", "$BUILD/alltypes/alltypes.pb.h", c)
|
||||
env.Command("alltypes.pb.cxx", "$BUILD/alltypes/alltypes.pb.c", c)
|
||||
env.Command("encode_alltypes.cxx", "$BUILD/alltypes/encode_alltypes.c", c)
|
||||
env.Command("decode_alltypes.cxx", "$BUILD/alltypes/decode_alltypes.c", c)
|
||||
|
||||
# Now build and run the test normally.
|
||||
enc = env.Program(["encode_alltypes.cxx", "alltypes.pb.cxx", "pb_encode.cxx"])
|
||||
dec = env.Program(["decode_alltypes.cxx", "alltypes.pb.cxx", "pb_decode.cxx"])
|
||||
enc = env.Program(["encode_alltypes.cxx", "alltypes.pb.cxx", "pb_encode.cxx", "pb_common.cxx"])
|
||||
dec = env.Program(["decode_alltypes.cxx", "alltypes.pb.cxx", "pb_decode.cxx", "pb_common.cxx"])
|
||||
|
||||
env.RunTest(enc)
|
||||
env.RunTest([dec, "encode_alltypes.output"])
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/* This includes the whole .c file to get access to static functions. */
|
||||
#define PB_ENABLE_MALLOC
|
||||
#include "pb_common.c"
|
||||
#include "pb_decode.c"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/* This includes the whole .c file to get access to static functions. */
|
||||
#include "pb_common.c"
|
||||
#include "pb_encode.c"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -8,8 +8,8 @@ incpath.Append(PROTOCPATH = '$BUILD/alltypes')
|
||||
incpath.Append(CPPPATH = '$BUILD/alltypes')
|
||||
|
||||
incpath.NanopbProto(["extensions", "extensions.options"])
|
||||
enc = incpath.Program(["encode_extensions.c", "extensions.pb.c", "$BUILD/alltypes/alltypes.pb$OBJSUFFIX", "$COMMON/pb_encode.o"])
|
||||
dec = incpath.Program(["decode_extensions.c", "extensions.pb.c", "$BUILD/alltypes/alltypes.pb$OBJSUFFIX", "$COMMON/pb_decode.o"])
|
||||
enc = incpath.Program(["encode_extensions.c", "extensions.pb.c", "$BUILD/alltypes/alltypes.pb.o", "$COMMON/pb_encode.o", "$COMMON/pb_common.o"])
|
||||
dec = incpath.Program(["decode_extensions.c", "extensions.pb.c", "$BUILD/alltypes/alltypes.pb.o", "$COMMON/pb_decode.o", "$COMMON/pb_common.o"])
|
||||
|
||||
env.RunTest(enc)
|
||||
env.RunTest([dec, "encode_extensions.output"])
|
||||
|
||||
@@ -19,10 +19,11 @@ strict = opts.Clone()
|
||||
strict.Append(CFLAGS = strict['CORECFLAGS'])
|
||||
strict.Object("pb_decode_fields16.o", "$NANOPB/pb_decode.c")
|
||||
strict.Object("pb_encode_fields16.o", "$NANOPB/pb_encode.c")
|
||||
strict.Object("pb_common_fields16.o", "$NANOPB/pb_common.c")
|
||||
|
||||
# Now build and run the test normally.
|
||||
enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_fields16.o"])
|
||||
dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_fields16.o"])
|
||||
enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_fields16.o", "pb_common_fields16.o"])
|
||||
dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_fields16.o", "pb_common_fields16.o"])
|
||||
|
||||
env.RunTest(enc)
|
||||
env.RunTest([dec, "encode_alltypes.output"])
|
||||
|
||||
@@ -19,10 +19,11 @@ strict = opts.Clone()
|
||||
strict.Append(CFLAGS = strict['CORECFLAGS'])
|
||||
strict.Object("pb_decode_fields32.o", "$NANOPB/pb_decode.c")
|
||||
strict.Object("pb_encode_fields32.o", "$NANOPB/pb_encode.c")
|
||||
strict.Object("pb_common_fields32.o", "$NANOPB/pb_common.c")
|
||||
|
||||
# Now build and run the test normally.
|
||||
enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_fields32.o"])
|
||||
dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_fields32.o"])
|
||||
enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_fields32.o", "pb_common_fields32.o"])
|
||||
dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_fields32.o", "pb_common_fields32.o"])
|
||||
|
||||
env.RunTest(enc)
|
||||
env.RunTest([dec, "encode_alltypes.output"])
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
Import("env")
|
||||
|
||||
env.NanopbProto("missing_fields")
|
||||
test = env.Program(["missing_fields.c", "missing_fields.pb.c", "$COMMON/pb_encode.o", "$COMMON/pb_decode.o"])
|
||||
test = env.Program(["missing_fields.c", "missing_fields.pb.c", "$COMMON/pb_encode.o", "$COMMON/pb_decode.o", "$COMMON/pb_common.o"])
|
||||
env.RunTest(test)
|
||||
|
||||
|
||||
@@ -18,10 +18,11 @@ strict = opts.Clone()
|
||||
strict.Append(CFLAGS = strict['CORECFLAGS'])
|
||||
strict.Object("pb_decode_noerr.o", "$NANOPB/pb_decode.c")
|
||||
strict.Object("pb_encode_noerr.o", "$NANOPB/pb_encode.c")
|
||||
strict.Object("pb_common_noerr.o", "$NANOPB/pb_common.c")
|
||||
|
||||
# Now build and run the test normally.
|
||||
enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_noerr.o"])
|
||||
dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_noerr.o"])
|
||||
enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_noerr.o", "pb_common_noerr.o"])
|
||||
dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_noerr.o", "pb_common_noerr.o"])
|
||||
|
||||
env.RunTest(enc)
|
||||
env.RunTest([dec, "encode_alltypes.output"])
|
||||
|
||||
@@ -29,7 +29,7 @@ def modify_c(target, source, env):
|
||||
env.Command("encode_alltypes.c", "#alltypes/encode_alltypes.c", modify_c)
|
||||
|
||||
# Encode and compare results to original alltypes testcase
|
||||
enc = env.Program(["encode_alltypes.c", "alltypes.pb.c", "$COMMON/pb_encode.o"])
|
||||
enc = env.Program(["encode_alltypes.c", "alltypes.pb.c", "$COMMON/pb_encode.o", "$COMMON/pb_common.o"])
|
||||
refdec = "$BUILD/alltypes/decode_alltypes$PROGSUFFIX"
|
||||
env.RunTest(enc)
|
||||
env.Compare(["encode_alltypes.output", "$BUILD/alltypes/encode_alltypes.output"])
|
||||
|
||||
@@ -11,3 +11,6 @@ if p:
|
||||
env.Command('pb_encode.splint', '$NANOPB/pb_encode.c',
|
||||
'splint -f splint/splint.rc $SOURCE 2> $TARGET')
|
||||
|
||||
env.Command('pb_common.splint', '$NANOPB/pb_common.c',
|
||||
'splint -f splint/splint.rc $SOURCE 2> $TARGET')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user