summaryrefslogtreecommitdiff
path: root/poky/meta/lib/oeqa/selftest/cases/devtool.py
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2022-04-02 16:58:32 +0300
committerPatrick Williams <patrick@stwcx.xyz>2022-04-04 20:54:11 +0300
commit45852739b8823d99a818e714b72961886759fe2e (patch)
tree92fc4d26b025440bff29a7b0cbf204c7f5cca151 /poky/meta/lib/oeqa/selftest/cases/devtool.py
parente9c4c65544ebd9f2c5772936c9fe0552d5e6d5b0 (diff)
downloadopenbmc-45852739b8823d99a818e714b72961886759fe2e.tar.xz
subtree updates
meta-openembedded: 9a52bfc4a6..af11f6ce73: Andreas Müller (4): nautilus: Add a packageconfig for libportal - disabled by default gtk4: upgrade 4.4.0 -> 4.6.2 libadwaita: initial add 1.1.0 gtksourceview5: upgrade 5.2.0 -> 5.4.0 Carlos Rafael Giani (3): libopenmpt: Remove unnecessary python code block pipewire: Upgrade to version 0.3.49 wireplumber: Upgrade to version 0.4.9 Kai Kang (4): wxwidgets: 3.1.4 -> 3.1.5 python3-wxgtk4: add recipe wxwidgets: fix typo mcelog: fix compile error Khem Raj (1): python3-wxgtk4: Use cross prefix with native wx-config Matthias Klein (1): paho-mqtt-c: upgrade 1.3.9 -> 1.3.10 Mingli Yu (1): mariadb: increase MY_AES_CTX_SIZE Potin Lai (4): libimobiledevice-glue: add recipe libimobiledevice-glue: fix undefined bswap error libirecovery: add recipe idevicerestore: add recipe S. Lockwood-Childs (1): python3-evdev: fix host header contamination Yi Zhao (2): strongswan: 5.9.4 -> 5.9.5 libnetfilter-conntrack: upgrade 1.0.8 -> 1.0.9 meta-raspberrypi: c06ae5eacf..31c33d155c: Khem Raj (3): linux-raspberrypi_5.15.bb: Upgrade to 5.15.32 raspberrypi-firmware: Update to match 5.15.32 armstubs: Upgrade to 20211101 poky: 5fe3689f4f..1976521190: Chen Qi (1): gobject-introspection: fix default search path for girdir Daniel Ammann (2): overview-manual: Fix reference ref-manual: Add vfat in list of filesystems supported by kickstart Jagadeesh Krishnanjanappa (1): cmake: support to create per-toolchain cmake file in SDK Khem Raj (2): weston: Add a knob to control simple clients meson: Robustify compiler detection logic Marta Rybczynska (1): doc: migration-3.5: extend the section on inclusive language Michael Halstead (1): releases: update to include 3.4.3 Michael Opdenacker (4): overview-manual: add missing upper case docs: add poky.yaml and sphinx-static/switchers.js to "make clean" manuals: fix quoting of double dashes migration-guides: preliminary description for 3.5 Oleksandr Kravchuk (1): python3: update to 3.10.4 Peter Kjellerstedt (1): ref-manual: Remove references to AVAILABLE_LICENSES Rasmus Villemoes (1): git: make expat and curl into PACKAGECONFIG items Richard Purdie (11): set_versions/switchers: Drop versions shown to the active releases mirrors: Add missing gitsm entries for yocto/oe mirrors base: Don't add duplicates to sys.path base: Clean up module import compatibility code modutils-initscripts: Change license PD -> MIT keymaps: Clean up license handling initscripts: Clean up license handling/identifiers bitbake: cooker: Further fixes to inotify to fix memres bitbake issues bitbake: cooker: Restore sys.path and sys.modules between parses bitbake: cooker: Ensure any existing hashserv connection is closed bitbake: cooker: Avoid error if siggen wasn't setup Ross Burton (24): ref-manual: update Python class documentation buildtools-tarball: include nativesdk-python3-pyyaml image_types: hddimg and iso only work on x86 oeqa/selftest/devtool: ensure Git username is set before upgrade tests oeqa/selftest/wic: use os.rename instead of bb.utils.rename oeqa/selftest/wic: remove redundant asserts oeqa/selftest/wic: clean up only_for_arch decorator oeqa/selftest/wic: don't hardcode kernel image type in test_wic_rm oeqa/selftest/wic: add more arch-specific annotations oeqa/selftest/buildoptions: set PACKAGE_CLASSES in test_arch_work_dir_and_export_source oeqa/runtime/decorator/package.py: remove use of strToSet oeqa/core/decorator: remove redundant code testimage: inline updateTestData() oeqa/core/utils/misc: remove redundant file oeqa/selftest: remove unused imports oeqa/core/decorators/data: improve has_* logic oeqa/selftest: tag tests that use runqemu oeqa: rationalise skipifqemu decorators oeqa/selftest/oescripts: refactor skipping logic oeqa/selftest/wic: cleanup WicTestCase.setUpLocal oeqa/selftest/wic: rearrange tests oeqa/selftest/wic: use os.path.join to join paths oeqa/selftest/wic: use self.td instead of get_bb_var to save on bitbake calls oeqa/selftest: generalise test_devtool_virtual_kernel_modify Simon Kuhnle (1): convert-variable-renames: Fix typo in description Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ic8359fe5772351a45a3154c6a7f5042a88ff934c
Diffstat (limited to 'poky/meta/lib/oeqa/selftest/cases/devtool.py')
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/devtool.py49
1 files changed, 27 insertions, 22 deletions
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index e910672c31..3eea2b1a0e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -9,10 +9,10 @@ import tempfile
import glob
import fnmatch
-import oeqa.utils.ftools as ftools
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer
from oeqa.utils.commands import get_bb_vars, runqemu, get_test_layer
+from oeqa.core.decorator import OETestTag
oldmetapath = None
@@ -1351,6 +1351,7 @@ class DevtoolExtractTests(DevtoolBase):
matches2 = glob.glob(stampprefix2 + '*')
self.assertFalse(matches2, 'Stamp files exist for recipe %s that should have been cleaned' % testrecipe2)
+ @OETestTag("runqemu")
def test_devtool_deploy_target(self):
# NOTE: Whilst this test would seemingly be better placed as a runtime test,
# unfortunately the runtime tests run under bitbake and you can't run
@@ -1471,6 +1472,14 @@ class DevtoolExtractTests(DevtoolBase):
class DevtoolUpgradeTests(DevtoolBase):
+ def setUp(self):
+ super().setUp()
+ try:
+ runCmd("git config --global user.name")
+ runCmd("git config --global user.email")
+ except:
+ self.skip("Git user.name and user.email must be set")
+
def test_devtool_upgrade(self):
# Check preconditions
self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
@@ -1866,8 +1875,9 @@ class DevtoolUpgradeTests(DevtoolBase):
Expected: devtool modify is able to checkout the source of the kernel
and modification to the source and configurations are reflected
when building the kernel.
- """
- kernel_provider = get_bb_var('PREFERRED_PROVIDER_virtual/kernel')
+ """
+ kernel_provider = self.td['PREFERRED_PROVIDER_virtual/kernel']
+
# Clean up the environment
bitbake('%s -c clean' % kernel_provider)
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -1894,33 +1904,28 @@ class DevtoolUpgradeTests(DevtoolBase):
self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found')
#Step 4.2
configfile = os.path.join(tempdir,'.config')
- diff = runCmd('diff %s %s' % (tmpconfig, configfile))
- self.assertEqual(0,diff.status,'Kernel .config file is not the same using bitbake and devtool')
+ runCmd('diff %s %s' % (tmpconfig, configfile))
+
#Step 4.3
#NOTE: virtual/kernel is mapped to kernel_provider
- result = runCmd('devtool build %s' % kernel_provider)
- self.assertEqual(0,result.status,'Cannot build kernel using `devtool build`')
+ runCmd('devtool build %s' % kernel_provider)
kernelfile = os.path.join(get_bb_var('KBUILD_OUTPUT', kernel_provider), 'vmlinux')
self.assertExists(kernelfile, 'Kernel was not build correctly')
#Modify the kernel source
- modfile = os.path.join(tempdir,'arch/x86/boot/header.S')
- modstring = "Use a boot loader. Devtool testing."
- modapplied = runCmd("sed -i 's/Use a boot loader./%s/' %s" % (modstring, modfile))
- self.assertEqual(0,modapplied.status,'Modification to %s on kernel source failed' % modfile)
+ modfile = os.path.join(tempdir, 'init/version.c')
+ runCmd("sed -i 's/Linux/LiNuX/g' %s" % (modfile))
+
#Modify the configuration
- codeconfigfile = os.path.join(tempdir,'.config.new')
+ codeconfigfile = os.path.join(tempdir, '.config.new')
modconfopt = "CONFIG_SG_POOL=n"
- modconf = runCmd("sed -i 's/CONFIG_SG_POOL=y/%s/' %s" % (modconfopt, codeconfigfile))
- self.assertEqual(0,modconf.status,'Modification to %s failed' % codeconfigfile)
+ runCmd("sed -i 's/CONFIG_SG_POOL=y/%s/' %s" % (modconfopt, codeconfigfile))
+
#Build again kernel with devtool
- rebuild = runCmd('devtool build %s' % kernel_provider)
- self.assertEqual(0,rebuild.status,'Fail to build kernel after modification of source and config')
+ runCmd('devtool build %s' % kernel_provider)
+
#Step 4.4
- bzimagename = 'bzImage-' + get_bb_var('KERNEL_VERSION_NAME', kernel_provider)
- bzimagefile = os.path.join(get_bb_var('D', kernel_provider),'boot', bzimagename)
- checkmodcode = runCmd("grep '%s' %s" % (modstring, bzimagefile))
- self.assertEqual(0,checkmodcode.status,'Modification on kernel source failed')
+ runCmd("grep '%s' %s" % ('LiNuX', kernelfile))
+
#Step 4.5
- checkmodconfg = runCmd("grep %s %s" % (modconfopt, codeconfigfile))
- self.assertEqual(0,checkmodconfg.status,'Modification to configuration file failed')
+ runCmd("grep %s %s" % (modconfopt, codeconfigfile))