python/qemu: delint and add pylintrc

Bring our these files up to speed with pylint 2.5.0.
Add a pylintrc file to formalize which pylint subset
we are targeting.

The similarity ignore is there to suppress similarity
reports across imports, which for typing constants,
are going to trigger this report erroneously.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200528222129.23826-4-jsnow@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
John Snow 2020-05-28 18:21:28 -04:00 committed by Philippe Mathieu-Daudé
parent 053774bdec
commit 9b8ccd6d5b
3 changed files with 88 additions and 18 deletions

View File

@ -58,7 +58,7 @@ class MonitorResponseError(qmp.QMPError):
self.reply = reply self.reply = reply
class QEMUMachine(object): class QEMUMachine:
""" """
A QEMU VM A QEMU VM
@ -239,7 +239,7 @@ class QEMUMachine(object):
'chardev=mon,mode=control']) 'chardev=mon,mode=control'])
if self._machine is not None: if self._machine is not None:
args.extend(['-machine', self._machine]) args.extend(['-machine', self._machine])
for i in range(self._console_index): for _ in range(self._console_index):
args.extend(['-serial', 'null']) args.extend(['-serial', 'null'])
if self._console_set: if self._console_set:
self._console_address = os.path.join(self._sock_dir, self._console_address = os.path.join(self._sock_dir,
@ -374,7 +374,7 @@ class QEMUMachine(object):
command = ' '.join(self._qemu_full_args) command = ' '.join(self._qemu_full_args)
else: else:
command = '' command = ''
LOG.warning(msg, -exitcode, command) LOG.warning(msg, -int(exitcode), command)
self._launched = False self._launched = False

58
python/qemu/pylintrc Normal file
View File

@ -0,0 +1,58 @@
[MASTER]
[MESSAGES CONTROL]
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=too-many-arguments,
too-many-instance-attributes,
too-many-public-methods,
[REPORTS]
[REFACTORING]
[MISCELLANEOUS]
[LOGGING]
[BASIC]
# Good variable names which should always be accepted, separated by a comma.
good-names=i,
j,
k,
ex,
Run,
_,
fd,
[VARIABLES]
[STRING]
[SPELLING]
[FORMAT]
[SIMILARITIES]
# Ignore imports when computing similarities.
ignore-imports=yes
[TYPECHECK]
[CLASSES]
[IMPORTS]
[DESIGN]
[EXCEPTIONS]

View File

@ -1,5 +1,11 @@
# QEMU qtest library """
# QEMU qtest library
qtest offers the QEMUQtestProtocol and QEMUQTestMachine classes, which
offer a connection to QEMU's qtest protocol socket, and a qtest-enabled
subclass of QEMUMachine, respectively.
"""
# Copyright (C) 2015 Red Hat Inc. # Copyright (C) 2015 Red Hat Inc.
# #
# Authors: # Authors:
@ -17,19 +23,21 @@ import os
from .machine import QEMUMachine from .machine import QEMUMachine
class QEMUQtestProtocol(object): class QEMUQtestProtocol:
def __init__(self, address, server=False): """
""" QEMUQtestProtocol implements a connection to a qtest socket.
Create a QEMUQtestProtocol object.
@param address: QEMU address, can be either a unix socket path (string) :param address: QEMU address, can be either a unix socket path (string)
or a tuple in the form ( address, port ) for a TCP or a tuple in the form ( address, port ) for a TCP
connection connection
@param server: server mode, listens on the socket (bool) :param server: server mode, listens on the socket (bool)
@raise socket.error on socket connection errors :raise socket.error: on socket connection errors
@note No connection is established, this is done by the connect() or
accept() methods .. note::
""" No conection is estabalished by __init__(), this is done
by the connect() or accept() methods.
"""
def __init__(self, address, server=False):
self._address = address self._address = address
self._sock = self._get_sock() self._sock = self._get_sock()
self._sockfile = None self._sockfile = None
@ -73,15 +81,19 @@ class QEMUQtestProtocol(object):
return resp return resp
def close(self): def close(self):
"""Close this socket."""
self._sock.close() self._sock.close()
self._sockfile.close() self._sockfile.close()
def settimeout(self, timeout): def settimeout(self, timeout):
"""Set a timeout, in seconds."""
self._sock.settimeout(timeout) self._sock.settimeout(timeout)
class QEMUQtestMachine(QEMUMachine): class QEMUQtestMachine(QEMUMachine):
'''A QEMU VM''' """
A QEMU VM, with a qtest socket available.
"""
def __init__(self, binary, args=None, name=None, test_dir="/var/tmp", def __init__(self, binary, args=None, name=None, test_dir="/var/tmp",
socket_scm_helper=None, sock_dir=None): socket_scm_helper=None, sock_dir=None):