Commit a5e8299d1a for qemu.org

commit a5e8299d1a119b9d757ae28a57612f633894d2f6
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Wed Mar 12 23:00:00 2025 +1000

    tests/functional/asset: Fail assert fetch when retries are exceeded

    Currently the fetch code does not fail gracefully when retry limit is
    exceeded, it just falls through the loop with no file, which ends up
    hitting other errors.

    Add a check for non-existing file, which indicates the retry limit was
    exceeded.

    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Message-ID: <20250312130002.945508-2-npiggin@gmail.com>
    Signed-off-by: Thomas Huth <thuth@redhat.com>

diff --git a/tests/functional/qemu_test/asset.py b/tests/functional/qemu_test/asset.py
index f0730695f0..27dd839e70 100644
--- a/tests/functional/qemu_test/asset.py
+++ b/tests/functional/qemu_test/asset.py
@@ -138,6 +138,9 @@ def fetch(self):
                 tmp_cache_file.unlink()
                 raise

+        if not os.path.exists(tmp_cache_file):
+            raise Exception("Retries exceeded downloading %s", self.url)
+
         try:
             # Set these just for informational purposes
             os.setxattr(str(tmp_cache_file), "user.qemu-asset-url",