[PATCH] oeqa/buildtools-cases: Allow bitbake time to shutdown

Richard Purdie
2021-08-31T13:15:43Z

bitbake may still be shutting down when the UI exists. Wait for the lock
to disappear before trying to delete the directory to avoid errors.

Traceback (most recent call last):
File "/home/pokybuild/yocto-worker/buildtools/build/meta/lib/oeqa/sdk/buildtools-cases/build.py", line 23, in test_libc
self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' % (corebase, testdir))
File "/usr/lib64/python3.7/tempfile.py", line 807, in __exit__
self.cleanup()
File "/usr/lib64/python3.7/tempfile.py", line 811, in cleanup
_shutil.rmtree(self.name)
File "/usr/lib64/python3.7/shutil.py", line 494, in rmtree
_rmtree_safe_fd(fd, path, onerror)
File "/usr/lib64/python3.7/shutil.py", line 452, in _rmtree_safe_fd
onerror(os.unlink, fullname, sys.exc_info())
File "/usr/lib64/python3.7/shutil.py", line 450, in _rmtree_safe_fd
os.unlink(entry.name, dir_fd=topfd)
FileNotFoundError: [Errno 2] No such file or directory: 'bitbake.sock'

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/lib/oeqa/sdk/buildtools-cases/build.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/sdk/buildtools-cases/build.py b/meta/lib/oeqa/sdk/buildtools-cases/build.py
index 5a17ab98c6c..a69e4a2443f 100644
--- a/meta/lib/oeqa/sdk/buildtools-cases/build.py
+++ b/meta/lib/oeqa/sdk/buildtools-cases/build.py
@@ -3,6 +3,7 @@
#

import os, tempfile
+import time
from oeqa.sdk.case import OESDKTestCase
from oeqa.utils.subprocesstweak import errors_have_output
errors_have_output()
@@ -20,4 +21,10 @@ class BuildTests(OESDKTestCase):
conf.write('\n')
conf.write('DL_DIR = "%s"\n' % self.td['DL_DIR'])

- self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' % (corebase, testdir))
+ try:
+ self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' % (corebase, testdir))
+ finally:
+ delay = 10
+ while delay and os.path.exists(testdir + "/build//bitbake.lock"):
+ time.sleep(1)
+ delay = delay - 1
--
2.32.0