From: Chen Qi Date: Thu, 24 Jan 2019 09:33:01 +0000 (+0800) Subject: eSDK.py: avoid error in tearDownClass due to race condistion X-Git-Tag: 2018-10.4-thud~265 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=6a5cce862f1e950439dc8ee1d84a10397a7fac4f;p=openembedded-core.git 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) Signed-off-by: Chen Qi Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py index d7aef93991..8e3a43d1c0 100644 --- a/meta/lib/oeqa/selftest/cases/eSDK.py +++ b/meta/lib/oeqa/selftest/cases/eSDK.py @@ -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()