Managing Assets¶
Note
Please note that we are constantly improving on how we handle assets inside Avocado. Probably some changes will be delivered during the next releases.
Assets are test artifacts that Avocado can download automatically either during the test execution, or before the test even starts (by parsing the test code or on-demand, manually registering them at the command-line).
Sometimes those assets, depending on your case, can be a bottleneck when it comes to disk space. If you are constantly using large assets in your tests, it is important to have a good idea of how Avocado stores and handles those artifacts.
Listing assets¶
If you would like to list assets that are cached in your system, you can run the following command:
$ avocado assets list
This command supports --by-size-filter
and --by-days
options. When using
the former you should pass a comparison filter and a size in bytes. For
instance:
$ avocado assets list --by-size-filter=">=2048"
The command above will list only assets bigger than 2Kb. We support the following operators: =, >=, <=, < and >.
Now, if you are looking for assets older (based on the access time) than 10 days, you could use this command:
$ avocado assets list --by-days=10
Removing assets¶
You can remove the files in your cache directories manually. However, we have provided a utility to help you with that:
$ avocado assets purge --help
Assets can be removed applying the same filters as described when listing them.
You can remove assets by a size filter (--by-size-filter
) or assets older
than N days (--by-days
).
Removing by overall cache limit¶
Besides the existing features, Avocado is able to set an overall limit, so that it matches the storage limitations of users (and CI systems).
For instance it may be the case that a GitLab cache limit is 4 GiB, in that case we can sort by last access, and remove all that exceeds 4 GiB (that is, keep the last accessed 4 GiB worth of cached files). You can run the following command:
$ avocado assets purge --by-overall-limit=4g
This would ensure that the cache is automatically being removed of files that were used last (and possibly not used anymore).
Please, note that at the moment, you can only use ‘b’, ‘k’, ‘m’, ‘g’ and ‘t’ as suffix.
Changing the default cache dirs¶
Assets are stored inside the datadir.paths.cache_dirs
option. You can change
this in your configuration file and discover your current value with the
following command:
$ avocado config | grep datadir.paths.cache_dirs