1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-03 13:49:49 +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: 8b3c6837fe2367fa7aa20b2ee5be554be98f2acd)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 72be3d6a116febf46130cccbe12afe5ad93779b5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Trevor Gamblin
2023-10-31 14:16:13 -04:00
committed by Steve Sakoman
parent d1c1d93077
commit 52e8e9e2b6
+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]