|
From: | Richard Henderson |
Subject: | Re: [RFC PATCH 5/8] tests_pytest: Implement fetch_asset() method for downloading assets |
Date: | Thu, 11 Jul 2024 14:35:33 -0700 |
User-agent: | Mozilla Thunderbird |
On 7/11/24 12:23, Alex Bennée wrote:
Richard Henderson <richard.henderson@linaro.org> writes: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.And I assume cachable?
The cache is already handled here. But downloading after cache miss is non-optional, may not fail, and is accounted against the meson test timeout.
r~
[Prev in Thread] | Current Thread | [Next in Thread] |