Only run oneof test when protoc >= 2.6 is available
[apps/agl-service-can-low-level.git] / tests / oneof / SConscript
1 # Test the 'oneof' feature for generating C unions.
2
3 Import('env')
4
5 import re
6 version = re.search('([0-9]+).([0-9]+).([0-9]+)', 'libprotoc 3.0.0').groups()
7
8 # Oneof is supported by protoc >= 2.6.0
9 if int(version[0]) > 2 or (int(version[0]) == 2 and int(version[1]) >= 6):
10     env.NanopbProto('oneof')
11
12     enc = env.Program(['encode_oneof.c',
13                     'oneof.pb.c',
14                     '$COMMON/pb_encode.o',
15                     '$COMMON/pb_common.o'])
16
17     dec = env.Program(['decode_oneof.c',
18                     'oneof.pb.c',
19                     '$COMMON/pb_decode.o',
20                     '$COMMON/pb_common.o'])
21
22     env.RunTest("message1.pb", enc, ARGS = ['1'])
23     env.RunTest("message1.txt", [dec, 'message1.pb'], ARGS = ['1'])
24     env.RunTest("message2.pb", enc, ARGS = ['2'])
25     env.RunTest("message2.txt", [dec, 'message2.pb'], ARGS = ['2'])
26     env.RunTest("message3.pb", enc, ARGS = ['3'])
27     env.RunTest("message3.txt", [dec, 'message3.pb'], ARGS = ['3'])