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

Tom Rini trini at konsulko.com
Thu Oct 31 16:17:46 UTC 2019


On Thu, Oct 31, 2019 at 10:12:06AM -0600, Stephen Warren wrote:
> On 10/31/19 10:07 AM, Tom Rini wrote:
> > On Thu, Oct 31, 2019 at 10:04:18AM -0600, Stephen Warren wrote:
> > > 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?
> > 
> > I don't think it will break anything today at least.  We don't use
> > pytest's cache_dir directly for creating our disk images, we put those
> > elsewhere.  This is strictly used by pytest itself, afaict.
> 
> Sure, but does pytest itself have all the required locking in place to
> support running multiple copies in parallel all set to the same cache
> directory? I run 3-5 instances of pytest at once on the same system, each
> managing a different target board.

I hope so.  Can you throw this into your setup and see if anything
breaks?  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191031/a58ea2da/attachment.sig>


More information about the U-Boot mailing list