# Test the 'oneof' feature for generating C unions.

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'])

env.RunTest("message1.pb", enc, ARGS = ['1'])
env.RunTest("message1.txt", [dec, 'message1.pb'], ARGS = ['1'])
env.RunTest("message2.pb", enc, ARGS = ['2'])
env.RunTest("message2.txt", [dec, 'message2.pb'], ARGS = ['2'])
env.RunTest("message3.pb", enc, ARGS = ['3'])
env.RunTest("message3.txt", [dec, 'message3.pb'], ARGS = ['3'])