From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Richard Henderson" <richard.henderson@linaro.org>,
"Daniel P. Berrangé" <berrange@redhat.com>
Subject: [PULL 11/12] tests/functional: retry when seeing ConnectionError exception
Date: Wed, 24 Sep 2025 08:39:55 +0200 [thread overview]
Message-ID: <20250924063956.519792-12-thuth@redhat.com> (raw)
In-Reply-To: <20250924063956.519792-1-thuth@redhat.com>
From: Daniel P. Berrangé <berrange@redhat.com>
This base class is used for many different socket connection
errors, corresponding to ECONNRESET, ECONNREFUSED, ECONNABORTED
and more. Most of these are things you might expect to see every
now and then as transient flaws. We should thus retry the asset
download when seeing them.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20250918125746.1165658-2-berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/functional/qemu_test/asset.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/tests/functional/qemu_test/asset.py b/tests/functional/qemu_test/asset.py
index 2dd32bf28d9..f8b87d21538 100644
--- a/tests/functional/qemu_test/asset.py
+++ b/tests/functional/qemu_test/asset.py
@@ -179,6 +179,13 @@ def fetch(self):
self.url, e.reason)
raise AssetError(self, "Unable to download: URL error %s" %
e.reason, transient=True)
+ except ConnectionError as e:
+ # A socket connection failure, such as dropped conn
+ # or refused conn
+ tmp_cache_file.unlink()
+ self.log.error("Unable to download %s: Connection error %s",
+ self.url, e)
+ continue
except Exception as e:
tmp_cache_file.unlink()
raise AssetError(self, "Unable to download: %s" % e)
--
2.51.0
next prev parent reply other threads:[~2025-09-24 6:43 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-24 6:39 [PULL 00/12] Functional test patches Thomas Huth
2025-09-24 6:39 ` [PULL 01/12] tests/functional/m68k: Use proper polling in the next-cube test Thomas Huth
2025-09-24 6:39 ` [PULL 02/12] tests/functional/s390x/test_pxelinux: Fix warnings from pylint Thomas Huth
2025-09-24 6:39 ` [PULL 03/12] tests: Move the old vmstate-static-checker files to tests/data/ Thomas Huth
2025-09-24 6:39 ` [PULL 04/12] tests/functional: Test whether the vmstate-static-checker script works fine Thomas Huth
2025-10-29 11:58 ` Daniel P. Berrangé
2025-10-30 9:07 ` Thomas Huth
2025-09-24 6:39 ` [PULL 05/12] tests/data/vmstate-static-checker: Add dump files from QEMU 7.2.17 Thomas Huth
2025-09-24 6:39 ` [PULL 06/12] tests/functional: Use vmstate-static-checker.py to test data from v7.2 Thomas Huth
2025-09-24 6:39 ` [PULL 07/12] tests/functional: use self.log for all logging Thomas Huth
2025-09-24 6:39 ` [PULL 08/12] .gitlab-ci.d/buildtest.yml: Unset CI_COMMIT_DESCRIPTION for htags Thomas Huth
2025-09-24 6:39 ` [PULL 09/12] tests/functional/hppa: Add a CD-ROM boot test for qemu-system-hppa Thomas Huth
2025-09-24 6:39 ` [PULL 10/12] tests: Fix "make check-functional" for targets without thorough tests Thomas Huth
2025-09-24 6:39 ` Thomas Huth [this message]
2025-09-24 6:39 ` [PULL 12/12] tests/functional: treat unknown exceptions as transient faults Thomas Huth
2025-09-24 21:15 ` [PULL 00/12] Functional test patches Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250924063956.519792-12-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=berrange@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).