]> code.ossystems Code Review - openembedded-core.git/commitdiff
oeqa/selftest/cases/devtool.py: avoid .pyc race
authorTim Orling <timothy.t.orling@linux.intel.com>
Wed, 30 Sep 2020 21:40:47 +0000 (14:40 -0700)
committerSteve Sakoman <steve@sakoman.com>
Mon, 5 Oct 2020 14:29:40 +0000 (04:29 -1000)
In certain conditions, most likely under heavy load on the
AutoBuilder, the prebuilt .pyc files are attempting to be
executed before they have been completely copied. Avoid
this by not copying the .pyc files (nor the __pycache__
directory). The impact of python3-native recreating the .pyc
files should hopefully be negligible.

YOCTO#13421
YOCTO#13803

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/lib/oeqa/selftest/cases/devtool.py

index 5003f08c75f62557b753abb47904ca4a101ef6c8..d8bf4aea0810229d23aeb133721262e3c9a0349f 100644 (file)
@@ -56,7 +56,8 @@ def setUpModule():
                     if pth.startswith(canonical_layerpath):
                         if relpth.endswith('/'):
                             destdir = os.path.join(corecopydir, relpth)
-                            shutil.copytree(pth, destdir)
+                            # avoid race condition by not copying .pyc files YPBZ#13421,13803
+                            shutil.copytree(pth, destdir, ignore=ignore_patterns('*.pyc', '__pycache__'))
                         else:
                             destdir = os.path.join(corecopydir, os.path.dirname(relpth))
                             bb.utils.mkdirhier(destdir)