
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@nvidia.com Cc: Simon Glass sjg@chromium.org Cc: Bin Meng bmeng.cn@gmail.com Signed-off-by: Tom Rini trini@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?