Richard Henderson <richard.hender...@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 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.
And I assume cachable? > > (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~ -- Alex Bennée Virtualisation Tech Lead @ Linaro