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

Reply via email to