blob: d99471f07fce9b22ed16351fb01b94f5c6def7cb [file] [log] [blame]
ncteisen920bf3c2017-07-14 19:09:40 -07001#!/usr/bin/env python
2
3# Copyright 2017 gRPC authors.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17from __future__ import print_function
18
19import os
20import sys
21import re
22
23os.chdir(os.path.join(os.path.dirname(sys.argv[0]), '../../..'))
24
25errors = 0
26tracers = []
27pattern = re.compile("GRPC_TRACER_INITIALIZER\((true|false), \"(.*)\"\)")
28for root, dirs, files in os.walk('src/core'):
29 for filename in files:
30 path = os.path.join(root, filename)
31 if os.path.splitext(path)[1] != '.c': continue
32 with open(path) as f:
33 text = f.readlines()
34 for i in range(len(text)):
35 if "grpc_tracer_flag" in text[i]:
36 line = text[i].replace('\n', ' ')
37 j = i
38 while ";" not in text[j]:
39 j += 1
40 line += text[j].replace('\n', ' ')
41 if "GRPC_TRACER_INITIALIZER" not in line: continue
42 t = pattern.search(line).group(2)
43 if t not in tracers: tracers.append(t)
44
45with open('doc/environment_variables.md') as f:
46 text = f.read()
47
48for t in tracers:
49 if t not in text:
50 print("ERROR: tracer \"%s\" is not mentioned in doc/environment_variables.md" % t)
51 errors += 1
52
53
54assert errors == 0