From nobody Mon Feb 9 01:30:52 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603215798; cv=none; d=zohomail.com; s=zohoarc; b=B53N6uD6o6jQCJqkYVjlx8/k355EO3a7aj8XrBIfh3Rl7W2dSCaJF3+iMU4lxbWkIjOEmJ71WQU2qcLdqmTFrXa1nOTwCJ8Y4DLlSZ0QVEpv1aux/aowOooffd8VhfHtp6Iww6F0m//qbUw0zO9iusmwcjVgue7DEK2w+TcpFjE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603215798; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hqMp9SIDmS6N1wbREy83KHaWbJw6kbjUjR8MYlYbK2s=; b=SaeAdXFF8EX26fJtrPIRym1uQldn1UfbfcKa5bHzKvzDCima8v4in9ie9pRfHPZQO9OetlpZV3ogZn8yVhtw9dJA7AFaA0+XYDGtUho2GCf1gtibo93ExkxJpTjkCdHoFUVcBODrg7U1XeVpcvvIZAPxJ4+XwsBqippQ5bExlno= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1603215798321390.4270353624744; Tue, 20 Oct 2020 10:43:18 -0700 (PDT) Received: from localhost ([::1]:42280 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUvfJ-0004tk-7K for importer@patchew.org; Tue, 20 Oct 2020 13:43:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35812) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUvQX-0002im-Cu for qemu-devel@nongnu.org; Tue, 20 Oct 2020 13:28:01 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:60412) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kUvQS-00006c-GP for qemu-devel@nongnu.org; Tue, 20 Oct 2020 13:28:01 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-347-SkqEj2fJPierEcv282oRsg-1; Tue, 20 Oct 2020 13:27:53 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 09D2C64082; Tue, 20 Oct 2020 17:27:52 +0000 (UTC) Received: from scv.redhat.com (ovpn-115-172.rdu2.redhat.com [10.10.115.172]) by smtp.corp.redhat.com (Postfix) with ESMTP id 026381992D; Tue, 20 Oct 2020 17:27:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603214875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hqMp9SIDmS6N1wbREy83KHaWbJw6kbjUjR8MYlYbK2s=; b=W4a9fZ1cLpFMaCFIvlQ/DwxbvAnExflbaQQG2ubUEdwNiNlVB61UfxVlVaJnXqvOgPeyfU dGKVavgOmxBjRqyF1DkXeHkibL8HGZsCuBPua4f5v2Kt1RqdBDmzfH6W5G4nidjv8tu/Xu gexUZoWfYUZBnt6z1UMQkGkSggvWxEM= X-MC-Unique: SkqEj2fJPierEcv282oRsg-1 From: John Snow To: qemu-devel@nongnu.org Subject: [PULL 04/21] python/machine.py: reorder __init__ Date: Tue, 20 Oct 2020 13:27:25 -0400 Message-Id: <20201020172742.1483258-5-jsnow@redhat.com> In-Reply-To: <20201020172742.1483258-1-jsnow@redhat.com> References: <20201020172742.1483258-1-jsnow@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jsnow@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=216.205.24.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/20 01:16:16 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Peter Maydell , Eduardo Habkost , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Max Reitz , Cleber Rosa , John Snow Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) 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 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Kevin Wolf Message-id: 20201006235817.3280413-4-jsnow@redhat.com Signed-off-by: John Snow --- python/qemu/machine.py | 44 ++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/python/qemu/machine.py b/python/qemu/machine.py index 3017ec072d..71fe58be05 100644 --- a/python/qemu/machine.py +++ b/python/qemu/machine.py @@ -84,42 +84,54 @@ def __init__(self, binary, args=3DNone, wrapper=3DNone,= name=3DNone, @param monitor_address: address for QMP monitor @param socket_scm_helper: helper program, required for send_fd_scm= () @param sock_dir: where to create socket (overrides test_dir for so= ck) - @param console_log: (optional) path to console log file @param drain_console: (optional) True to drain console socket to b= uffer + @param console_log: (optional) path to console log file @note: Qemu process is not started until launch() is used. ''' + # Direct user configuration + + self._binary =3D binary + if args is None: args =3D [] + # Copy mutable input: we will be modifying our copy + self._args =3D list(args) + if wrapper is None: wrapper =3D [] - if name is None: - name =3D "qemu-%d" % os.getpid() - if sock_dir is None: - sock_dir =3D test_dir - self._name =3D name + self._wrapper =3D wrapper + + self._name =3D name or "qemu-%d" % os.getpid() + self._test_dir =3D test_dir + self._sock_dir =3D sock_dir or self._test_dir + self._socket_scm_helper =3D socket_scm_helper + if monitor_address is not None: self._monitor_address =3D monitor_address self._remove_monitor_sockfile =3D False else: self._monitor_address =3D os.path.join( - sock_dir, f"{name}-monitor.sock" + self._sock_dir, f"{self._name}-monitor.sock" ) self._remove_monitor_sockfile =3D True + + self._console_log_path =3D console_log + if self._console_log_path: + # In order to log the console, buffering needs to be enabled. + self._drain_console =3D True + else: + self._drain_console =3D drain_console + + # Runstate self._qemu_log_path =3D None self._qemu_log_file =3D None self._popen =3D None - self._binary =3D binary - self._args =3D list(args) # Force copy args in case we modify = them - self._wrapper =3D wrapper self._events =3D [] self._iolog =3D None - self._socket_scm_helper =3D socket_scm_helper self._qmp_set =3D True # Enable QMP monitor by default. self._qmp =3D None self._qemu_full_args =3D None - self._test_dir =3D test_dir self._temp_dir =3D None - self._sock_dir =3D sock_dir self._launched =3D False self._machine =3D None self._console_index =3D 0 @@ -129,12 +141,6 @@ def __init__(self, binary, args=3DNone, wrapper=3DNone= , name=3DNone, self._console_socket =3D None self._remove_files =3D [] self._user_killed =3D False - self._console_log_path =3D console_log - if self._console_log_path: - # In order to log the console, buffering needs to be enabled. - self._drain_console =3D True - else: - self._drain_console =3D drain_console =20 def __enter__(self): return self --=20 2.26.2