Imported Upstream version 1.35.0
[platform/upstream/grpc.git] / third_party / upb / benchmarks / gen_protobuf_binary_cc.py
1
2 import sys
3 import re
4
5 include = sys.argv[1]
6 msg_basename = sys.argv[2]
7 count = 1
8
9 m = re.search(r'(.*\D)(\d+)$', sys.argv[2])
10 if m:
11   msg_basename = m.group(1)
12   count = int(m.group(2))
13
14 print('''
15 #include "{include}"
16
17 char buf[1];
18
19 int main() {{
20 '''.format(include=include))
21
22 def RefMessage(name):
23   print('''
24   {{
25     {name} proto;
26     proto.ParseFromArray(buf, 0);
27     proto.SerializePartialToArray(&buf[0], 0);
28   }}
29   '''.format(name=name))
30
31 RefMessage(msg_basename)
32
33 for i in range(2, count + 1):
34   RefMessage(msg_basename + str(i))
35
36 print('''
37   return 0;
38 }''')