From 6a5cce862f1e950439dc8ee1d84a10397a7fac4f Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Thu, 24 Jan 2019 17:33:01 +0800 Subject: 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 --- meta/lib/oeqa/selftest/cases/eSDK.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'meta/lib/oeqa') 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() -- cgit 1.2.3-korg