From 984f56b37bd0014e5bf9509fc8ed181973e61773 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. Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/cases/eSDK.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'meta') 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