From nobody Wed Sep 10 01:09:10 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=1757339965; cv=none; d=zohomail.com; s=zohoarc; b=PZylRx9suBIzLLQyHwkAtY02qCFTUZTVckRvIR0Hy02dFrayQjbC5GSTKSAXWs2ArcuKBlnepv+pvzm3iESE3BxRhadquAeW0db4MhOEmYe/AsgPliKu4MxY4Zn63IJ049Qkefm7jV/lN2QcCG8lCUoyNIWpS9x/CgigdT6T6aE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1757339965; 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=KYR8qniNbAIhKaaxm22geyDivz6LBRyhYUYXniKr9r4=; b=Fb1RcLbHdjbhlrRlVqTWDo86bINPVIYC02Exv2BdJUVhvDu3UKIwehO/AsA2iOJvJH6SKBUI58AgLhCa92KMTMNhrAto3XC7C835sC1C29VgcApbKMQ1FtNii/orCz1UqGyrEuqI0MP2St9gRJ59uqXnkYAjoy1OjSFwxY/Eivk= 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 1757339965247800.5549282926208; Mon, 8 Sep 2025 06:59:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uvcNY-0003vQ-1c; Mon, 08 Sep 2025 09:57:56 -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 1uvcNV-0003tw-FN for qemu-devel@nongnu.org; Mon, 08 Sep 2025 09:57:53 -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 1uvcNM-0005cS-BZ for qemu-devel@nongnu.org; Mon, 08 Sep 2025 09:57:52 -0400 Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-652-EmIJ1ubWOUW2qetZiby80g-1; Mon, 08 Sep 2025 09:57:28 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 926B519560AB; Mon, 8 Sep 2025 13:57:27 +0000 (UTC) Received: from toolbx.redhat.com (unknown [10.42.28.93]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 0B3B6180044F; Mon, 8 Sep 2025 13:57:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1757339852; 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=KYR8qniNbAIhKaaxm22geyDivz6LBRyhYUYXniKr9r4=; b=XKHXf0ANUbGrCxDqrrPNEdPACQ/g+geEojwyr76zdT71qbO91bcvhb0J/ATh5GVjlg6igA jz6m2Mi0GMRVAqyLpvlUCJC6D0tqYNBZ50d6Iya9TLSz+NpnUdCOYg0SMyUHBzSjWcMTOC Q4Jwgqg/Kj5xwYFc/bfhXDzHHqOf6bc= X-MC-Unique: EmIJ1ubWOUW2qetZiby80g-1 X-Mimecast-MFC-AGG-ID: EmIJ1ubWOUW2qetZiby80g_1757339847 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 1/4] tests/functional: fix infinite loop on console EOF Date: Mon, 8 Sep 2025 14:57:19 +0100 Message-ID: <20250908135722.3375580-2-berrange@redhat.com> In-Reply-To: <20250908135722.3375580-1-berrange@redhat.com> References: <20250908135722.3375580-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 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=berrange@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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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: 1757339967352124101 The 'recv' method will return an empty byte array, not None, when the socket has EOF. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Thomas Huth --- tests/functional/qemu_test/cmd.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/functional/qemu_test/cmd.py b/tests/functional/qemu_test= /cmd.py index dc5f422b77..2fb731ca24 100644 --- a/tests/functional/qemu_test/cmd.py +++ b/tests/functional/qemu_test/cmd.py @@ -51,7 +51,7 @@ def _console_read_line_until_match(test, vm, success, fai= lure): done =3D False while True: c =3D vm.console_socket.recv(1) - if c is None: + if not c: done =3D True test.fail( f"EOF in console, expected '{success}'") --=20 2.50.1 From nobody Wed Sep 10 01:09:10 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=1757339992; cv=none; d=zohomail.com; s=zohoarc; b=i4VcJPQvu1LzFoAH6r98DBINJ1BurtuUB29zdcIrjLqoNmhcG27caVDNyYxghmEPD1wab9y7Pm4yDB06ogCHLjbtJWkXasuKVqlw0GLzB8lJ2hWWHPIJbg+ZYqCrMl+cwNGvut3SoLQeh+ADJXcDTibL8sdyaBEQ3Wy2rO6UTCk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1757339992; 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=jJDQQvbkZxsfe7NtdZ5qO3AzCf/mQQymPIQejFCXCkI=; b=UbCwSlr/aqCwKhw9L8omuNb4ygNhk9ldLQjj2JgbF+OkS3vIJGEx5ZtyLypd1GeAdDemgCer+EnyPSsU0MwV3cR97GuelSkltRip/j3Tn172yZAUgGdCZsnChe0O7GcqECMKn/QvXzLePXfECubSXDmhbs72D6aZeS0WEHst+FE= 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 1757339992441957.9409088345534; Mon, 8 Sep 2025 06:59:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uvcNb-0003xU-JP; Mon, 08 Sep 2025 09:57:59 -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 1uvcNa-0003wK-7E for qemu-devel@nongnu.org; Mon, 08 Sep 2025 09:57:58 -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 1uvcNI-0005cW-Io for qemu-devel@nongnu.org; Mon, 08 Sep 2025 09:57:56 -0400 Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-472-OgpYZf0POiyiDxp7W7iPmg-1; Mon, 08 Sep 2025 09:57:30 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9E25F195609F; Mon, 8 Sep 2025 13:57:29 +0000 (UTC) Received: from toolbx.redhat.com (unknown [10.42.28.93]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 00C6618003FC; Mon, 8 Sep 2025 13:57:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1757339854; 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=jJDQQvbkZxsfe7NtdZ5qO3AzCf/mQQymPIQejFCXCkI=; b=GGtov4tdOuDpfRMfSZuBNrqSaIBkhXloVYmLgS4ZdxhSaHd/k+gZY4r41Kpiq8NdohVPps RMWbAyOpj4lMjuXTBUT2vmOn5ZndYVujph7T6OVuSDIoLkJKaYr4LbjPftpH7c9ZXwA/Qw ea0kCycDQYrbzlDJhIT0p7lWDUtM1mg= X-MC-Unique: OgpYZf0POiyiDxp7W7iPmg-1 X-Mimecast-MFC-AGG-ID: OgpYZf0POiyiDxp7W7iPmg_1757339849 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 2/4] tests/functional: avoid duplicate messages on failures Date: Mon, 8 Sep 2025 14:57:20 +0100 Message-ID: <20250908135722.3375580-3-berrange@redhat.com> In-Reply-To: <20250908135722.3375580-1-berrange@redhat.com> References: <20250908135722.3375580-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 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=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no 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: 1757339993730124100 In some scenarios the same tests is mentioned in both the 'res.results.errors' and 'res.results.failures' array returned by unittest.main(). This was seen when the 'tearDown' method raised an exception. In such a case, we printed out the same information about where to find a log file twice for each test. Track which tests we have already reported on, to avoid the duplication. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Thomas Huth --- tests/functional/qemu_test/testcase.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu= _test/testcase.py index fbeb171058..82a7724404 100644 --- a/tests/functional/qemu_test/testcase.py +++ b/tests/functional/qemu_test/testcase.py @@ -251,13 +251,14 @@ def main(): test_output_log =3D pycotap.LogMode.Log= ToError) res =3D unittest.main(module =3D None, testRunner =3D tr, exit =3D= False, argv=3D[sys.argv[0], path] + sys.argv[1:]) + failed =3D {} for (test, message) in res.result.errors + res.result.failures: - - if hasattr(test, "log_filename"): + if hasattr(test, "log_filename") and not test.id() in failed: print('More information on ' + test.id() + ' could be foun= d here:' '\n %s' % test.log_filename, file=3Dsys.stderr) if hasattr(test, 'console_log_name'): print(' %s' % test.console_log_name, file=3Dsys.stderr) + failed[test.id()] =3D True sys.exit(not res.result.wasSuccessful()) =20 =20 --=20 2.50.1 From nobody Wed Sep 10 01:09:10 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=1757339969; cv=none; d=zohomail.com; s=zohoarc; b=MKJVjT5eNo/IR7TXBdPC5wCoRNhe7sfIdfFFatNQP7AhJ3Ud+fTMcCdP4KW/+n9j6cOZnCKrIqhezCAHKmFAdqd3yaN78O8+MfajKkimMUs1rVIkdbXeuuNg8QmvHLG/iBCEtPnkMzqaH5Zw+T0q5Y0BepQJ/X0H83lTrMisIcs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1757339969; 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=Hdqpij1YIh83DmCO+ezh0fMDAmtNazIV0O/ENmitVn8=; b=exm8rTYbXH8KGunKSVJ2d+uKVtNuIYta0Z8soH/LuFyl6H/HewH+I2ZRNde7/xPhCOGnJY51BGbRN/Kdye0/oU9oQ5AGfLXB2Hiu9hEdkS7kbwbSuG7lF23KMZ0jzOZCgCN9DrnawEbwYmv3WHtBW6kagKzAHmdKGis17XLrJUU= 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 1757339969902562.6450403561189; Mon, 8 Sep 2025 06:59:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uvcNd-0003y2-Sv; Mon, 08 Sep 2025 09:58:02 -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 1uvcNY-0003vm-Qf for qemu-devel@nongnu.org; Mon, 08 Sep 2025 09:57:56 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uvcNM-0005cY-3e for qemu-devel@nongnu.org; Mon, 08 Sep 2025 09:57:55 -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-211-prRK28rLP-KhijMKXYtBIg-1; Mon, 08 Sep 2025 09:57:32 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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 AA2D2180057A; Mon, 8 Sep 2025 13:57:31 +0000 (UTC) Received: from toolbx.redhat.com (unknown [10.42.28.93]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 21A6C18003FC; Mon, 8 Sep 2025 13:57:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1757339854; 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=Hdqpij1YIh83DmCO+ezh0fMDAmtNazIV0O/ENmitVn8=; b=ZWUUZy9mAtkgSbGL1ygZKPR4ZgrXSGrKGKDhydGVmsEiM/sVJn04+yrKzeRuDfGkLngXT/ M8AUegjWL0VpSRvZfmB0x8jdRpr1Z0WRrMEd6i+PmIeeyvb0yT3Es2Ls9ar9ARIDAHYvAW 3fkstyYDEllTkrOr05mOxA/cppp19dc= X-MC-Unique: prRK28rLP-KhijMKXYtBIg-1 X-Mimecast-MFC-AGG-ID: prRK28rLP-KhijMKXYtBIg_1757339851 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 3/4] tests/functional: avoid tearDown failure when QEMU dies Date: Mon, 8 Sep 2025 14:57:21 +0100 Message-ID: <20250908135722.3375580-4-berrange@redhat.com> In-Reply-To: <20250908135722.3375580-1-berrange@redhat.com> References: <20250908135722.3375580-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 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.129.124; envelope-from=berrange@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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, T_SPF_HELO_TEMPERROR=0.01, T_SPF_TEMPERROR=0.01 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: 1757339971596124100 In a QEMU process under test dies unexpectedly, the 'shutdown' method may well raise an exeception. This causes the tearDown method to fail, which means any later cleanup code fails to get run. Most notably the log handlers don't get removed so the base.log file from an earlier test will get polluted with messages from any subsequent tests. The tearDown failure also results in pages of exceptions printed on the console, which obscures the real failure message / trace printed by the test. Ignore any shutdown failures in the tearDown method, since any test which cares about clean shutdown should have already cleaned up any running VMs. The tearDown method is just there as a safety net to cleanup resources. The base.log file will still containing log messages from the failed 'vm.shutdown' call too. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Thomas Huth --- tests/functional/qemu_test/testcase.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu= _test/testcase.py index 82a7724404..faa0a4f0db 100644 --- a/tests/functional/qemu_test/testcase.py +++ b/tests/functional/qemu_test/testcase.py @@ -404,7 +404,10 @@ def set_vm_arg(self, arg, value): =20 def tearDown(self): for vm in self._vms.values(): - vm.shutdown() + try: + vm.shutdown() + except Exception as ex: + self.log.error("Failed to teardown VM: %s" % ex) logging.getLogger('console').removeHandler(self._console_log_fh) self._console_log_fh.close() super().tearDown() --=20 2.50.1 From nobody Wed Sep 10 01:09:10 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=1757339966; cv=none; d=zohomail.com; s=zohoarc; b=as3fUc1MjS0k3wA3JpaSGaRz2ntTVC7GX2JEOz5Dz/9+Q8I9iqUJkX/TNUG9zJAajU36in9XkiSkpCj2RG1GAFfKyexu0P8XeAVdqt9jF4gNpU28Vy94oRGPDdY1t1bRhxJnNrW9Uw71s2Wfb4Rh/oFoaeV68XylOheG3CbcMVE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1757339966; 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=ohCqBimbAIW10ypvu1EyGl3mXc9pNVzAsMpKZdpJYK0=; b=NMopIo7fFtsLU2p2GZx8eeL534i0YlKZHEJCCrAvO9dhLNJwI3mg/1EhHd7lTLWkQ2MXGLIc4FEZRL+ao/woVL3QIAFoi2pAmFLPbHVsnTzUJa8vrWyyGjBJHJYwpfdDvG6XEMF/EYuTOg5ih//Z/rXH1SMA/CygE7f33PHR/YE= 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 1757339966307556.0985334642353; Mon, 8 Sep 2025 06:59:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uvcNY-0003us-0z; Mon, 08 Sep 2025 09:57:56 -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 1uvcNS-0003sS-St for qemu-devel@nongnu.org; Mon, 08 Sep 2025 09:57:52 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uvcNI-0005ci-G5 for qemu-devel@nongnu.org; Mon, 08 Sep 2025 09:57:50 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-83-qzLhuxf1OPatOHfehE_AuQ-1; Mon, 08 Sep 2025 09:57:35 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0C31419560B7; Mon, 8 Sep 2025 13:57:34 +0000 (UTC) Received: from toolbx.redhat.com (unknown [10.42.28.93]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 2D42218003FC; Mon, 8 Sep 2025 13:57:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1757339856; 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=ohCqBimbAIW10ypvu1EyGl3mXc9pNVzAsMpKZdpJYK0=; b=cetsoH2xUT1zcv940C5HQyjVaixgNEPwmggvTaSlnrcfb00D4VYxyINRcICT1tbime/qiX PWrNjOY+2tZRJVfbGKQ8S5h/HZ+yShRwtQ+EO+ZbhN4zN7T0DBtnknhUeUEkwj9v177ci/ EGCTtGu8H+si/obYw46mSXvn73zgVwk= X-MC-Unique: qzLhuxf1OPatOHfehE_AuQ-1 X-Mimecast-MFC-AGG-ID: qzLhuxf1OPatOHfehE_AuQ_1757339854 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell Subject: [PATCH 4/4] tests/functional: purge scratch dir on test startup Date: Mon, 8 Sep 2025 14:57:22 +0100 Message-ID: <20250908135722.3375580-5-berrange@redhat.com> In-Reply-To: <20250908135722.3375580-1-berrange@redhat.com> References: <20250908135722.3375580-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 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.129.124; envelope-from=berrange@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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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: 1757339969371124100 The test suite purges the scratch dir in the tearDown method, but if python crashes (or is non-gracefully killed) this won't get run. Also the user can set QEMU_TEST_KEEP_SCRATCH to disable cleanup. Purging the scratch dir on startup ensures that tests always run from a clean state. Reported-by: Peter Maydell Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Alex Benn=C3=A9e --- tests/functional/qemu_test/testcase.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu= _test/testcase.py index faa0a4f0db..2c0abde395 100644 --- a/tests/functional/qemu_test/testcase.py +++ b/tests/functional/qemu_test/testcase.py @@ -205,6 +205,10 @@ def setUp(self): self.outputdir =3D self.build_file('tests', 'functional', self.arch, self.id()) self.workdir =3D os.path.join(self.outputdir, 'scratch') + if os.path.exists(self.workdir): + # Purge as safety net in case of unclean termination of + # previous test, or use of QEMU_TEST_KEEP_SCRATCH + shutil.rmtree(self.workdir) os.makedirs(self.workdir, exist_ok=3DTrue) =20 self.log_filename =3D self.log_file('base.log') --=20 2.50.1