Skip to content

Commit

Permalink
python/qemu: delint and add pylintrc
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
jnsnow authored and philmd committed May 31, 2020
1 parent 053774b commit 9b8ccd6
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 18 deletions.
6 changes: 3 additions & 3 deletions python/qemu/machine.py
Expand Up @@ -58,7 +58,7 @@ def __init__(self, reply):
self.reply = reply


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

self._launched = False

Expand Down
58 changes: 58 additions & 0 deletions python/qemu/pylintrc
@@ -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]
42 changes: 27 additions & 15 deletions python/qemu/qtest.py
@@ -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.
#
# Authors:
Expand All @@ -17,19 +23,21 @@
from .machine import QEMUMachine


class QEMUQtestProtocol(object):
def __init__(self, address, server=False):
"""
Create a QEMUQtestProtocol object.
class QEMUQtestProtocol:
"""
QEMUQtestProtocol implements a connection to a qtest socket.
@param address: QEMU address, can be either a unix socket path (string)
or a tuple in the form ( address, port ) for a TCP
connection
@param server: server mode, listens on the socket (bool)
@raise socket.error on socket connection errors
@note No connection is established, this is done by the connect() or
accept() methods
"""
:param address: QEMU address, can be either a unix socket path (string)
or a tuple in the form ( address, port ) for a TCP
connection
:param server: server mode, listens on the socket (bool)
:raise socket.error: on socket connection errors
.. 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._sock = self._get_sock()
self._sockfile = None
Expand Down Expand Up @@ -73,15 +81,19 @@ def cmd(self, qtest_cmd):
return resp

def close(self):
"""Close this socket."""
self._sock.close()
self._sockfile.close()

def settimeout(self, timeout):
"""Set a timeout, in seconds."""
self._sock.settimeout(timeout)


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",
socket_scm_helper=None, sock_dir=None):
Expand Down

0 comments on commit 9b8ccd6

Please sign in to comment.