author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Fri, 01 Sep 2023 11:57:38 +0200 | |
changeset 50915 | d8c8a923ee9b |
parent 50452 | e07dc1e7a454 |
permissions | -rwxr-xr-x |
45830
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: |
30421
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
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 = [ |
32277
80e3002cd29e
tests: remove special handling for undefined memoryview
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30421
diff
changeset
|
13 |
r"undefined name 'WindowsError'", |
30421
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
14 |
r"redefinition of unused '[^']+' from line", |
32510
50eaccb8353f
filterpyflakes: allow reexporting pure symbols from cffi modules
Yuya Nishihara <yuya@tcha.org>
parents:
32277
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:
32277
diff
changeset
|
16 |
r"cffi/[^:]*:.*\bimport \*' used", |
50eaccb8353f
filterpyflakes: allow reexporting pure symbols from cffi modules
Yuya Nishihara <yuya@tcha.org>
parents:
32277
diff
changeset
|
17 |
r"cffi/[^:]*:.*\*' imported but unused", |
30421
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
18 |
] |
21293
507ce509fd22
filterpyflakes: make memoryview filtering unconditional
Matt Mackall <mpm@selenic.com>
parents:
21271
diff
changeset
|
19 |
|
30421
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
20 |
keep = True |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
21 |
for pat in pats: |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
22 |
if re.search(pat, line): |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
23 |
keep = False |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
33367
diff
changeset
|
24 |
break # pattern matches |
30421
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
25 |
if keep: |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
26 |
fn = line.split(':', 1)[0] |
50452
e07dc1e7a454
tests: in filterpyflakes, tolerate non-ascii file contents
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
48875
diff
changeset
|
27 |
with open(fn, 'rb') as f: |
e07dc1e7a454
tests: in filterpyflakes, tolerate non-ascii file contents
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
48875
diff
changeset
|
28 |
data = f.read() |
e07dc1e7a454
tests: in filterpyflakes, tolerate non-ascii file contents
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
48875
diff
changeset
|
29 |
if b'no-' b'check-code' in data: |
30421
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
30 |
continue |
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
31 |
lines.append(line) |
14173
419539ea79cb
test-pyflake: improve sorting algorithm
timeless <timeless@mozdev.org>
parents:
14140
diff
changeset
|
32 |
|
30421
21772a6a7861
filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents:
30394
diff
changeset
|
33 |
for line in lines: |
14140
82f0412ef7de
tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff
changeset
|
34 |
sys.stdout.write(line) |
28724
cf339d6ac7c7
py3: use print_function in filterpyflakes.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
27285
diff
changeset
|
35 |
print() |