Mercurial > public > mercurial-scm > hg-stable
comparison contrib/check-code.py @ 12364:e128fa4615f2
check-code: add some basic support for unified tests
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Tue, 21 Sep 2010 12:41:24 -0500 |
parents | 73112cb2a6d7 |
children | c01dc9087d9a |
comparison
equal
deleted
inserted
replaced
12363:8a5b6383ba02 | 12364:e128fa4615f2 |
---|---|
66 ] | 66 ] |
67 | 67 |
68 testfilters = [ | 68 testfilters = [ |
69 (r"( *)(#([^\n]*\S)?)", repcomment), | 69 (r"( *)(#([^\n]*\S)?)", repcomment), |
70 (r"<<(\S+)((.|\n)*?\n\1)", rephere), | 70 (r"<<(\S+)((.|\n)*?\n\1)", rephere), |
71 ] | |
72 | |
73 uprefix = r"^ \$ " | |
74 utestpats = [ | |
75 (uprefix + r'(true|exit 0)', "explicit zero exit unnecessary"), | |
76 (uprefix + r'.*\$\?', "explicit exit code checks unnecessary"), | |
77 (uprefix + r'.*\|\| echo.*(fail|error)', | |
78 "explicit exit code checks unnecessary"), | |
79 (uprefix + r'set -e', "don't use set -e"), | |
80 ] | |
81 | |
82 for p, m in testpats: | |
83 if p.startswith('^'): | |
84 p = uprefix + p[1:] | |
85 else: | |
86 p = uprefix + p | |
87 utestpats.append((p, m)) | |
88 | |
89 utestfilters = [ | |
90 (r"( *)(#([^\n]*\S)?)", repcomment), | |
71 ] | 91 ] |
72 | 92 |
73 pypats = [ | 93 pypats = [ |
74 (r'^\s*def\s*\w+\s*\(.*,\s*\(', | 94 (r'^\s*def\s*\w+\s*\(.*,\s*\(', |
75 "tuple parameter unpacking not available in Python 3+"), | 95 "tuple parameter unpacking not available in Python 3+"), |
155 | 175 |
156 checks = [ | 176 checks = [ |
157 ('python', r'.*\.(py|cgi)$', pyfilters, pypats), | 177 ('python', r'.*\.(py|cgi)$', pyfilters, pypats), |
158 ('test script', r'(.*/)?test-[^.~]*$', testfilters, testpats), | 178 ('test script', r'(.*/)?test-[^.~]*$', testfilters, testpats), |
159 ('c', r'.*\.c$', cfilters, cpats), | 179 ('c', r'.*\.c$', cfilters, cpats), |
180 ('unified test', r'.*\.t$', utestfilters, utestpats), | |
160 ] | 181 ] |
161 | 182 |
162 class norepeatlogger(object): | 183 class norepeatlogger(object): |
163 def __init__(self): | 184 def __init__(self): |
164 self._lastseen = None | 185 self._lastseen = None |