From nobody Sun Sep 28 15:29:08 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=1756566807; cv=none; d=zohomail.com; s=zohoarc; b=PyNLTELvHMBNbNtIO/W+s9Jwf5uhZ08hpg/2w3BqD1uSUj5IAUEQg7qko1YjFuOCEG4y6rrb0herq96EAUT4cPLWcbtpM+Fho6xrMKxkj9j7g13UIJjiirlqEm6jmFk7520r5FRUNDuwqBKl6ycV0IYNKnMs42rm9sfT41fuVgw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756566807; 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=VZOOOu+EdGu8QIhxao12+6pIgfEkMfGQ0DgxPnsqxtQ=; b=Q7IuvuXufEKZNrnwVHfIH5DxdqbBBc0dp3oIli0JgrolPB2cVBfPcDLj7X0TDrKYB8ufNtEWK0Mq+jBqYBfgZv9Lpc4yIvAbbqKzog3UCxB9tMOpoP+D0bOABJS+1S71G1acknSB+jbL1yaYbRvQE69pIG3mvyQpR2BfzWKS0Jw= 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 1756566807407555.883457899712; Sat, 30 Aug 2025 08:13:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1usNBW-000618-EH; Sat, 30 Aug 2025 11:08:06 -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 1uruXE-00048J-4w for qemu-devel@nongnu.org; Fri, 29 Aug 2025 04:32:36 -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 1uruWu-0006zZ-Qs for qemu-devel@nongnu.org; Fri, 29 Aug 2025 04:32:27 -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-411-L0AYstBAMhmuTCj7yel6YA-1; Fri, 29 Aug 2025 04:32:03 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (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 1FB74195608E; Fri, 29 Aug 2025 08:32:02 +0000 (UTC) Received: from toolbx.redhat.com (unknown [10.42.28.108]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 5A6FE1954B04; Fri, 29 Aug 2025 08:31:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1756456327; 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=VZOOOu+EdGu8QIhxao12+6pIgfEkMfGQ0DgxPnsqxtQ=; b=XenRe1QJYTNjzsbBntxHqUZJ2TDE7fLTDYh+2sAlTaRX0pSexxxgjN+l6AtGPyPEMUfe1f Is5MlOaYH4BA6Zg+TFwIXfASA4msgQpmPYNIK9Y0QDjvS3B6WVk2VxUfGsLYLVsdonEkSF qvzG+5EQSnGJ/f7O+7120Cn/U0Ne2KM= X-MC-Unique: L0AYstBAMhmuTCj7yel6YA-1 X-Mimecast-MFC-AGG-ID: L0AYstBAMhmuTCj7yel6YA_1756456322 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?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Richard Henderson Subject: [PATCH 1/3] tests/functional: enable force refresh of cached assets Date: Fri, 29 Aug 2025 09:31:54 +0100 Message-ID: <20250829083156.2570137-2-berrange@redhat.com> In-Reply-To: <20250829083156.2570137-1-berrange@redhat.com> References: <20250829083156.2570137-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.0 on 10.30.177.12 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_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: 1756566809702116600 If the 'QEMU_TEST_REFRESH_CACHE' environment variable is set, then ignore any existing cached asset and download a fresh copy. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Thomas Huth --- docs/devel/testing/functional.rst | 3 +++ tests/functional/qemu_test/asset.py | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/docs/devel/testing/functional.rst b/docs/devel/testing/functio= nal.rst index 3728bab6c0..fdeaebaadc 100644 --- a/docs/devel/testing/functional.rst +++ b/docs/devel/testing/functional.rst @@ -312,6 +312,9 @@ The cache is populated in the ``~/.cache/qemu/download`= ` directory by default, but the location can be changed by setting the ``QEMU_TEST_CACHE_DIR`` environment variable. =20 +To force the test suite to re-download the cache, even if still valid, +set the ``QEMU_TEST_REFRESH_CACHE`` environment variable. + Skipping tests -------------- =20 diff --git a/tests/functional/qemu_test/asset.py b/tests/functional/qemu_te= st/asset.py index 704b84d0ea..b5a6136d36 100644 --- a/tests/functional/qemu_test/asset.py +++ b/tests/functional/qemu_test/asset.py @@ -72,6 +72,10 @@ def _check(self, cache_file): return self.hash =3D=3D hl.hexdigest() =20 def valid(self): + if os.getenv("QEMU_TEST_REFRESH_CACHE", None) is not None: + self.log.info("Force refresh of asset %s", self.url) + return False + return self.cache_file.exists() and self._check(self.cache_file) =20 def fetchable(self): --=20 2.50.1 From nobody Sun Sep 28 15:29:08 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=1756566519; cv=none; d=zohomail.com; s=zohoarc; b=QjkN8GqRjE3ud5wmcHKVpdDa0en48JkgQYGi4Lwf4WkTtZiFkUADonjAuJyrp++iBFlbXpSaubPetbu7PHEBhh1s1/DLDog7j1Z3d5SFNmrC6OZxfRUiv35BXpt3W56QavbUdcBxenGHB0ro7ajKU+raQRdR33QVAsIMy56Trjw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756566519; 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=0glpkHkDxsaTQWCQUUlNvQdxkp2Dr581YkAY9D+ev20=; b=QzbPbtp8EIxvCUYKY0TZpym5B9KN4JpA/hHEsVvY2PC0r0HY8et5mZRdsPtK3akTbBO14uevPFSzs5rGBgvFaaTraiqkFJQ6bGcJ1u21tatKETT4KctXYAJhDeo8piJPTaWuS1ZM1xd7XIAt2nc7zf/X7ZA+fOfEiLoa5EtH5xQ= 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 1756566519472177.6443327624644; Sat, 30 Aug 2025 08:08:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1usNBq-0007Gh-1u; Sat, 30 Aug 2025 11:08:26 -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 1uruXE-00048I-4x for qemu-devel@nongnu.org; Fri, 29 Aug 2025 04:32:36 -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 1uruX0-0006zj-Vz for qemu-devel@nongnu.org; Fri, 29 Aug 2025 04:32:27 -0400 Received: from mx-prod-mc-04.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-342-pvoDbYEKOlCtlC47-uJa6Q-1; Fri, 29 Aug 2025 04:32:06 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (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-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E165019560B3; Fri, 29 Aug 2025 08:32:04 +0000 (UTC) Received: from toolbx.redhat.com (unknown [10.42.28.108]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 9887F19560BC; Fri, 29 Aug 2025 08:32:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1756456328; 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=0glpkHkDxsaTQWCQUUlNvQdxkp2Dr581YkAY9D+ev20=; b=SQq2/iYXV2NnUuBMr1WTvXv0PaSvGsy9cBbyjatNyAL6NFBlv0UDWght67XjlWXWx2yRhD MDXHztGeMOiPRCb4qGiIwu2Ny/vQ2ZokGHXg/j2D9/T9EVIfYkEOGvpYyNA40OD4pREIai cQQvLGT/Hij3fms0ymN2yC2a5xvnYJQ= X-MC-Unique: pvoDbYEKOlCtlC47-uJa6Q-1 X-Mimecast-MFC-AGG-ID: pvoDbYEKOlCtlC47-uJa6Q_1756456325 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?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Richard Henderson Subject: [PATCH 2/3] tests/functional: fix formatting of exception args Date: Fri, 29 Aug 2025 09:31:55 +0100 Message-ID: <20250829083156.2570137-3-berrange@redhat.com> In-Reply-To: <20250829083156.2570137-1-berrange@redhat.com> References: <20250829083156.2570137-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.0 on 10.30.177.12 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_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: 1756566519899116600 On HTTP 404 errors, we failed to include the URL in the exception that was raised, while for the catch-all exception we failed to include the URL and forgot the placeholder for the exception details too. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Thomas Huth --- tests/functional/qemu_test/asset.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/functional/qemu_test/asset.py b/tests/functional/qemu_te= st/asset.py index b5a6136d36..ae2bec3ea5 100644 --- a/tests/functional/qemu_test/asset.py +++ b/tests/functional/qemu_test/asset.py @@ -168,12 +168,13 @@ def fetch(self): # indicate a broken test rather than a transient # server or networking problem if e.code =3D=3D 404: - raise AssetError(self, "Unable to download: " - "HTTP error %d" % e.code) + raise AssetError(self, "Unable to download %s: " + "HTTP error %d" % (self.url, e.code)) continue except Exception as e: tmp_cache_file.unlink() - raise AssetError(self, "Unable to download: " % e) + raise AssetError(self, "Unable to download %s: %s" % ( + self.url, e)) =20 if not os.path.exists(tmp_cache_file): raise AssetError(self, "Download retries exceeded", transient= =3DTrue) --=20 2.50.1 From nobody Sun Sep 28 15:29:08 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=1756568040; cv=none; d=zohomail.com; s=zohoarc; b=hHZwxNx3IwulVkkb4dkbzbBRilUwdb4h+dCGSUYtMBGB37Vu5+UbBo2gINuh1afST5eVngCj+z7J5xbsihmG9CmEuv7RO+8Q+ZC1/lJp/kWPfiC+ROE6pay236qOvWmEWBP1INazD+99q0fNIQ4OKyiKtDu36SO6mRIFikuwM+s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756568040; 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=KckSa2WEXoYvVaFR55TUx1sVioyUDC48REchOysQKuk=; b=Cz0193uIQ4YDa/37VTfQrTSYUUoOYNomGF7/N8ySHVoXAeLZtrsRN9UKxPteGhhptIhk+SFe/jvJck2gHfRG9blmlMgxWdx8OUUePA1UvnAdZa8uh9wClNCx5IAwUzWC4ZCZmF8yOP89q3FpJ35xZDQy/nW8gsipa1f/xt8VGiQ= 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 1756568040263487.7828806449219; Sat, 30 Aug 2025 08:34:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1usNBf-0006gC-MF; Sat, 30 Aug 2025 11:08:15 -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 1uruXD-000487-Op for qemu-devel@nongnu.org; Fri, 29 Aug 2025 04:32:35 -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 1uruX0-00071N-W9 for qemu-devel@nongnu.org; Fri, 29 Aug 2025 04:32:25 -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-436-L3jWIUwRPCKJ2tlT_825jg-1; Fri, 29 Aug 2025 04:32:08 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (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 567EC1956087; Fri, 29 Aug 2025 08:32:07 +0000 (UTC) Received: from toolbx.redhat.com (unknown [10.42.28.108]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 765DF19560BC; Fri, 29 Aug 2025 08:32:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1756456338; 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=KckSa2WEXoYvVaFR55TUx1sVioyUDC48REchOysQKuk=; b=U+IoaT1mbkb6xswuE/vF/WMPJLUTE0j2ueKGwLD8/S+hS8QcdwnTruJWZna/LQWX0RXYlj Vvgli9Iv/NJxUz1lgRWVcqLC3ZUbLZrkQPYRdwJUK+PUMhlBszo26W8rADtOE0RtTrXjgA OS2tGnsDrdQv5+Ht75abu1Xp7pjBaZI= X-MC-Unique: L3jWIUwRPCKJ2tlT_825jg-1 X-Mimecast-MFC-AGG-ID: L3jWIUwRPCKJ2tlT_825jg_1756456327 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?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , Richard Henderson Subject: [PATCH 3/3] tests/functional: handle URLError when fetching assets Date: Fri, 29 Aug 2025 09:31:56 +0100 Message-ID: <20250829083156.2570137-4-berrange@redhat.com> In-Reply-To: <20250829083156.2570137-1-berrange@redhat.com> References: <20250829083156.2570137-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.0 on 10.30.177.12 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_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: 1756568042416116600 We treat most HTTP errors as non-fatal when fetching assets, but forgot to handle network level errors. This adds catching of URLError so that we retry on failure, and will ultimately trigger graceful skipping in the pre-cache task. Signed-off-by: Daniel P. Berrang=C3=A9 --- tests/functional/qemu_test/asset.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/functional/qemu_test/asset.py b/tests/functional/qemu_te= st/asset.py index ae2bec3ea5..36f64fe2f6 100644 --- a/tests/functional/qemu_test/asset.py +++ b/tests/functional/qemu_test/asset.py @@ -15,7 +15,7 @@ from time import sleep from pathlib import Path from shutil import copyfileobj -from urllib.error import HTTPError +from urllib.error import HTTPError, URLError =20 class AssetError(Exception): def __init__(self, asset, msg, transient=3DFalse): @@ -171,6 +171,13 @@ def fetch(self): raise AssetError(self, "Unable to download %s: " "HTTP error %d" % (self.url, e.code)) continue + except URLError as e: + # This is typically a network/service level error + # eg urlopen error [Errno 110] Connection timed out> + tmp_cache_file.unlink() + self.log.error("Unable to download %s: URL error %s", + self.url, e) + continue except Exception as e: tmp_cache_file.unlink() raise AssetError(self, "Unable to download %s: %s" % ( --=20 2.50.1