summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Roos <throos@amazon.de>2023-04-14 16:31:40 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-04-20 11:51:39 +0100
commit71dca60ddcf4370ff7e91de6ddf8a7d4cf76db50 (patch)
tree4b87424a3fd1b0416b75da62f8545a9f0b371760
parent37ca7f59245c31b483db01f2e1050ba979768b1b (diff)
downloadopenembedded-core-contrib-71dca60ddcf4370ff7e91de6ddf8a7d4cf76db50.tar.gz
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 <throos@amazon.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
-rw-r--r--meta/lib/oeqa/selftest/context.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py
index 0a7a9da72a..f2a5ba792f 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):