| # |
| # Copyright OpenEmbedded Contributors |
| # |
| # 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) |