mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-21 07:58:04 +00:00
27 lines
974 B
Python
27 lines
974 B
Python
|
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||
|
# For details: https://github.com/PyCQA/pylint/blob/master/COPYING
|
||
|
|
||
|
import operator
|
||
|
import re
|
||
|
import sys
|
||
|
from os.path import abspath, dirname
|
||
|
|
||
|
SYS_VERS_STR = "%d%d%d" % sys.version_info[:3]
|
||
|
TITLE_UNDERLINES = ["", "=", "-", "."]
|
||
|
PREFIX = abspath(dirname(__file__))
|
||
|
UPDATE_OPTION = "--update-functional-output"
|
||
|
# Common sub-expressions.
|
||
|
_MESSAGE = {"msg": r"[a-z][a-z\-]+"}
|
||
|
# Matches a #,
|
||
|
# - followed by a comparison operator and a Python version (optional),
|
||
|
# - followed by a line number with a +/- (optional),
|
||
|
# - followed by a list of bracketed message symbols.
|
||
|
# Used to extract expected messages from testdata files.
|
||
|
_EXPECTED_RE = re.compile(
|
||
|
r"\s*#\s*(?:(?P<line>[+-]?[0-9]+):)?"
|
||
|
r"(?:(?P<op>[><=]+) *(?P<version>[0-9.]+):)?"
|
||
|
r"\s*\[(?P<msgs>%(msg)s(?:,\s*%(msg)s)*)]" % _MESSAGE
|
||
|
)
|
||
|
|
||
|
_OPERATORS = {">": operator.gt, "<": operator.lt, ">=": operator.ge, "<=": operator.le}
|