From nobody Fri Nov 14 18:17:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1760632114; cv=none; d=zohomail.com; s=zohoarc; b=HPCjVO+eQihcUdUQY4uqklnBP7KaZk4/34oXj0a+52fidjbZLINobK+PHuojQZcXmZ5JqIEIi44kofZaiXOCOme+DrmmpYqWrlyYBuoKTlGfWD5cOJQKunvAfz1Fw3OqP+ein7WwBLSjEGhbh2tAzKjJeb7ftyaXmSkEl5bYjYY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1760632114; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/tlXzgBzM8e2qGuGsn/nSQgKG9h2gm308BZ+u3+MbPQ=; b=jfbajH7KwXQzJ2of2wbzNpbL0RN7tAH8KL5WxYJpGDmsjspyj+7OcHub0K/COTXb03w8/IEo6tXxiec4i9cY3+zS0VPo/iNMYTDLwR3DDd+Yj+y9TkeN9icfFxR5Lz7pXASSDOHquoL7OtgD4iVAEBbcIrdOAr5z/Zki4U/lac8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1760632114035267.0930615419378; Thu, 16 Oct 2025 09:28:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9QoR-00038v-1r; Thu, 16 Oct 2025 12:26:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9QoJ-00030f-8F for qemu-devel@nongnu.org; Thu, 16 Oct 2025 12:26:40 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9QoC-000521-EY for qemu-devel@nongnu.org; Thu, 16 Oct 2025 12:26:38 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-670-jX_VSIKOOnmCBmvalqthMQ-1; Thu, 16 Oct 2025 12:26:24 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 673681800675; Thu, 16 Oct 2025 16:26:23 +0000 (UTC) Received: from thuth-p1g4.redhat.com (unknown [10.45.224.163]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id DEFC41956056; Thu, 16 Oct 2025 16:26:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1760631988; 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=/tlXzgBzM8e2qGuGsn/nSQgKG9h2gm308BZ+u3+MbPQ=; b=To2/gmRIjnfS5VGyXlaEsivY2xfh8BDdRqiv3BVHNkdwmadETFlZfUMbNQjIpPQ4SIYGFH 2K/MJXxOf0VlpibdEBrJsuTxwcpuRq42vfIHOfMo8AUdztMuJ5cCSFxaPZOEGM3U53eZkT lt/FDbupK6cGGrcrt+3waEJOHGE20ns= X-MC-Unique: jX_VSIKOOnmCBmvalqthMQ-1 X-Mimecast-MFC-AGG-ID: jX_VSIKOOnmCBmvalqthMQ_1760631983 From: Thomas Huth To: qemu-devel@nongnu.org Cc: Richard Henderson , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PULL 08/10] tests/functional: ensure GDB client is stopped on error Date: Thu, 16 Oct 2025 18:25:59 +0200 Message-ID: <20251016162601.442557-9-thuth@redhat.com> In-Reply-To: <20251016162601.442557-1-thuth@redhat.com> References: <20251016162601.442557-1-thuth@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 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=170.10.133.124; envelope-from=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1760632116098158500 From: Daniel P. Berrang=C3=A9 If the reverse_debugging_run method fails, the GDB client will not be closed resulting in python complaining about resource leaks. Hoisting the GDB client creation into the caller allows this to be cleaned up easily. While doing this, also move the VM shutdown call to match. Signed-off-by: Daniel P. Berrang=C3=A9 Message-ID: <20251014140047.385347-3-berrange@redhat.com> Reviewed-by: Thomas Huth Signed-off-by: Thomas Huth --- tests/functional/reverse_debugging.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/functional/reverse_debugging.py b/tests/functional/rever= se_debugging.py index 2c37a62cd06..86fca8d81f1 100644 --- a/tests/functional/reverse_debugging.py +++ b/tests/functional/reverse_debugging.py @@ -96,7 +96,14 @@ def reverse_debugging(self, gdb_arch, shift=3D7, args=3D= None): =20 try: self.log.info('Connecting to gdbstub...') - self.reverse_debugging_run(vm, port, gdb_arch, last_icount) + gdb_cmd =3D os.getenv('QEMU_TEST_GDB') + gdb =3D GDB(gdb_cmd) + try: + self.reverse_debugging_run(gdb, vm, port, gdb_arch, last_i= count) + finally: + self.log.info('exiting gdb and qemu') + gdb.exit() + vm.shutdown() self.log.info('Test passed.') except GDB.TimeoutError: # Convert a GDB timeout exception into a unittest failure exce= ption. @@ -107,10 +114,7 @@ def reverse_debugging(self, gdb_arch, shift=3D7, args= =3DNone): # skipTest(), etc. raise =20 - def reverse_debugging_run(self, vm, port, gdb_arch, last_icount): - gdb_cmd =3D os.getenv('QEMU_TEST_GDB') - gdb =3D GDB(gdb_cmd) - + def reverse_debugging_run(self, gdb, vm, port, gdb_arch, last_icount): r =3D gdb.cli("set architecture").get_log() if gdb_arch not in r: self.skipTest(f"GDB does not support arch '{gdb_arch}'") @@ -191,7 +195,3 @@ def reverse_debugging_run(self, vm, port, gdb_arch, las= t_icount): self.fail("'reverse-continue' did not hit the first PC in reve= rse order!") =20 self.log.info('successfully reached %x' % steps[-1]) - - self.log.info('exiting gdb and qemu') - gdb.exit() - vm.shutdown() --=20 2.51.0