Mercurial > hg
view tests/filterpyflakes.py @ 43378:2d31ef3fb494 stable
demandimportpy3: only use lazy extension loader on Python 3.6+
There was an inline comment denoting a bug in the lazy extension
loader on Python 3.5 which prevents it from working there. But the
code was not conditional on the Python version.
The result of this was a myriad of failures on Python 3.5 due to
getattr() and friends not working on lazy extension modules.
By making extension modules non-lazy on Python 3.5, we reduce the
number of test failures from 48 to 22 on that Python version.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 02 Nov 2019 11:42:46 -0700 |
parents | 2372284d9457 |
children | c102b704edb5 |
line wrap: on
line source
#!/usr/bin/env python # Filter output by pyflakes to control which warnings we check from __future__ import absolute_import, print_function import re import sys lines = [] for line in sys.stdin: # We blacklist tests that are too noisy for us pats = [ r"undefined name 'WindowsError'", r"redefinition of unused '[^']+' from line", # for cffi, allow re-exports from pure.* r"cffi/[^:]*:.*\bimport \*' used", r"cffi/[^:]*:.*\*' imported but unused", ] keep = True for pat in pats: if re.search(pat, line): keep = False break # pattern matches if keep: fn = line.split(':', 1)[0] f = open(fn) data = f.read() f.close() if 'no-' 'check-code' in data: continue lines.append(line) for line in lines: sys.stdout.write(line) print()