annotate tests/filterpyflakes.py @ 45587:768412472663

merge: store cases when a file is absent post merge in commitinfo Some merges can result in file being absent form working directory. This can be one of file was kept deleted or file was removed by merge code. User might revert the file back before committing. In such cases we will like to have better handling and create new filenodes. We store this info in mergestate as commitinfo so that we can use it while committing to create new filenode if required. Differential Revision: https://phab.mercurial-scm.org/D9003
author Pulkit Goyal <7895pulkit@gmail.com>
date Mon, 24 Aug 2020 15:35:34 +0530
parents 2372284d9457
children c102b704edb5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14140
82f0412ef7de tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff changeset
1 #!/usr/bin/env python
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
28724
cf339d6ac7c7 py3: use print_function in filterpyflakes.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 27285
diff changeset
5 from __future__ import absolute_import, print_function
27285
aef5b606d3ee tests/filterpyflakes: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26023
diff changeset
6
aef5b606d3ee tests/filterpyflakes: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26023
diff changeset
7 import re
aef5b606d3ee tests/filterpyflakes: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26023
diff changeset
8 import sys
14140
82f0412ef7de tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff changeset
9
14173
419539ea79cb test-pyflake: improve sorting algorithm
timeless <timeless@mozdev.org>
parents: 14140
diff changeset
10 lines = []
14140
82f0412ef7de tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff changeset
11 for line in sys.stdin:
30421
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
12 # 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
13 pats = [
32277
80e3002cd29e tests: remove special handling for undefined memoryview
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30421
diff changeset
14 r"undefined name 'WindowsError'",
30421
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
15 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
16 # 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
17 r"cffi/[^:]*:.*\bimport \*' used",
50eaccb8353f filterpyflakes: allow reexporting pure symbols from cffi modules
Yuya Nishihara <yuya@tcha.org>
parents: 32277
diff changeset
18 r"cffi/[^:]*:.*\*' imported but unused",
30421
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
19 ]
21293
507ce509fd22 filterpyflakes: make memoryview filtering unconditional
Matt Mackall <mpm@selenic.com>
parents: 21271
diff changeset
20
30421
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
21 keep = True
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
22 for pat in pats:
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
23 if re.search(pat, line):
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
24 keep = False
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33367
diff changeset
25 break # pattern matches
30421
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
26 if keep:
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
27 fn = line.split(':', 1)[0]
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
28 f = open(fn)
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
29 data = f.read()
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
30 f.close()
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
31 if 'no-' 'check-code' in data:
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
32 continue
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
33 lines.append(line)
14173
419539ea79cb test-pyflake: improve sorting algorithm
timeless <timeless@mozdev.org>
parents: 14140
diff changeset
34
30421
21772a6a7861 filterpyflakes: dramatically simplify the entire thing by blacklisting
Augie Fackler <augie@google.com>
parents: 30394
diff changeset
35 for line in lines:
14140
82f0412ef7de tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org>
parents:
diff changeset
36 sys.stdout.write(line)
28724
cf339d6ac7c7 py3: use print_function in filterpyflakes.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 27285
diff changeset
37 print()