##// END OF EJS Templates
check-code: Add a ``checkfile`` function...
Pierre-Yves David -
r10717:b1f4fcef default
parent child Browse files
Show More
@@ -133,6 +133,36 b' checks = ['
133 ('test script', r'(.*/)?test-[^.~]*$', testfilters, testpats),
133 ('test script', r'(.*/)?test-[^.~]*$', testfilters, testpats),
134 ('c', r'.*\.c$', cfilters, cpats),
134 ('c', r'.*\.c$', cfilters, cpats),
135 ]
135 ]
136 def checkfile(f):
137 """checks style and portability of a given file"""
138 for name, match, filters, pats in checks:
139 fc = 0
140 if not re.match(match, f):
141 continue
142 pre = post = open(f).read()
143 if "no-" + "check-code" in pre:
144 break
145 for p, r in filters:
146 post = re.sub(p, r, post)
147 # print post # uncomment to show filtered version
148 z = enumerate(zip(pre.splitlines(), post.splitlines(True)))
149 for n, l in z:
150 if "check-code" + "-ignore" in l[0]:
151 continue
152 lc = 0
153 for p, msg in pats:
154 if re.search(p, l[1]):
155 if not lc:
156 print "%s:%d:" % (f, n + 1)
157 print " > %s" % l[0]
158 print " %s" % msg
159 lc += 1
160 fc += 1
161 if fc == 15:
162 print " (too many errors, giving up)"
163 break
164 break
165
136
166
137 if __name__ == "__main__":
167 if __name__ == "__main__":
138 if len(sys.argv) == 1:
168 if len(sys.argv) == 1:
@@ -141,30 +171,4 b' if __name__ == "__main__":'
141 check = sys.argv[1:]
171 check = sys.argv[1:]
142
172
143 for f in check:
173 for f in check:
144 for name, match, filters, pats in checks:
174 checkfile(f)
145 fc = 0
146 if not re.match(match, f):
147 continue
148 pre = post = open(f).read()
149 if "no-" + "check-code" in pre:
150 break
151 for p, r in filters:
152 post = re.sub(p, r, post)
153 # print post # uncomment to show filtered version
154 z = enumerate(zip(pre.splitlines(), post.splitlines(True)))
155 for n, l in z:
156 if "check-code" + "-ignore" in l[0]:
157 continue
158 lc = 0
159 for p, msg in pats:
160 if re.search(p, l[1]):
161 if not lc:
162 print "%s:%d:" % (f, n + 1)
163 print " > %s" % l[0]
164 print " %s" % msg
165 lc += 1
166 fc += 1
167 if fc == 15:
168 print " (too many errors, giving up)"
169 break
170 break
General Comments 0
You need to be logged in to leave comments. Login now