# Test decoder callback support inside oneofs.

Import('env')

env.NanopbProto('oneof')

enc = env.Program(['encode_oneof.c',
                'oneof.pb.c',
                '$COMMON/pb_encode.o',
                '$COMMON/pb_common.o'])

dec = env.Program(['decode_oneof.c',
                'oneof.pb.c',
                '$COMMON/pb_decode.o',
                '$COMMON/pb_common.o'])

for i in range(1,7):
    # Encode message, then decode with protoc and test program and compare.
    e = env.RunTest("message%d.pb" % i, enc, ARGS = [str(i)])
    d1 = env.Decode([e, "oneof.proto"], MESSAGE = "OneOfMessage")
    d2 = env.RunTest("message%d.txt" % i, [dec, e])
    env.Compare([d1, d2])
