oeqa/buildtools-cases: Allow bitbake time to shutdown

bitbake may still be shutting down when the UI exits. 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'

(From OE-Core rev: 94df60cc97058444188ec8372c2d9849e74b76c6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2021-08-31 14:14:16 +01:00
parent d7140d5375
commit 29fcb0dfc9

View File

@@ -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 + "/bitbake.lock"):
time.sleep(1)
delay = delay - 1