@@ -5,8 +5,11 @@
# SPDX-License-Identifier: GPL-2.0-only
import base
+from io import StringIO
from data import PatchTestInput
-import pylint.epylint as lint
+from pylint.reporters.text import TextReporter
+import pylint.lint as lint
+
class PyLint(base.Base):
pythonpatches = []
@@ -32,8 +35,10 @@ class PyLint(base.Base):
def pretest_pylint(self):
for pythonpatch in self.pythonpatches:
if pythonpatch.is_modified_file:
- (pylint_stdout, pylint_stderr) = lint.py_run(command_options = pythonpatch.path + self.pylint_options, return_std=True)
- for line in pylint_stdout.readlines():
+ pylint_output = StringIO()
+ 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 line.strip():
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:]
else:
path = pythonpatch.path
- (pylint_stdout, pylint_stderr) = lint.py_run(command_options = path + self.pylint_options, return_std=True)
- for line in pylint_stdout.readlines():
+ pylint_output = StringIO()
+ 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 line.strip():
self.pylint_test[line.strip().split(' ',1)[0]] = line.strip().split(' ',1)[1]