# Test anonymous_oneof generator option

Import('env')

# Anonymous oneofs are supported by clang and gcc
if 'clang' in env['CC'] or 'gcc' in env['CC']:
    env2 = env.Clone()
    if '-pedantic' in env2['CFLAGS']:
        env2['CFLAGS'].remove('-pedantic')
    env2.NanopbProto('oneof')

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

    env2.RunTest("message1.txt", [dec, '$BUILD/oneof/message1.pb'], ARGS = ['1'])
    env2.RunTest("message2.txt", [dec, '$BUILD/oneof/message2.pb'], ARGS = ['2'])
    env2.RunTest("message3.txt", [dec, '$BUILD/oneof/message3.pb'], ARGS = ['3'])