On 5/14/20 7:53 AM, John Snow wrote:
> Put the init arg handling all at the top, and mostly in order (deviating
> when one is dependent on another), and put what is effectively runtime
> state declaration at the bottom.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
> python/qemu/lib/machine.py | 29 +++++++++++++++++------------
> 1 file changed, 17 insertions(+), 12 deletions(-)
>
> diff --git a/python/qemu/lib/machine.py b/python/qemu/lib/machine.py
> index 6a4aea7725..beb31be453 100644
> --- a/python/qemu/lib/machine.py
> +++ b/python/qemu/lib/machine.py
> @@ -80,38 +80,43 @@ def __init__(self, binary, args=None, wrapper=None, name=None,
> @param socket_scm_helper: helper program, required for send_fd_scm()
> @note: Qemu process is not started until launch() is used.
> '''
> + # Direct user configuration
> +
> + self._binary = binary
> +
> if args is None:
> args = []
> + # Copy mutable input: we will be modifying our copy
> + self._args = list(args)
> +
> if wrapper is None:
> wrapper = []
> - if name is None:
> - name = "qemu-%d" % os.getpid()
> - if sock_dir is None:
> - sock_dir = test_dir
> - self._name = name
> + self._wrapper = wrapper
> +
> + self._name = name or "qemu-%d" % os.getpid()
> + self._test_dir = test_dir
> + self._sock_dir = sock_dir or self._test_dir
> + self._socket_scm_helper = socket_scm_helper
> +
> if monitor_address is not None:
> self._monitor_address = monitor_address
> self._remove_monitor_sockfile = False
> else:
> self._monitor_address = os.path.join(
> - sock_dir, f"{name}-monitor.sock"
> + self._sock_dir, f"{self._name}-monitor.sock"
> )
> self._remove_monitor_sockfile = True
> +
> + # Runstate
> self._qemu_log_path = None
> self._qemu_log_file = None
> self._popen = None
> - self._binary = binary
> - self._args = list(args) # Force copy args in case we modify them
> - self._wrapper = wrapper
> self._events = []
> self._iolog = None
> - self._socket_scm_helper = socket_scm_helper
> self._qmp_set = True # Enable QMP monitor by default.
> self._qmp = None
> self._qemu_full_args = None
> - self._test_dir = test_dir
> self._temp_dir = None
> - self._sock_dir = sock_dir
> self._launched = False
> self._machine = None
> self._console_index = 0
>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>