From: Thomas Roos Date: Fri, 14 Apr 2023 14:31:40 +0000 (+0200) Subject: oeqa/selftest: Use SSTATE_DIR of parent build dir X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~1123 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=71dca60ddcf4370ff7e91de6ddf8a7d4cf76db50;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git oeqa/selftest: Use SSTATE_DIR of parent build dir This will configure the build-st/conf/local.conf with the SSTATE_DIR of the parent build dir to speed up the build, test, dev process. Signed-off-by: Thomas Roos Signed-off-by: Luca Ceresoli --- diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index 0a7a9da72af..f2a5ba792f6 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py @@ -16,6 +16,7 @@ from random import choice import oeqa import oe import bb.utils +import bb.tinfoil from oeqa.core.context import OETestContext, OETestContextExecutor from oeqa.core.exception import OEQAPreRun, OEQATestNotFound @@ -79,6 +80,12 @@ class OESelftestTestContext(OETestContext): self.removebuilddir = removebuilddir def setup_builddir(self, suffix, selftestdir, suite): + # Get SSTATE_DIR from the parent build dir + with bb.tinfoil.Tinfoil(tracking=True) as tinfoil: + tinfoil.prepare(quiet=2, config_only=True) + d = tinfoil.config_data + sstatedir = str(d.getVar('SSTATE_DIR')) + builddir = os.environ['BUILDDIR'] if not selftestdir: selftestdir = get_test_layer() @@ -118,6 +125,9 @@ class OESelftestTestContext(OETestContext): if os.environ[e].endswith(builddir): os.environ[e] = os.environ[e].replace(builddir, newbuilddir) + # Set SSTATE_DIR to match the parent SSTATE_DIR + subprocess.check_output("echo 'SSTATE_DIR ?= \"%s\"' >> %s/conf/local.conf" % (sstatedir, newbuilddir), cwd=newbuilddir, shell=True) + os.chdir(newbuilddir) def patch_test(t):