1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 01:19:52 +00:00

patchtest: make pylint tests compatible with 3.x

pylint 3.x has removed epylint, which is now a separate module. To avoid
adding another recipe or using outdated modules, modify the
test_python_pylint tests so that they use the standard pylint API.

(From OE-Core rev: 72be3d6a116febf46130cccbe12afe5ad93779b5)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Trevor Gamblin
2023-10-31 14:16:13 -04:00
committed by Richard Purdie
parent 2bddb6bb97
commit 3ad5aa3f16
+12 -5
View File
@@ -5,8 +5,11 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
import base import base
from io import StringIO
from data import PatchTestInput from data import PatchTestInput
import pylint.epylint as lint from pylint.reporters.text import TextReporter
import pylint.lint as lint
class PyLint(base.Base): class PyLint(base.Base):
pythonpatches = [] pythonpatches = []
@@ -32,8 +35,10 @@ class PyLint(base.Base):
def pretest_pylint(self): def pretest_pylint(self):
for pythonpatch in self.pythonpatches: for pythonpatch in self.pythonpatches:
if pythonpatch.is_modified_file: if pythonpatch.is_modified_file:
(pylint_stdout, pylint_stderr) = lint.py_run(command_options = pythonpatch.path + self.pylint_options, return_std=True) pylint_output = StringIO()
for line in pylint_stdout.readlines(): reporter = TextReporter(pylint_output)
lint.Run([self.pylint_options, pythonpatch.path], reporter=reporter, exit=False)
for line in pylint_output.readlines():
if not '*' in line: if not '*' in line:
if line.strip(): if line.strip():
self.pylint_pretest[line.strip().split(' ',1)[0]] = line.strip().split(' ',1)[1] self.pylint_pretest[line.strip().split(' ',1)[0]] = line.strip().split(' ',1)[1]
@@ -46,8 +51,10 @@ class PyLint(base.Base):
path = pythonpatch.target_file[2:] path = pythonpatch.target_file[2:]
else: else:
path = pythonpatch.path path = pythonpatch.path
(pylint_stdout, pylint_stderr) = lint.py_run(command_options = path + self.pylint_options, return_std=True) pylint_output = StringIO()
for line in pylint_stdout.readlines(): reporter = TextReporter(pylint_output)
lint.Run([self.pylint_options, pythonpatch.path], reporter=reporter, exit=False)
for line in pylint_output.readlines():
if not '*' in line: if not '*' in line:
if line.strip(): if line.strip():
self.pylint_test[line.strip().split(' ',1)[0]] = line.strip().split(' ',1)[1] self.pylint_test[line.strip().split(' ',1)[0]] = line.strip().split(' ',1)[1]