eSDK.py: avoid error in tearDownClass due to race condistion

When removing the temporary directory, it's possible that bitbake.lock
file is removed by bitbake during the cleanup. And this leads to the
following error.

  FileNotFoundError: [Errno 2] No such file or directory: 'bitbake.lock'

So add a check to remove this file before cleaning up the temporary
directory.

(From OE-Core rev: 984f56b37bd0014e5bf9509fc8ed181973e61773)

(From OE-Core rev: 6a5cce862f1e950439dc8ee1d84a10397a7fac4f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chen Qi
2019-01-24 17:33:01 +08:00
committed by Richard Purdie
parent d5845c8bc1
commit ecec5a8fdb

View File

@@ -2,6 +2,7 @@ import tempfile
import shutil
import os
import glob
import time
from oeqa.core.decorator.oeid import OETestID
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
@@ -95,6 +96,11 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH"
@classmethod
def tearDownClass(cls):
for i in range(0, 10):
if os.path.exists(os.path.join(cls.tmpdir_eSDKQA, 'bitbake.lock')):
time.sleep(1)
else:
break
cls.tmpdirobj.cleanup()
super().tearDownClass()