author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Fri, 04 Nov 2022 19:38:47 -0400 | |
changeset 49730 | 266bb5c86f4b |
parent 48966 | 6000f5b25c9b |
child 50486 | e07dc1e7a454 |
permissions | -rwxr-xr-x |
45849
c102b704edb5
global: use python3 in shebangs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
43076
diff
changeset
|
1 |
#!/usr/bin/env python3 |
14140
82f0412ef7de
tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff
changeset
|
2 |
|
82f0412ef7de
tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff
changeset
|
3 |
# Filter output by pyflakes to control which warnings we check |
82f0412ef7de
tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff
changeset
|
4 |
|
27285
aef5b606d3ee
tests/filterpyflakes: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26023
diff
changeset
|
5 |
|
aef5b606d3ee
tests/filterpyflakes: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26023
diff
changeset
|
6 |
import re |
aef5b606d3ee
tests/filterpyflakes: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26023
diff
changeset
|
7 |
import sys |
14140
82f0412ef7de
tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff
changeset
|
8 |
|
14173
419539ea79cb
test-pyflake: improve sorting algorithm
timeless <timeless@mozdev.org>
parents:
14140
diff
changeset
|
9 |
lines = [] |
14140
82f0412ef7de
tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff
changeset
|
10 |
for line in sys.stdin: |
30430
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
11 |
# We blacklist tests that are too noisy for us |
14175
b452abffcb15
tests: add pyflakes checking for assigned to but never used
timeless <timeless@mozdev.org>
parents:
14173
diff
changeset
|
12 |
pats = [ |
32317
80e3002cd29e
tests: remove special handling for undefined memoryview
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30430
diff
changeset
|
13 |
r"undefined name 'WindowsError'", |
30430
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
14 |
r"redefinition of unused '[^']+' from line", |
32543
50eaccb8353f
filterpyflakes: allow reexporting pure symbols from cffi modules
Yuya Nishihara <yuya@tcha.org>
parents:
32317
diff
changeset
|
15 |
# for cffi, allow re-exports from pure.* |
50eaccb8353f
filterpyflakes: allow reexporting pure symbols from cffi modules
Yuya Nishihara <yuya@tcha.org>
parents:
32317
diff
changeset
|
16 |
r"cffi/[^:]*:.*\bimport \*' used", |
50eaccb8353f
filterpyflakes: allow reexporting pure symbols from cffi modules
Yuya Nishihara <yuya@tcha.org>
parents:
32317
diff
changeset
|
17 |
r"cffi/[^:]*:.*\*' imported but unused", |
30430
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
18 |
] |
21293
507ce509fd22
filterpyflakes: make memoryview filtering unconditional
Matt Mackall <mpm@selenic.com>
parents:
21271
diff
changeset
|
19 |
|
30430
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
20 |
keep = True |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
21 |
for pat in pats: |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
22 |
if re.search(pat, line): |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
23 |
keep = False |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
33367
diff
changeset
|
24 |
break # pattern matches |
30430
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
25 |
if keep: |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
26 |
fn = line.split(':', 1)[0] |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
27 |
f = open(fn) |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
28 |
data = f.read() |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
29 |
f.close() |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
30 |
if 'no-' 'check-code' in data: |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
31 |
continue |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
32 |
lines.append(line) |
14173
419539ea79cb
test-pyflake: improve sorting algorithm
timeless <timeless@mozdev.org>
parents:
14140
diff
changeset
|
33 |
|
30430
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30404
diff
changeset
|
34 |
for line in lines: |
14140
82f0412ef7de
tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff
changeset
|
35 |
sys.stdout.write(line) |
28724
cf339d6ac7c7
py3: use print_function in filterpyflakes.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
27285
diff
changeset
|
36 |
print() |