mirror of
https://git.yoctoproject.org/poky
synced 2026-07-27 07:27:12 +00:00
4284cd0c18
Running them in parallel is prone to races as postinsts from target sysroots rely on executables from native sysroots which may or may not be fully prepared yet. This was observed for example here: https://autobuilder.yoctoproject.org/typhoon/#/builders/146/builds/468/steps/12/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/147/builds/467/steps/12/logs/stdio (From OE-Core rev: 93e864a23e3f82edc2b2fa2207b2bc4b56c230a9) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 38d7a2e45b883cf999a86af05bcc0eaa875bb47c) Signed-off-by: Steve Sakoman <steve@sakoman.com>
61 lines
2.6 KiB
Python
61 lines
2.6 KiB
Python
#
|
|
# Copyright OpenEmbedded Contributors
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
from oeqa.selftest.case import OESelftestTestCase
|
|
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
|
|
from oeqa.utils.commands import bitbake, get_bb_vars, runCmd
|
|
from oeqa.core.decorator import OETestTag
|
|
import tempfile
|
|
import shutil
|
|
|
|
@OETestTag("machine")
|
|
class MetaIDE(OESelftestTestCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super(MetaIDE, cls).setUpClass()
|
|
bitbake('meta-ide-support')
|
|
bitbake('build-sysroots -c build_native_sysroot')
|
|
bitbake('build-sysroots -c build_target_sysroot')
|
|
bb_vars = get_bb_vars(['MULTIMACH_TARGET_SYS', 'DEPLOY_DIR_IMAGE', 'COREBASE'])
|
|
cls.environment_script = 'environment-setup-%s' % bb_vars['MULTIMACH_TARGET_SYS']
|
|
cls.deploydir = bb_vars['DEPLOY_DIR_IMAGE']
|
|
cls.environment_script_path = '%s/%s' % (cls.deploydir, cls.environment_script)
|
|
cls.corebasedir = bb_vars['COREBASE']
|
|
cls.tmpdir_metaideQA = tempfile.mkdtemp(prefix='metaide')
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
shutil.rmtree(cls.tmpdir_metaideQA, ignore_errors=True)
|
|
super(MetaIDE, cls).tearDownClass()
|
|
|
|
def test_meta_ide_had_installed_meta_ide_support(self):
|
|
self.assertExists(self.environment_script_path)
|
|
|
|
def test_meta_ide_can_compile_c_program(self):
|
|
runCmd('cp %s/test.c %s' % (self.tc.files_dir, self.tmpdir_metaideQA))
|
|
runCmd("cd %s; . %s; $CC test.c -lm" % (self.tmpdir_metaideQA, self.environment_script_path))
|
|
compiled_file = '%s/a.out' % self.tmpdir_metaideQA
|
|
self.assertExists(compiled_file)
|
|
|
|
def test_meta_ide_can_build_cpio_project(self):
|
|
dl_dir = self.td.get('DL_DIR', None)
|
|
self.project = SDKBuildProject(self.tmpdir_metaideQA + "/cpio/", self.environment_script_path,
|
|
"https://ftp.gnu.org/gnu/cpio/cpio-2.13.tar.gz",
|
|
self.tmpdir_metaideQA, self.td['DATETIME'], dl_dir=dl_dir)
|
|
self.project.download_archive()
|
|
self.assertEqual(self.project.run_configure('$CONFIGURE_FLAGS --disable-maintainer-mode','sed -i -e "/char \*program_name/d" src/global.c;'), 0,
|
|
msg="Running configure failed")
|
|
self.assertEqual(self.project.run_make(), 0,
|
|
msg="Running make failed")
|
|
self.assertEqual(self.project.run_install(), 0,
|
|
msg="Running make install failed")
|
|
|
|
def test_meta_ide_can_run_sdk_tests(self):
|
|
bitbake('-c populate_sysroot gtk+3')
|
|
bitbake('build-sysroots -c build_target_sysroot')
|
|
bitbake('-c testsdk meta-ide-support')
|