view tests/filterpyflakes.py @ 31177:a7cabac20b62

ui: fix opts labeling on ui.warn et al for Python 3 This is a step towards fixing extension load warnings on Python 3. Note that I suspect there are still some bugs in this area and that things like color won't work, but the code at least executes and prints text to the console correctly now.
author Augie Fackler <raf@durin42.com>
date Fri, 03 Mar 2017 14:08:24 -0500
parents 21772a6a7861
children 80e3002cd29e
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|memoryview)'",
        r"redefinition of unused '[^']+' from line",
    ]

    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()

# self test of "undefined name" detection for other than 'memoryview'
if False:
    print(memoryview)
    print(undefinedname)