Browse Source
To avoid that new pylint-related warnings get committed, let's check the files with pylint during each run (similar to what we are doing for the iotests already). Message-Id: <20251119082636.43286-16-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>pull/316/head
3 changed files with 43 additions and 0 deletions
@ -0,0 +1,41 @@ |
|||
#!/usr/bin/env python3 |
|||
# |
|||
# SPDX-License-Identifier: GPL-2.0-or-later |
|||
# |
|||
'''Python linter tests''' |
|||
|
|||
import os |
|||
|
|||
from pathlib import Path |
|||
from qemu_test import QemuBaseTest, skipIfMissingImports |
|||
|
|||
|
|||
class LinterTest(QemuBaseTest): |
|||
''' |
|||
Run python linters on the test *.py files |
|||
''' |
|||
|
|||
@skipIfMissingImports("pylint") |
|||
def test_pylint(self): |
|||
'''Check source files with pylint''' |
|||
from pylint.lint import Run as pylint_run |
|||
from pylint.reporters.collecting_reporter import CollectingReporter |
|||
srcdir = os.path.join(Path(__file__).parent.parent, self.arch) |
|||
rcfile = os.path.join(Path(__file__).parent.parent, "pylintrc") |
|||
self.log.info('Checking files in %s with pylint', srcdir) |
|||
reporter = CollectingReporter() |
|||
pylint_run(["--rcfile", rcfile, srcdir], reporter=reporter, exit=False) |
|||
if reporter.messages: |
|||
fmt = '"{path}:{line}: {msg_id}: {msg} ({symbol})"' |
|||
for msg in reporter.messages: |
|||
if msg.category == "error": |
|||
self.log.error(msg.format(fmt)) |
|||
elif msg.category == "warning": |
|||
self.log.warning(msg.format(fmt)) |
|||
else: |
|||
self.log.info(msg.format(fmt)) |
|||
self.fail("Pylint failed, see base.log for details.") |
|||
|
|||
|
|||
if __name__ == '__main__': |
|||
QemuBaseTest.main() |
|||
Loading…
Reference in new issue