mirror of
https://git.yoctoproject.org/poky
synced 2026-04-05 08:02:25 +02:00
oeqa/sdk: add a test class for running SDK tests directly in a Yocto build
This is a simpler version of the same class in testsdk.py, as it does not need to unpack and set up the SDK, and can proceed to the tests straight away. (From OE-Core rev: be21c62e5bd96164aab9e01168b7a43c6de44c17) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
0f151cd090
commit
3afd79df9e
43
meta/lib/oeqa/sdk/testmetaidesupport.py
Normal file
43
meta/lib/oeqa/sdk/testmetaidesupport.py
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
class TestSDK(object):
|
||||
def run(self, d):
|
||||
import json
|
||||
import logging
|
||||
from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
|
||||
from oeqa.utils import make_logger_bitbake_compatible
|
||||
|
||||
pn = d.getVar("PN")
|
||||
|
||||
logger = make_logger_bitbake_compatible(logging.getLogger("BitBake"))
|
||||
|
||||
sdk_dir = d.expand("${WORKDIR}/testsdk/")
|
||||
bb.utils.remove(sdk_dir, True)
|
||||
bb.utils.mkdirhier(sdk_dir)
|
||||
|
||||
sdk_envs = OESDKTestContextExecutor._get_sdk_environs(d.getVar("DEPLOY_DIR_IMAGE"))
|
||||
tdname = d.expand("${DEPLOY_DIR_IMAGE}/${PN}.testdata.json")
|
||||
test_data = json.load(open(tdname, "r"))
|
||||
|
||||
host_pkg_manifest = {"cmake-native":"", "gcc-cross":"", "gettext-native":"", "meson-native":"", "perl-native":"", "python3-core-native":"", }
|
||||
target_pkg_manifest = {"gtk+3":""}
|
||||
|
||||
for s in sdk_envs:
|
||||
bb.plain("meta-ide-support based SDK testing environment: %s" % s)
|
||||
|
||||
sdk_env = sdk_envs[s]
|
||||
|
||||
tc = OESDKTestContext(td=test_data, logger=logger, sdk_dir=sdk_dir,
|
||||
sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
|
||||
host_pkg_manifest=host_pkg_manifest)
|
||||
|
||||
tc.loadTests(OESDKTestContextExecutor.default_cases)
|
||||
|
||||
results = tc.runTests()
|
||||
if results:
|
||||
results.logSummary(pn)
|
||||
|
||||
if (not results) or (not results.wasSuccessful()):
|
||||
bb.fatal('%s - FAILED' % (pn,), forcelog=True)
|
||||
Reference in New Issue
Block a user