summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* oeqa: remove Clutter usageRoss Burton2021-06-032-15/+3
| | | | | | | | | Remove the use of core-image-clutter in selftest and manual Toaster QA. (From OE-Core rev: a634a0555d000d93a23890b68e54f06370f0a97e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: Add option to strip path prefixJoshua Watt2021-06-031-2/+13
| | | | | | | | | | | Adds an option to strip a prefix from the paths reported in buildhistory. This makes it easier to compare task signatures in the build history when the builds were done from different directories. (From OE-Core rev: 194e7a29212c4a29222730f47d3133dfe92447c1) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager/rpm: decode systemctl failuresArmin Kuster2021-06-011-0/+3
| | | | | | | | | | | Parse systemctl error to provide more info [Yocto #14395] (From OE-Core rev: 9d33a3ad68aeadd359e978b35097ece507a92b14) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Improve timeout handlingRichard Purdie2021-06-011-28/+22
| | | | | | | | | | We had debugging for qemu faiing to start which was no longer reachable after the QMP changes. Reorder the code to enable this debugging to work again which may allow insight into autobuilder failures in this area. (From OE-Core rev: 8fac8c61565977c775d8ede5bddc856b7767a3e4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/rpm: Drop log message counting test componentRichard Purdie2021-05-281-9/+0
| | | | | | | | | | | | | | This test is flawed since multiple parts of the system can write to the log and we obtain different numbers of log messages depending on factors we can't control. Drop the log testing component of the test. [YOCTO #12465] (From OE-Core rev: 2ad815dbafda0b90f5164f05d22dbbc26cb53f13) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig.py: make it fatal error when sstate manifest isn't foundMartin Jansa2021-05-211-1/+1
| | | | | | | | | | * all known issues in this area were fixed, make it fatal that it cannot be overlooked if someone triggers this issue again (From OE-Core rev: 64b89f3c8fc31842256c482a3039d90d3f12c1cc) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/gpg_sign.py: Fix gpg verificationDaniel McGregor2021-05-211-1/+1
| | | | | | | | | | | A stray space made it into the command for verifying gpg signatures. This caused verification to fail, at least on my host. Removing the space makes it work as expected. (From OE-Core rev: af1d948822cbe6ac7ede9cb4e881db8dc780e308) Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe/rootfs.py: Fix typo "Restoreing" -> "Restoring"Robert P. J. Day2021-05-131-1/+1
| | | | | | | (From OE-Core rev: 2621dbbc1181808f18ca4ae79408d0d5b557670f) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Improve handling of run_serial for shutdown commandsRichard Purdie2021-05-091-1/+6
| | | | | | | | | | | When running a shutdown command, the serial port can close without the command returning. This is seen as the socket being readable but having no data. Change the way this case is handled in the code to avoid tracebacks. (From OE-Core rev: 396a3ba884820d040c91f7592daf20ac28c49b5d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Fix binary vs str issueRichard Purdie2021-05-091-2/+2
| | | | | | | | | | | | | | The recent logging changes for qemurunner showed up as errors on the autobuilder where decode couldn't be called on the returned string. Since the code returns binary data, return b'' instead of '' to match to avoid tracebacks. One of these cases was newly added, copied from the other which has been there for a long time, always broken. (From OE-Core rev: b8995b27db265b0a0b2d2ca595915f70f9f96e07) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: change warning to infoSaul Wold2021-05-061-1/+1
| | | | | | | | | | | This information is useful, but should not be a warning level. [YOCTO #14382] (From OE-Core rev: cd17d8bb00be1ecb7c92ab13eb8b162807aefed9) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/package_manager: Use shutil.copy instead of bb.utils.copyfile for interceptsRichard Purdie2021-05-061-1/+1
| | | | | | | | | | If the scripts/postinst-intercepts is owned by root/root then the copyfile() calls will fail due to chown issues. We don't care about ownership of these files so use shutil.copy() instead which won't perform any chown. (From OE-Core rev: 1a03c70c282b3445b93a4c70ea6d40a1778750c5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Handle path length issues for qmp socketRichard Purdie2021-05-061-24/+32
| | | | | | | | | | | | | | | | | | After the addition of the qmp socket, runqemu started failing: ERROR - Failed to run qemu: qemu-system-aarch64: -qmp unix:/home/yocto/actions-runner-meta-openembedded/_work/meta-openembedded/meta-openembedded/yoe/build/tmp/.3eg5fiid,server,wait: UNIX socket path '/home/yocto/actions-runner-meta-openembedded/_work/meta-openembedded/meta-openembedded/yoe/build/tmp/.3eg5fiid' is too long Path must be less than 108 bytes To avoid this, run qemu within tmpdir and use a relative path to the socket. This avoids having to patch the socket code within qemu. Update the client code to chdir and only use a relative path to the socket to match. (From OE-Core rev: 5c56e72fca18dc942f5c1fd377e98d46ae0126f1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Improve logging thread exit handling for qemu shutdown testRichard Purdie2021-05-062-6/+15
| | | | | | | | | | | | | | | Rather than totally disabling the logging, inform it we're about to exit so we can log messages over the exit cleanly too. This aids debugging. It also avoids a race where the logging handler could still error whilst shutting down. Also remove a race window by notificing the handler of the shutdown first, before triggering it. This removes a race window I watched in local testing. (From OE-Core rev: 0e19f31a1005f94105e1cef252abfffcef2aafad) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib/scripts: Use bb.utils.rename() instead of os.rename()Devendra Tewari2021-05-064-10/+10
| | | | | | | | | | | | | | | | | | Incremental build in Docker fails with: OSError: [Errno 18] Invalid cross-device link when source and destination are on different overlay filesystems. Rather than adding fallback code to every call site, use a new wrapper in bitbake which detects this case and falls back to shutil.move which is slower but will handtle the overlay docker filesystems correctly. [YOCTO #14301] (From OE-Core rev: 656a65b2b84e7d529b89cf5de7eb838f902d84a2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "oeqa: Set LD_LIBRARY_PATH when executing native commands"Alexander Kanavin2021-05-061-3/+0
| | | | | | | | | | | | | | | | | LD_LIBRARY_PATH leaks into host executables too, and breaks them as they are not uninative-enabled. E.g. on ubuntu 18.04 trying to run host bash with a sysroot that was built on Fedora 33: akanavin@ubuntu1804-ty-3:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/build-st-24341/tmp/work/x86_64-linux/gnupg-native/2.3.1-r0/recipe-sysroot-native$ LD_LIBRARY_PATH=./usr/lib /bin/bash /bin/bash: ./usr/lib/libtinfo.so.5: no version information available (required by /bin/bash) /bin/bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./usr/lib/libtinfo.so.5) This was seen e.g. here: https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/2090/steps/14/logs/stdio (From OE-Core rev: 0e9850486b74a3de934527ca1077df001d3a8d22) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py: find .ko.gz and .ko.xz kernel modules as wellChristophe Chapuis2021-05-021-1/+1
| | | | | | | | | | | | | * with xz PACKAGECONFIG enabled in kmod and xz module compression enabled in kernel the do_rootfs task doesn't run depmod in the image, because it thinks there are no modules: NOTE: No Kernel Modules found, not running depmod (From OE-Core rev: 9c13ce05eae0f126eb150e48709e9bd06e9280fa) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* prservice: Use new connect APIPaul Barker2021-05-011-1/+1
| | | | | | | | | | | The new prserv connect() function decouples the code in oe-core from the exact classes and implementation details used within bitbake. This allows us to more easily switch over to a new asyncrpc based prservice. (From OE-Core rev: 6bf39c5c8cf09e3f2ce6eba13b9d18193bce9655) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: transition to weston imagesAlexander Kanavin2021-04-275-14/+12
| | | | | | | | | | For readonly rootfs tests core-image-weston is appended; everywhere else it replaces core-image-sato. (From OE-Core rev: 75e042db853b9bf9a70ff8a5abe6d45ebb0b77a9) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/tests/test_data.py: use weston image instead of satoAlexander Kanavin2021-04-271-1/+1
| | | | | | | (From OE-Core rev: c2ccd8c8144cdda52b858589f7d5d3a15ab28b90) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Add support for qmp commandsSaul Wold2021-04-275-6/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Qemu Machine Protocol [0] extending the current dump process for Host and Target. The commands are added in the testimage.bbclass. Currently, we setup qemu to stall until qmp gets connected and sends the initialization and continue commands, this works correctly. If the UNIX Socket does not exist, we wait an timeout to ensure to socket file is created. With this version, the monitor_dumper is created in OEQemuTarget but then set in OESSHTarget as that's where we get the SSH failure happens. Python's @property is used to create a setter/getter type of setup in OESSHTarget to get overridden by OEQemuTarget. By default the data is currently dumped to files for each command in TMPDIR/log/runtime-hostdump/<date>_qmp/unknown_<seq>_qemu_monitor as this is the naming convenstion in the dump.py code. We use the qmp.py from qemu, which needs to get installed in the recipe-sysroot-native of the target image. [0] https://github.com/qemu/qemu/blob/master/docs/interop/qmp-spec.txt (From OE-Core rev: 42af4cd2df72fc8ed9deb3fde4312909842fcf91) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oeqa/core/tests/cases/timeout.py: add a testcase for the previous fixAlexander Kanavin2021-04-232-0/+19
| | | | | | | | | | | | | | | | | | This is the sequence that didn't properly operate: - a test case that skips and isn't executed - a second test case that is skipped via a dependency decorator, and sets a timeout - a third test case that takes longer than the timeout from the second test case Without the fix, the timeout is not cleared, and the third test case is erroneously aborted. With the fix, the timeout is cleared and the third test case is able to complete. (From OE-Core rev: 54ef07a9aa1af8f41cfb9a4802929c918efc43c8) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: tear down oeqa decorators if one of them raises an exception in setupAlexander Kanavin2021-04-232-4/+10
| | | | | | | | | | | | | | | | Some of the decorators need proper cleanup, such as OETimeout which sets a signal handler that needs to be cleared via teardown. If this is not done then the signal gets called later with unpredictable effects. This can be seen if there's a test that is skipped via a decorator and sets a timeout at the same time: the timeout isn't cleared, and is invoked later in a completely unrelated context. The test case for this is added in the next commit. (From OE-Core rev: f42a08e1aabf1ca57e0c09d69fb69cc717c7f156) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/bblayers: Add test case for bitbake-layers layerindex-show-dependsDiego Sueiro2021-04-231-0/+5
| | | | | | | (From OE-Core rev: 80090c31164d62a169431ab71c4aaee5475b6f40) Signed-off-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json : remove ↵Teoh Jay Shen2021-04-231-30/+0
| | | | | | | | | | | Test_if_usb_hid_device_works_well_after_resume_from_suspend_state manual test Remove the Test_if_usb_hid_device_works_well_after_resume_from_suspend_state test as it was replaced by the new automated runtime oeqa/runtime/cases/usb_hid.py. (From OE-Core rev: 61b0eba90ba4676967b96b5561f99ee2294352a0) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json :remove ↵Teoh Jay Shen2021-04-231-34/+0
| | | | | | | | | | | Check_if_RTC_(Real_Time_Clock)_can_work_correctly manual test Remove the Check_if_RTC_(Real_Time_Clock)_can_work_correctly test as it was replaced by the new automated runtime oeqa/runtime/cases/rtc.py. (From OE-Core rev: ea5d87f014b33b88402176ae7e07f8ff216415a0) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json : remove click_terminal_icon_on_X_desktop manual testTeoh Jay Shen2021-04-231-22/+0
| | | | | | | | | Remove the click_terminal_icon_on_X_desktop test as it was replaced by the new automated runtime oeqa/runtime/cases/terminal.py. (From OE-Core rev: ce10543b03349a68dd2639990b8c267110dcab2e) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json : remove standby and ↵Teoh Jay Shen2021-04-231-64/+0
| | | | | | | | | | | Test_if_LAN_device_works_well_after_resume_from_suspend_state manual test Remove standby and Test_if_LAN_device_works_well_after_resume_from_suspend_state test as they was replaced by the new automated runtime oeqa/runtime/cases/suspend.py. (From OE-Core rev: 2b99a35f0131300a121304ac46f2d29b593128c0) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json : remove ethernet_static_ip_set_in_connman and ↵Teoh Jay Shen2021-04-231-64/+0
| | | | | | | | | | | ethernet_get_IP_in_connman_via_DHCP manual test Remove ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP test as they was replaced by the new automated runtime oeqa/runtime/cases/ethernet_ip_connman.py. (From OE-Core rev: bb7d753e636c81d1a9d48210da6910c711e4f2df) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json : remove boot_from_runlevel_3 and ↵Teoh Jay Shen2021-04-231-64/+0
| | | | | | | | | | | boot_from_runlevel_5 manual test Remove boot_from_runlevel_3 and boot_from_runlevel_5 test as they was replaced by the new automated runtime oeqa/runtime/cases/runlevel.py. (From OE-Core rev: f4f9dffddf699cef63ab5554e2f92ae026574e89) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/cases: Only disable/enable for current bootWes Lindauer2021-04-202-4/+4
| | | | | | | | | | | | | | | | | | Previously doing a stop/start worked, but using a disable/enable does not work on a read-only rootfs. Add a --runtime flag to systemctl so that systemd only modifies the current boot and does not attempt to write to the filesystem. This also keeps the test from making a permanent (one could argue policy) change to the running system being tested. i.e. What if the image being tested had intentionally disabled the timesyncd service in preference to using chrony or ntpd? The test shouldn't assume that the user wants the timesyncd service enabled. (From OE-Core rev: 43dd83b6a325589368c980a3f17cab90935aaeb0) Signed-off-by: Wes Lindauer <wesley.lindauer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: ignore floppy error on qemu-system-x86 at boot stageYanfei Xu2021-04-181-0/+2
| | | | | | | | | | | | | | | | | | | | | We can disable floppy drive by BIOS on a hardware, but an empty floppy drive is connected by default on qemu-system-x86. Linux usually detect the device and modprode the matched floppy.ko at the boot stage. Due to we don't specify a floppy deivce in qemu boot arguments, then the errors about floppy reading comes out. It is harmless and normal, so we could ignore this error message on qemux86. Seen if kernel-modules is included in the image which pulls in the relavent kernel module. https://lists.gnu.org/archive/html/qemu-devel/2021-04/msg01402.html (From OE-Core rev: 3359f23ee9351c70997d5e0a17d17d1e47d59623) Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime: space neededJon Mason2021-04-181-2/+2
| | | | | | | | | | | | | Messages are currently being printed as: Test requires dropbear, oropenssh-sshd to be installed but should be Test requires dropbear, or openssh-sshd to be installed Adding the space after the 'or' corrects this. (From OE-Core rev: 51596e0f8cebe1607ab64ffb018d51e815c0ee4b) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deb: apply postinstall on sdkhongxu2021-04-181-0/+4
| | | | | | | | | | | | | | | | | | | | | If not postinstall applied, some nativesdk command could not be found in sdk due to update-alternatives in postinst not be executed, such as chroot: $ which chroot /sbin/chroot $ which chroot.coreutils path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot.coreutils After applying the fix $ which chroot path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot $ which chroot.coreutils path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot.coreutils (From OE-Core rev: 2a9bf19502766baa4087456649d5471483d04f6a) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Ensure packages classes are set correctly for maintainers testRichard Purdie2021-04-181-1/+1
| | | | | | | | | | | | | | The dnf packages aren't parsed if rpm isn't in PACKAGE_CLASSES which means the aintainers test failes for OE-Core (where ipk is the default) but not for poky (where the default is rpm). Ensure PACKAGE_CLASSES is set so it works in all cases. [YOCTO #14277] (From OE-Core rev: 842b11107363357ed933cfcf619f1cf23f0d841e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: Fix tmux new-session on older tmux versions (<1.9)Peter Budny2021-04-181-3/+13
| | | | | | | | | | | `tmux new -c` fails on tmux older than 1.9, when that flag was added. We can omit the flag for older versions of tmux, and the working directory gets set even without it. (From OE-Core rev: c55c294be6f5119f4c58a4e7a0bc052904126569) Signed-off-by: Peter Budny <pbbudny@amazon.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Hardcode test assumptions about heartbeat event timingsRichard Purdie2021-04-161-3/+3
| | | | | | | | | Setting a value of 10 for heartbeat events causes the test to fail. Hardcode a value to ensure it works correctly even if the default is changed. (From OE-Core rev: 08b2c9a23ce43ed65a16f5f0714b19a571e1b54a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: add test case for SRC_URI dependency sniffingRoss Burton2021-04-061-0/+54
| | | | | | | | | Add tests to verify that SRC_URI dependency sniffing works correctly. (From OE-Core rev: 394b98f7d77c199a4a022447ec5d722ffb7d1741) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot: Fixes SPL verified boot on corner casesKlaus Heinrich Kiwi2021-04-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * The kernel-fitimage class adds a do_assemble_fitimage_initramfs task regardless of INITRAMFS_IMAGE_BUNDLE setting, which in some cases can result in that task running after do_uboot_assemble_fitimage and overwriting the u-boot-spl.dtb file with the pristine version (without public key). Fix this by making do_uboot_assemble_fitimage dependant on both do_assemble_fitimage_* tasks, regardless of the aforementioned setting. * Adjust 'type' and 'os' on the U-boot fitimage its script so that mkimage/dumpimage can recognize them. * Move the deployment of the u-boot-spl-nodtb files outside of concat_spl_dtb_helper(), so that we can better isolate the scenarios of creating an (unsigned) U-Boot fitimage versus also signing it. This prevents some stale files from being deployed in the images directory. * Remove any u-boot-fitImage and u-boot-its files from build tree, in case the build tree is being reused across bitbake calls. (From OE-Core rev: dc26d35e0935f30af55a3d2cb5c501d1b5c35437) Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: Add U-Boot fitImage signing testcasesKlaus Heinrich Kiwi2021-04-061-0/+468
| | | | | | | | | | | | | | | | | | | Derived from the similar kernel fitImage sign testcase, the U-Boot fitImage testcases exercises the following fitimage.FitImageTest scenarios: * test_uboot_fit_image - create unsigned U-Boot fitImage * test_uboot_sign_fit_image - create unsigned U-Boot fitImage in addition to signed Kernel fitImage * test_sign_standalone_uboot_fit_image - Create signed U-Boot fitImage without a Kernel fitImage * test_sign_cascaded_uboot_fit_image - Create and sign U-Boot and Kernel fitImages (From OE-Core rev: e71e4c617568496ae3bd6bb678f97b4f73cb43d8) Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runqemu: Support RUNQEMU_TMPFS_DIR as a location to copy snapshot images toRichard Purdie2021-04-064-4/+14
| | | | | | | | | | | | | | | | | | We have a working theory that IO queues on the autobuilder are impacting runtime testing under qemu, particularly async writes which inice does not influence. We already pass the snapshot option to qemu which copies the image and runs out of the copy. Add in the ability to copy the image to a specificed location which can be a tmpfs. This means that writes to the image would no longer be blocked by other writes to disk in the system. Preliminary tests show that this does improve the qemu errors at the expense of sometimes showing qemu startup timeouts as on a loaded system with a large test image, it can take longer than 120s to copy the image to tmpfs. Having a most consistent failure mode for loaded tests is probably desireable though. (From OE-Core rev: fd1c26ab426c3699ffd8082b83d65a84c8eb8bff) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/concurrencytest: Fix display of test stdout/stderrRichard Purdie2021-04-061-16/+17
| | | | | | | | | | | | | | | | If oe-selftest is run with -j, the output to stdout/stderr is being lost at present. Capture this and display it upon test failure. We have code that previously tried to enable this but it wasn't functioning correctly. This should give more usable error reports on the autobuilder. This code will mix stdout and stderr as the output is streamed from the test server without markup. This is most in keeping with subunit/testools though and the easiest way to handle the various challenges here as far as I can see. (From OE-Core rev: 6a954ce5834c8026adecff8478c3d827640bc647) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/concurrencytest: Rename variables to improve the codeRichard Purdie2021-04-061-13/+13
| | | | | | | | | | Each time I look at this code I get confused about what the different variables represent. Rename a few of them to better indicate what they represent. (From OE-Core rev: e39d97c0b191add9281bac463ca059685288c81a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Avoid copying and producing .pyc filesMark Hatle2021-03-281-3/+3
| | | | | | | | | | | | Since pyc cache files are really system specific, no real reason to copy or generate them during the eSDK build process. Also generating them has the possibility of re-using inodes that pseudo may have been tracking, leading a build failure. (From OE-Core rev: ce8eba263647ae63a722122e28f26af46ae083a0) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py: uninstall the run-postinsts package if not neededAwais Belal2021-03-281-5/+3
| | | | | | | | | | | | | | | | | | | | The run-postinsts package runs post installation scripts on target if packages request delayed post installations. When no delayed post installations are found the sysV style scripts are disabled for the package and hence it did not run on sysV based systems. However, the package provides systemd service as well which still ran on systems based on systemd even when no post installations were found. Rather than disabling/masking scripts for different initialization managers we now simply remove/uninstall the run-postinsts package when no post installations are found to be delayed till runtime. This is also more aligned with the function (_uninstall_unneeded) this functionality is triggered through. (From OE-Core rev: 627fb3181edd71502fbdf96549c41b2dea027250) Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/utils: add directory size functionRoss Burton2021-03-281-0/+31
| | | | | | | | | | | | | | | | | | | For the purpose of image construction using du on a rootfs directory isn't entirely satisfactory. Bare "du" will report the actual disk usage so file systems which can compress the data will report less than the actual space required. Using "du --apparent-size" will report the actual space used, but as this simply sums the bytes used for content across an entire file system can result in significant under-reporting due to block size overhead. Attempt to solve these problems by implementing our own function to calculate how large a rootfs will be. This function handles hardlinks correctly but rounds up all sizes to multiples of the block size (currently, 4KB is the hard-coded block size). (From OE-Core rev: 6ca53ad7b26ee2b4e6d2c121c6f6d6eed7f6b56f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/wic: Fix dependency issue in rawcopy testRichard Purdie2021-03-201-7/+11
| | | | | | | | | | | | | The current test code contains a subtle race. It is building an ext4, then trying to reuse that image in a wic build for the same recipe. Whilst this happened to work, the code is within its rights to clean up the output before the wic code runs. Avoid this by using separate image targets instead. (From OE-Core rev: 590398080e81fb5e2f81e12b8900858837dfe25f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: CVE_VERSION_SUFFIX to work with patched releaseLee Chee Yang2021-03-202-1/+14
| | | | | | | | | | | | | CVE_VERSION_SUFFIX in "patch" to treat version string with suffix "pX" or "patchX" as patched release. also update testcases to cover this changes and set CVE_VERSION_SUFFIX for sudo. (From OE-Core rev: 8076815fc2ffc8f632e73527ce2b7d158a29e9ea) Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/reproducible: Drop ovmf exclusionRichard Purdie2021-03-201-1/+0
| | | | | | | | The hardcoded path issue was fixed, drop the exclusion. (From OE-Core rev: 58e02c83dcf4d6c40c206a0371ef5d7f8db2b272) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson: Work around determinism issueRichard Purdie2021-03-161-1/+0
| | | | | | | | | | The meson determinism issue is the same frozenset issue we encountered with python itself. Remove the problematic pyc file until upstream work out the best way to address the issue (as with core python). (From OE-Core rev: ad00107dc02b3211f5d1a7fe889f538ee2bc064d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>