[U-Boot] [PATCH] test/py: Set cache_dir to /tmp/.pytest_cache

Stephen Warren swarren at wwwdotorg.org
Thu Oct 31 16:04:18 UTC 2019

On 10/31/19 8:51 AM, Tom Rini wrote:
> For some time now, pytest has supported setting where a cache directory
> that it will use is located (and in turn has logic to re-use this cache
> and speed things up when possible).  When running the pytest tests on
> Azure Pipelines, our source directory is read-only and we now see a
> warning about being unable to create the .pytest_cache directory as the
> default is in the same place as pytest.ini.  Set cache_dir to
> /tmp/.pytest_cache so that it will always be placed in a read/write
> location.
> Cc: Stephen Warren <swarren at nvidia.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Bin Meng <bmeng.cn at gmail.com>
> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---
> Looking at
> https://docs.pytest.org/en/latest/customize.html#confval-cache_dir we
> could use an environment variable but TMP/TMPDIR/etc aren't always going
> to be set and that in turn leads to test/py/$TMPDIR/.pytest_cache being
> used.  I think hard-coding to /tmp here ends up being less problematic
> but I am open to suggestions.  We could even just ignore the warning, I
> only spotted it when seeing why a test had otherwise failed.
> ---
>   test/py/pytest.ini | 1 +
>   1 file changed, 1 insertion(+)
> diff --git a/test/py/pytest.ini b/test/py/pytest.ini
> index e93d010f1fa2..56c1f0521a54 100644
> --- a/test/py/pytest.ini
> +++ b/test/py/pytest.ini
> @@ -11,3 +11,4 @@ markers =
>       notbuildconfigspec: U-Boot: Describes required disabled Kconfig options.
>       requiredtool: U-Boot: Required host tools for a test.
>       slow: U-Boot: Specific test will run slowly.
> +cache_dir = /tmp/.pytest_cache

Won't this hard-coding break running parallel invocations; they'll all 
try to use the same cache directory and conflict with each-other?

Various test/py tests create data files (e.g. disk images, files for DFU 
to download/upload, etc.). That directory must be writable. Can we tell 
pytest to use (a sub-directory of that) directory as the cache?

More information about the U-Boot mailing list