1# Run the alltypes test case, but compile with PB_FIELD_16BIT=1. 2# Also the .proto file has been modified to have high indexes. 3 4Import("env") 5 6# Take copy of the files for custom build. 7c = Copy("$TARGET", "$SOURCE") 8env.Command("encode_alltypes.c", "$BUILD/alltypes/encode_alltypes.c", c) 9env.Command("decode_alltypes.c", "$BUILD/alltypes/decode_alltypes.c", c) 10 11env.NanopbProto(["alltypes", "alltypes.options"]) 12 13# Define the compilation options 14opts = env.Clone() 15opts.Append(CPPDEFINES = {'PB_FIELD_16BIT': 1}) 16 17# Build new version of core 18strict = opts.Clone() 19strict.Append(CFLAGS = strict['CORECFLAGS']) 20strict.Object("pb_decode_fields16.o", "$NANOPB/pb_decode.c") 21strict.Object("pb_encode_fields16.o", "$NANOPB/pb_encode.c") 22strict.Object("pb_common_fields16.o", "$NANOPB/pb_common.c") 23 24# Now build and run the test normally. 25enc = opts.Program(["encode_alltypes.c", "alltypes.pb.c", "pb_encode_fields16.o", "pb_common_fields16.o"]) 26dec = opts.Program(["decode_alltypes.c", "alltypes.pb.c", "pb_decode_fields16.o", "pb_common_fields16.o"]) 27 28env.RunTest(enc) 29env.RunTest([dec, "encode_alltypes.output"]) 30 31env.RunTest("optionals.output", enc, ARGS = ['1']) 32env.RunTest("optionals.decout", [dec, "optionals.output"], ARGS = ['1']) 33