qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 5/8] tests_pytest: Implement fetch_asset() method for dow


From: Richard Henderson
Subject: Re: [RFC PATCH 5/8] tests_pytest: Implement fetch_asset() method for downloading assets
Date: Thu, 11 Jul 2024 11:49:23 -0700
User-agent: Mozilla Thunderbird

On 7/11/24 09:45, Richard Henderson wrote:
On 7/11/24 04:55, Thomas Huth wrote:
+    def fetch_asset(self, url, asset_hash):
+        cache_dir = os.path.expanduser("~/.cache/qemu/download")
+        if not os.path.exists(cache_dir):
+            os.makedirs(cache_dir)
+        fname = os.path.join(cache_dir,
+                             hashlib.sha1(url.encode("utf-8")).hexdigest())
+        if os.path.exists(fname) and self.check_hash(fname, asset_hash):
+            return fname
+        logging.debug("Downloading %s to %s...", url, fname)
+        subprocess.check_call(["wget", "-c", url, "-O", fname + ".download"])
+        os.rename(fname + ".download", fname)
+        return fname

Download failure via exception?
Check hash on downloaded asset?

I would prefer to see assets, particularly downloading, handled in a separate 
pass from tests.

(1) Asset download should not count against test timeout.
(2) Running tests while disconnected should skip unavailable assets.

Avocado kinda does this, but still generates errors instead of skips.


r~




reply via email to

[Prev in Thread] Current Thread [Next in Thread]