|
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 fnameDownload 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~
[Prev in Thread] | Current Thread | [Next in Thread] |