From c3d88e4d9fcc08e1aae7cc9d0337c0261e996c64 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 2 Oct 2020 09:45:00 -0500 Subject: poky: subtree update:c6bc20857c..b23aa6b753 Anatol Belski (1): bitbake: bitbake: hashserv: Fix localhost sometimes resolved to a wrong IP Andrew Geissler (1): systemd: Upgrade v246.2 -> v246.6 Anibal Limon (1): mesa: update 20.1.6 -> 20.1.8 Bruce Ashfield (2): linux-yocto/beaglebone: Switch to sdhci-omap driver kernel-yocto: add KBUILD_DEFCONFIG search location to failure message Changqing Li (1): sysklogd: fix parallel build issue Charlie Davies (2): bitbake: bitbake: fetch/git: add support for SRC_URI containing spaces in url bitbake: bitbake: tests/fetch: add unit tests for SRC_URI with spaces in url Chee Yang Lee (1): bash : include patch 17 & 18 Chen Qi (2): populate_sdk_ext.bbclass: add ESDK_MANIFEST_EXCLUDES testsdk.py: remove workspace/sources to avoid failure in case of multilib Chris Laplante (3): bitbake.conf: add name of multiconfig to BUILDCFG_HEADER when multiconfig is active cve-check: introduce CVE_CHECK_RECIPE_FILE variable to allow changing of per-recipe check file cve-check: add CVE_CHECK_REPORT_PATCHED variable to suppress reporting of patched CVEs Christian Eggers (1): packagegroup: rrecommend perf also for musl on ARM De Huo (1): bash: fix CVE-2019-18276 Jean-Francois Dagenais (2): bitbake: bitbake: tests/siggen: introduce clean_basepath testcases bitbake: bitbake: siggen: clean_basepath: improve perfo and readability Jens Rehsack (1): image-artifact-names: make variables overridable Jon Mason (1): Space-comma Cleanups Jonathan Richardson (1): cortex-m0.inc: Add tuning for cortex-m0 Kai Kang (2): systemd: disable xdg-autostart generator by default kea: fix conflict between multilibs Khairul Rohaizzat Jamaluddin (1): sphinx: ref-variables: Added entry for IMAGE_EFI_BOOT_FILES Khem Raj (6): ncurses: Create alternative symlinks for st and st-256color packagegroups: remove strace and lttng-tools for rv32/musl qemuboot: Add QB_RNG variable gettext: Fix ptest failure ptest-runner: Backport patch to fix inappropriate ioctl error systemd: Drop 0023-Fix-field-efi_loader_entry_one_shot_stat-has-incompl.patch Konrad Weihmann (1): testexport: rename create_tarball method Leif Middelschulte (2): bitbake: fetch2: fix handling of `\` in file:// SRC_URI bitbake: tests/fetch: backslash support in file:// URIs Mark Jonas (2): Add license text for PSF-2.0 Map license names PSF and PSFv2 to PSF-2.0 Mingli Yu (3): kea: create /var/lib/kea and /var/run/kea folder bind: remove -r option for rndc-confgen debianutils: update the debian snapshot version Nicolas Dechesne (3): sphinx: report errors when dependencies are not met README: include detailed information about sphinx sphinx: fix up some trademark and branding issues Norman Stetter (1): sstate.bbclass: Check file ownership before doing 'touch -a' Otavio Salvador (1): openssh: Allow enable/disable of rng-tools recommendation on sshd Peter A. Bigot (1): go-mod.bbclass: use append to add `modcacherw` Quentin Schulz (2): docs: static: theme_overrides.css: fix responsive design on <640px screens docs: fix broken links Randy MacLeod (1): curl: Change SRC_URI from http to https Rasmus Villemoes (1): kernel.bbclass: ensure symlink_kernsrc task gets run even with externalsrc Richard Purdie (15): scripts/oe-build-perf-report: Use python3 from the environment dropbear/openssh: Lower priority of key generation oeqa/qemurunner: Increase serial timeout python3-markupsafe: Import from meta-oe/meta-python python3-jinja2: Import from meta-oe/meta-python buildtools-tarball: Add python3-jinja2 buildtools-tarball: Fix conflicts with oe-selftest and other tooling oeqa/selftest/incompatible_lib: Fix append usage oeqa/selftest/containerimage: Update to match assumptions in configuration ssh-pregen-hostkeys: Add a recipe with pregenerated ssh host keys build-appliance-image: Update to master head revision bitbake: Revert "bitbake-layers: add signal hander to avoid exception" staging: Ensure cleaned dependencies are added oeqa/selftest/devtool: Add sync call to test teardown bitbake: cooker: Avoid tracebacks if data was never setup Ross Burton (11): gettext: no need to depend on bison-native meta: add/fix invalid Upstream-Status tags bitbake: taskexp: update for GTK API changes glibc: make nscd optional utils: respect scheduler affinity in cpu_count() rpm: disable libarchive use sstate: set mode explicitly when creating directories in sstate-cache rpm: add PACKAGECONFIG for the systemd inhibit plugin boost: move the build directory outside of S bitbake: utils: add umask changing context manager bitbake: siggen: use correct umask when writing siginfo Saul Wold (2): testimage: Add testimage_dump_target to kwargs target/ssh.py: Add dump_target support Teoh Jay Shen (1): oeqa/runtime : add test for RTC(Real Time Clock) Tim Orling (1): oeqa/selftest/cases/devtool.py: avoid .pyc race Usama Arif (1): ref-manual: document authentication key variables Wang Mingyu (1): maintainers.inc: Add Zang Ruochen and Wang Mingyu for several recipes Yi Zhao (4): dhcpcd: pass --dbdir to EXTRA_OECONF to set database directory dhcpcd: set --runstatedir to /run dhcpcd: add dhcpcd user to support priviledge separation dhcpcd: set service to conflict with connman akuster (1): libdrm: fix build failure zangrc (4): bind: upgrade 9.16.5 -> 9.16.7 stress-ng: upgrade 0.11.19 -> 0.11.21 pango: upgrade 1.46.1 -> 1.46.2 sudo: upgrade 1.9.2 -> 1.9.3 Signed-off-by: Andrew Geissler Change-Id: I2c19d3b3793ee5a6f42e04817147d75f315943a5 --- poky/meta/lib/oeqa/core/target/qemu.py | 4 +++ poky/meta/lib/oeqa/core/target/ssh.py | 2 ++ poky/meta/lib/oeqa/runtime/cases/rtc.py | 38 ++++++++++++++++++++++ poky/meta/lib/oeqa/sdkext/testsdk.py | 3 ++ .../meta/lib/oeqa/selftest/cases/containerimage.py | 3 ++ poky/meta/lib/oeqa/selftest/cases/devtool.py | 10 +++++- .../lib/oeqa/selftest/cases/incompatible_lic.py | 2 +- poky/meta/lib/oeqa/utils/qemurunner.py | 2 +- 8 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 poky/meta/lib/oeqa/runtime/cases/rtc.py (limited to 'poky/meta/lib/oeqa') diff --git a/poky/meta/lib/oeqa/core/target/qemu.py b/poky/meta/lib/oeqa/core/target/qemu.py index 295e8765e..0f29414df 100644 --- a/poky/meta/lib/oeqa/core/target/qemu.py +++ b/poky/meta/lib/oeqa/core/target/qemu.py @@ -12,6 +12,7 @@ from collections import defaultdict from .ssh import OESSHTarget from oeqa.utils.qemurunner import QemuRunner +from oeqa.utils.dump import TargetDumper supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic'] @@ -42,6 +43,9 @@ class OEQemuTarget(OESSHTarget): dump_host_cmds=dump_host_cmds, logger=logger, serial_ports=serial_ports, boot_patterns = boot_patterns, use_ovmf=ovmf) + dump_target_cmds = kwargs.get("testimage_dump_target") + self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner) + self.target_dumper.create_dir("qemu") def start(self, params=None, extra_bootparams=None, runqemuparams=''): if self.use_slirp and not self.server_ip: diff --git a/poky/meta/lib/oeqa/core/target/ssh.py b/poky/meta/lib/oeqa/core/target/ssh.py index aefb57680..461448dbc 100644 --- a/poky/meta/lib/oeqa/core/target/ssh.py +++ b/poky/meta/lib/oeqa/core/target/ssh.py @@ -88,6 +88,8 @@ class OESSHTarget(OETarget): status, output = self._run(sshCmd, processTimeout, True) self.logger.debug('Command: %s\nOutput: %s\n' % (command, output)) + if (status == 255) and (('No route to host') in output): + self.target_dumper.dump_target() return (status, output) def copyTo(self, localSrc, remoteDst): diff --git a/poky/meta/lib/oeqa/runtime/cases/rtc.py b/poky/meta/lib/oeqa/runtime/cases/rtc.py new file mode 100644 index 000000000..a34c101a9 --- /dev/null +++ b/poky/meta/lib/oeqa/runtime/cases/rtc.py @@ -0,0 +1,38 @@ +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage + +import re + +class RTCTest(OERuntimeTestCase): + + def setUp(self): + if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd': + self.logger.debug('Stopping systemd-timesyncd daemon') + self.target.run('systemctl disable --now systemd-timesyncd') + + def tearDown(self): + if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd': + self.logger.debug('Starting systemd-timesyncd daemon') + self.target.run('systemctl enable --now systemd-timesyncd') + + @OETestDepends(['ssh.SSHTest.test_ssh']) + @OEHasPackage(['coreutils', 'busybox']) + def test_rtc(self): + (status, output) = self.target.run('hwclock -r') + self.assertEqual(status, 0, msg='Failed to get RTC time, output: %s' % output) + + (status, current_datetime) = self.target.run('date +"%m%d%H%M%Y"') + self.assertEqual(status, 0, msg='Failed to get system current date & time, output: %s' % current_datetime) + + example_datetime = '062309452008' + (status, output) = self.target.run('date %s ; hwclock -w ; hwclock -r' % example_datetime) + check_hwclock = re.search('2008-06-23 09:45:..', output) + self.assertTrue(check_hwclock, msg='The RTC time was not set correctly, output: %s' % output) + + (status, output) = self.target.run('date %s' % current_datetime) + self.assertEqual(status, 0, msg='Failed to reset system date & time, output: %s' % output) + + (status, output) = self.target.run('hwclock -w') + self.assertEqual(status, 0, msg='Failed to reset RTC time, output: %s' % output) + diff --git a/poky/meta/lib/oeqa/sdkext/testsdk.py b/poky/meta/lib/oeqa/sdkext/testsdk.py index c5c46df6c..ffd185ec5 100644 --- a/poky/meta/lib/oeqa/sdkext/testsdk.py +++ b/poky/meta/lib/oeqa/sdkext/testsdk.py @@ -99,6 +99,9 @@ class TestSDKExt(TestSDKBase): if not result.wasSuccessful(): fail = True + # Clean the workspace/sources to avoid `devtool add' failure because of non-empty source directory + bb.utils.remove(sdk_dir+'workspace/sources', True) + if fail: bb.fatal("%s - FAILED - check the task log and the commands log" % pn) diff --git a/poky/meta/lib/oeqa/selftest/cases/containerimage.py b/poky/meta/lib/oeqa/selftest/cases/containerimage.py index c0998e319..4ad7f0e65 100644 --- a/poky/meta/lib/oeqa/selftest/cases/containerimage.py +++ b/poky/meta/lib/oeqa/selftest/cases/containerimage.py @@ -42,6 +42,9 @@ IMAGE_FSTYPES = "container" PACKAGE_CLASSES = "package_ipk" IMAGE_FEATURES = "" IMAGE_BUILDINFO_FILE = "" +INIT_MANAGER = "sysvinit" +IMAGE_INSTALL_remove = "ssh-pregen-hostkeys" + """) bbvars = get_bb_vars(['bindir', 'sysconfdir', 'localstatedir', diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py index b383ed9c5..4a791ff40 100644 --- a/poky/meta/lib/oeqa/selftest/cases/devtool.py +++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py @@ -56,7 +56,8 @@ def setUpModule(): if pth.startswith(canonical_layerpath): if relpth.endswith('/'): destdir = os.path.join(corecopydir, relpth) - shutil.copytree(pth, destdir) + # avoid race condition by not copying .pyc files YPBZ#13421,13803 + shutil.copytree(pth, destdir, ignore=ignore_patterns('*.pyc', '__pycache__')) else: destdir = os.path.join(corecopydir, os.path.dirname(relpth)) bb.utils.mkdirhier(destdir) @@ -106,6 +107,13 @@ class DevtoolBase(OESelftestTestCase): 'under the build directory') self.append_config(self.sstate_conf) + def tearDown(self): + # devtools tests are heavy on IO and if bitbake can't write out its caches, we see timeouts. + # call sync around the tests to ensure the IO queue doesn't get too large, taking any IO + # hit here rather than in bitbake shutdown. + super().tearDown() + os.system("sync") + def _check_src_repo(self, repo_dir): """Check srctree git repository""" self.assertTrue(os.path.isdir(os.path.join(repo_dir, '.git')), diff --git a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py index 3eabd7909..2a6382a1a 100644 --- a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py +++ b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py @@ -85,7 +85,7 @@ class IncompatibleLicenseTests(OESelftestTestCase): class IncompatibleLicensePerImageTests(OESelftestTestCase): def default_config(self): return """ -IMAGE_INSTALL_append = "bash" +IMAGE_INSTALL_append = " bash" INCOMPATIBLE_LICENSE_pn-core-image-minimal = "GPL-3.0 LGPL-3.0" """ diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py index 519aa9aa1..77ec939ad 100644 --- a/poky/meta/lib/oeqa/utils/qemurunner.py +++ b/poky/meta/lib/oeqa/utils/qemurunner.py @@ -393,7 +393,7 @@ class QemuRunner: # If we are not able to login the tests can continue try: - (status, output) = self.run_serial(self.boot_patterns['send_login_user'], raw=True) + (status, output) = self.run_serial(self.boot_patterns['send_login_user'], raw=True, timeout=120) if re.search(self.boot_patterns['search_login_succeeded'], output): self.logged = True self.logger.debug("Logged as root in serial console") -- cgit v1.2.3