summaryrefslogtreecommitdiffstats
path: root/meta/lib
AgeCommit message (Collapse)Author
2024-05-17selftest/cases/runtime_test: Exclude centos-9 from virgl testsRichard Purdie
Similarly to centos 8, centos 9 doesn't support the render device we need for this test. (From OE-Core rev: c2be3afabf84f287c90b61ae2509728a6634fb8f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-15oeqa/selftest/debuginfod: use localpkgfeed to speed server startupRoss Burton
Sometimes the debuginfod selftest fails due to a timeout, because it spends too long scanning a huge deploy directory that due to what tests were ran previously can contain 30K packages. The test only needs a subset of the feed, so use the new localpkgfeed class to construct a minimal feed before running the test. [ YOCTO #14937 ] (From OE-Core rev: 855376f518b28248ccd82ef5b2e89e6a8c970542) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-15lib/oe/package-manager: allow including self in create_packages_dirRoss Burton
This function is typically used to construct a limited feed for image creation, but there are other cases when you might want a limited feed and include the current recipe's packages in it. To ensure that existing behaviour is preserved, add a boolean to control this behaviour and default it to False. (From OE-Core rev: aada7fda2b118152d82b1ab295d92b8251afe4ac) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-13patchtest: utils: remove unused functionsTrevor Gamblin
Specifically, remove four things: - get_subject_prefix(): This function is only being used once (in the next function found in the module), so remove it for easier comprehension/maintenance. - exec_cmd: the backend for executing a custom command - exec_cmds: for running multiple calls to exec_cmd - CmdException: A custom exception class specifically for exec_cmd These are only used to execute git commands, but GitPython can be used to handle all of that more efficiently, so remove them. (From OE-Core rev: e2fabdd6d53ee30a67992bd966961f423f18a388) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-13patchtest: tests: update bugzilla_entry_format.fail testfileTrevor Gamblin
Update the test file to target a more stable README file. (From OE-Core rev: 3d0649ea8ca9dde982ee67aa866170ea4297ef4c) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-13patchtest: repo: refactor to use GitPythonTrevor Gamblin
The repo module currently uses a custom _exec() function in order to run various git commands as part of the patchtest setup/test process. These can more efficiently be done with the GitPython module, so use that instead and reduce the amount of custom code to be maintained for patchtest in the process. Some specifics replaced using GitPython: - get branch list - use repo.active_branch to determine current branch - use execute() for checkout, merge check, abort, rev-parse, reset The _exec() function is removed entirely with this change. (From OE-Core rev: 8ab3a0d7cb68746d7b7e1c7ff8bdf9a84a4d075d) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-13patchtest: requirements.txt: add GitPythonTrevor Gamblin
GitPython provides some simple utilities for retrieving repo configurations that can replace the manual work that patchtest currently does. Add it to the requirements so that the source can make use of it. (From OE-Core rev: dd4e4adfe91333fbd52d1441e2864a570e0dd073) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-13lib/package_manager/ipk: Do not hardcode payload compression algorithmPhilip Lorenz
The chosen payload compression algorithm can be changed by overriding `OPKGBUILDCMD`. Ensure that package extraction deals with this by globbing for "data.tar.*" to select the actual payload tarball. (From OE-Core rev: 2ad05635a6da403b4fadcc126fe7734067c12c73) Signed-off-by: Philip Lorenz <philip.lorenz@bmw.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-09oeqa/selftest/devtool: Fix for usrmerge in DISTRO_FEATURESRichard Purdie
If usrmerge is in DISTRO_FEATURES, assumptions in one of the tests would fail. Improve the test so it works in both cases. (From OE-Core rev: afa211746a2aa1993a54cc5a5e1937679341da8e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-09oeqa/selftest/recipetool: Fix for usrmerge in DISTRO_FEATURESRichard Purdie
If usrmerge is in DISTRO_FEATURES, assumptions in one of the tests would fail. Improve the test so it works in both cases. (From OE-Core rev: 68a27d307a7042e242c49cf3d069469f40e09902) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-02classes/lib/scripts: Initial WORKDIR -> UNPACKDIR updatesRichard Purdie
Work through the initial issues I found where we need to change WORKDIR to UNPACKDIR. (From OE-Core rev: 86fec41b1e809d1a2fa2feadc26d29020df53d39) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-02base/bitbake.conf: Introduce UNPACKDIRRichard Purdie
Having the unpack directory hardcoded to WORKDIR makes it really hard to make any changes to the unpack process to try and allow for cleanup for example. As a first step toward unraveling the intertwined location usages, add a variable, UNPACKDIR which is where the fetcher is asked to unpack fetched sources. It defaults to the existing value of WORKDIR at this point. (From OE-Core rev: e022d62ba917790af2121da57646271ef17c03fa) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-30Revert "oeqa/selftest/devtool: fix test_devtool_add_git_style2"Alexandre Truong
This reverts commit ab6d3e3d645ffc343f434bf731339fa237df027a from poky repository. The previous reverted commit was a workaround. The fix "oeqa/selftest/devtool: fix _test_devtool_add_git_url" tackle the issue. So, the workaround is not needed anymore. (From OE-Core rev: 731f47ecfd8ad6558aac629806810789c623986b) Signed-off-by: Alexandre Truong <alexandre.truong@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-30oeqa/selftest/devtool: fix _test_devtool_add_git_urlAlexandre Truong
This patch is a follow-up to the bug#15466. As a reminder, the bug was about devtool’s submodule detection checking for HEAD when a version is being passed. As Vincent Kriek pointed out: the --version that is being passed to devtool is only used for setting the PV value in the recipe. To take into account the tag, we add --srcrev to the command: devtool add --srcrev v3.1.0 --version v3.1.0 mbedtls git://git@github.com/ARMmbed/mbedtls.git;protocol=https Changes to _test_devtool_add_git_url have been made to take into account the srcrev. srcrev will be passed as an optional parameter because the test_devtool_add_git_style1 does not need the srcrev contrary to test_devtool_add_git_style2 Fixes [YOCTO #15466] (From OE-Core rev: a8686f3641e4407dee3d807898ffd620e2732b78) Signed-off-by: Alexandre Truong <alexandre.truong@smile.fr> Reported-by: Alexandre Truong <alexandre.truong@smile.fr> Suggested-by: Vincent Kriek <vincent@coelebs.dev> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-25oeqa/selftest/devtool: add test for updating local files into another layerJulien Stephan
We don't have a test to check if we can correctly devtool update-recipe/finish into another layer. So update the existing test_devtool_update_recipe_local_files to also check the updates into another layer. (From OE-Core rev: bd44c895d36e246a25c7a6e40bf9f4089dc7a297) Signed-off-by: Julien Stephan <jstephan@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-23oeqa: selftest: context: run tests serially if testtools/subunit modules are ↵Julien Stephan
not found If testtools and/or subunit modules are not found we get the following backtrace (example for testtools): NOTE: Starting bitbake server... Traceback (most recent call last): File "<..>/poky/scripts/oe-selftest", line 60, in <module> ret = main() File "<..>/poky/scripts/oe-selftest", line 47, in main results = args.func(logger, args) File "<..>/poky/meta/lib/oeqa/selftest/context.py", line 391, in run rc = self._internal_run(logger, args) File "<..>/poky/meta/lib/oeqa/selftest/context.py", line 377, in _internal_run rc = self.tc.runTests(**self.tc_kwargs['run']) File "<..>/poky/meta/lib/oeqa/selftest/context.py", line 161, in runTests return super(OESelftestTestContext, self).runTests(processes, skips) File "<..>/poky/meta/lib/oeqa/core/context.py", line 91, in runTests result = self.runner.run(self.prepareSuite(self.suites, processes)) File "<..>/poky/meta/lib/oeqa/selftest/context.py", line 154, in prepareSuite from oeqa.core.utils.concurrencytest import ConcurrentTestSuite File "<..>/poky/meta/lib/oeqa/core/utils/concurrencytest.py", line 22, in <module> import testtools ModuleNotFoundError: No module named 'testtools' Fix this by adding a custom callback on -j/--num-processes parameter to check testtools and subunit modules. Fallback to serial testing if missing. This strategy is already used in sdk/context.py (From OE-Core rev: 35284404473b2c2d9f69594582868ed66ef3525e) Signed-off-by: Julien Stephan <jstephan@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-23oeqa/postactions: Do not use -l option with dfKhem Raj
-l option is specific to df provided by coreutils, if df applet from busybox is used then it does not work and fails like below Fixes df: invalid option -- 'l' BusyBox v1.36.1 () multi-call binary. Usage: df [-PkmhT] [-t TYPE] [FILESYSTEM]... DEBUG: [Command returned '1' after 0.71 seconds] DEBUG: Command: df -hl Status: 1 Output: df: invalid option -- 'l' it seems worth a compromise to show remote mounted filesystems if any during ptests and it works with both df implementations (From OE-Core rev: 75cc1ea4348a2294fdc5ab20530fcff27056ff06) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-23patchtest: test_metadata: fix invalid escape sequencesTrevor Gamblin
Clear up the following warnings seen during patchtest runs: |/workspace/yocto/poky/meta/lib/patchtest/tests/test_metadata.py:21: SyntaxWarning: invalid escape sequence '\+' | add_mark = pyparsing.Regex('\+ ') |/workspace/yocto/poky/meta/lib/patchtest/tests/test_metadata.py:26: SyntaxWarning: invalid escape sequence '\:' | git_regex = pyparsing.Regex('^git\:\/\/.*') (From OE-Core rev: 2d64317835a768898aac592b24fcbdfaf6c8357a) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-04sstatesig: fix netrc.NetrcParseError exceptionJose Quaresma
Looks like sometimes the e.filename and the e.lineno is not properly set by the netrc and this can cause TypeError. | File "/poky/meta/lib/oe/sstatesig.py", line 342, in init_rundepcheck | bb.warn("Error parsing %s:%d: %s" % (e.filename, e.lineno, e.msg)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | TypeError: %d format: a real number is required, not NoneType (From OE-Core rev: 486ed69939f1b7572f121960c2dde246032686e7) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-04oeqa/selftest/devtool: fix test_devtool_add_git_style2Alexandre Truong
The problem is the following: AssertionError: 'gitsm://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master' != 'git://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master' Mbedlts made changes to their repository, adding a sub-module, thus the assert triggers an error with the url: git://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master https://github.com/Mbed-TLS/mbedtls/commit/456a54da8ef44c8b725b524567c08cffec6a7214 was the upstream change. To fix the issue, the url has been changed to: gitsm://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master (From OE-Core rev: 9ac737fbe05c85ec8333b396ce2f89de6654916f) Signed-off-by: Alexandre Truong <alexandre.truong@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-04oeqa/selftest/overlayfs: test read-only rootfsBaruch Siach
Use the read-only squashfs filesystem to test the read-only case. (From OE-Core rev: 1a61da196f014dc34a998d3e46f03abc79ebc84d) Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-31oeqa/sstatetests: Fix race issueRichard Purdie
Under some load conditions, the result event can come back before the command complete event. If that happens, the code would hang indefinitely. Rework the code to wait for both events and avoid the hang. (From OE-Core rev: 8cfc94a4404c54bc73eab9f98d9da1f84c2135ad) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-30oe/package: enhance objdump command call with llvmlixiaoyong
Replace `${HOST_PREFIX}objdump` with `${OBJDUMP}`. When utilizing llvm for compiling packages, the invocation of GNU objdump will consistently occur during package precess. This behavior is unfriendly to llvm. So prefer `${OBJDUMP}` over `${HOST_PREFIX}objdump`. (From OE-Core rev: fac4d33041d8feb041e617b9b16689c4d3a522cb) Signed-off-by: lixiaoyong <lixiaoyong19@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-30bblayers/makesetup.py: Move git utility functions to oe.buildcfg moduleJermain Horsman
This allows other classes to make use of these as well. Includes a git describe and git toplevel function and functions to get info for git remotes. (From OE-Core rev: a04a084b6e513d15cb57ee103c6d6215ce1c75b9) Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-30selftest/sstatetests: run CDN check twice, ignoring errors the first timeAlexander Kanavin
The current CDN isn't able to serve all objects on first request, and it was suggested to work around that by trying again: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15335#c16 Once CDN moves to a better location this can probably be reverted. [YOCTO #15335] (From OE-Core rev: 0db3466303f56736d2fa9a105435eaaadb385082) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-26sstatesig: Warn on bad .netrcJoshua Watt
If there is an error parsing .netrc, warn the user (From OE-Core rev: 47ea9418dfa31a87bc0014c482be5bfdc9df98e1) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-23sstatesig: Set hash server credentials from bitbake variablesJoshua Watt
Allows the hash server credentials to be specified in bitbake variables. If omitted, the users .netrc will be checked (From OE-Core rev: ba391d39f2b888706e53028e9df3a37c5baedfc1) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-07sstatetests.py: Add testing for correct sstate permissionsEilís 'pidge' Ní Fhlannagáin
This patch adds to run_test_sstate_creation so that it also tests that sstate directories don't accidentally pickup umask permissions from the user upon creation. [RP: Python style tweaking] (From OE-Core rev: 7d6eb828e97ad3f27d94efdccd920fb2aef36743) Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-07oeqa/runtime/login: Fix dbus-wait timeout and loop conditionalRichard Purdie
The dbus-wait command returns a timeout after 60s but reports "success", detect this. Unfortunately it does effectively break the test as the signal is nearly never being correctly detected since it was already sent. For that reason comment out the code instead too. Also fix the loop conditional as the logic was incorrect and it was looping indefinitely when an image match didn't occur. (From OE-Core rev: 89c930e9e4b38b116edcba59e88621a39f8bda67) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-07oeqa/runtime/login: Add screenshot sample logic/timeout/dbus-waitEilís 'pidge' Ní Fhlannagáin
This patch uses dbus-wait to wait for matchbox to be up. Once that happens, it sets a timeout of 60 seconds and takes a screenshot and compares it, every 2 seconds. If diff=0 it passes. If the timeout ends, it fails. (From OE-Core rev: 287b4f0a8244f7214f6a1aaa84ef16cc528f8326) Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-07oeqa/runtime/login: Exclude qemuriscv64Eilís 'pidge' Ní Fhlannagáin
Excluding riscv64 due to mouse rather than a touchscreen which adds a moving cursor, so the diff ends up > 0. Need to fix the image to use the touchscreen rather than mouse input. (From OE-Core rev: 7f7032c7613abd62ce510c98211c75fc7c5e7090) Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-07oeqa/runtime/login: Mask out the mouse panel icon for nowRichard Purdie
The mouse panel icon can move when the time changes between 3 and 4 digits. Ideally we'd fix the alignment of the clock on the panel but to get the tests working, increase the size of the mask for now. (From OE-Core rev: 8ec02142ab98741749281bdb29d5973c96b839d7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-07oeqa/runtime/login: Various code improvements and fixesRichard Purdie
* Allow tools to be found from the host PATH so that imagemagick from a buildtools tarball/sdk can work * Reformat the code to have imports at the start of the file and have more standard formatting and whitespace * Always save copies of the images, the space imapct is negligle compared to the debug win * Write the images to ${T} * Use bb.utils.mkdirhier() instead of more complex code * Restrict the tests to images containing matchbox-desktop (From OE-Core rev: d09989b49517830297654e4d1d150aaa8723c41a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-07oeqa/runtime/login: Proof of concept for screenshot testcasesEilís 'pidge' Ní Fhlannagáin
This takes the work rburton did on image screenshot testing and expands it. Right now this works with most of the qemu based machines except for - qemuppc64 - qemuarmv5 - qemuriscv32 - qemuloongarch64 See "Known Issues" further down. This test takes a screendump of a qemu image, blanks out the clock and compares it to an image we have on record. If the diff is exact, the test passes. If not, it stores the image in build/failed-images and fails out. In order to enable this test, you will need meta-openembedded/meta-oe in your bblayers.conf for imagemagick and the following in local.conf: IMAGE_CLASSES += "testimage" TEST_SUITES = "login" TESTIMAGEDEPENDS:append:qemuall = " imagemagick-native:do_populate_sysroot " Known Issues ------------ The main issue is that I've yet to find a gating factor that would allow me to tell when the qemu instance is fully up and rendered. I've tried a few tactics here, (dbus-wait, qmp) but for now a disgusting time.sleep(30) is there. You can replicate this by running qemumips. The screen load takes forever, but you even see it on qemux86 where the Home and Workspace Switch icons will sometimes take a while to fully load. Eventually I'm going to have to take multiple screenshots and compare them, but then you get into the issue where the question is, is the diff greater than 0 because it hasn't fully loaded or something is actually incorrect. There are the issues I know about: - runqemu qemuppc64 comes up blank. - qemuarmv5 comes up with multiple heads but sending "head" to screendump. seems to create a png with a bad header. - qemuriscv32 and qemuloongarch64 don't work with testimage apparently? - qemumips64 is missing mouse icon. - qemumips takes forever to render and is missing mouse icon. - qemuarm and qemuppc return incorrect width - All images have home and screen flipper icons not always rendered fully at first. The sleep seems to help this out some, depending on machine load. (From OE-Core rev: dc7cefbaccde50df6c4396e66d50659a45e00631) Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> Co-authored-by: Ross Burton <ross.burton@arm.com> Co-authored-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-07qemurunner.py: Fix error on calls to run_monitorEilís 'pidge' Ní Fhlannagáin
A change in QEMUMonitorProtocol.cmd() requires that we either pass in kwargs instead of an argument dict or move to cmd_raw() cmd() was renamed to cmd_raw() (and command() was renamed to cmd()) See: https://github.com/qemu/qemu/commit/37274707f6f3868fae7e0055d9a703006fc142d0 https://github.com/qemu/qemu/commit/684750ab4f8a3ad69512b71532408be3ac2547d4 My concern with this patch is that I haven't seen this come up with utils/dump.py which also uses QemuMonitor's run_monitor. If it is occuring, this should fix issues there as well (From OE-Core rev: 9665d38ab60c1c3b27887c2b1a6396f13a1b33ea) Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-07minicom: upgrade 2.8 -> 2.9Alexander Kanavin
Adjust selftest to git-add the directory with newly added patches, as the new minicom recipe has no default patches, and thus no directory with them (and the selftest assumed it does). (From OE-Core rev: 1fb2aa3f242ef20f8edfb518164b629258a04dd4) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-03oeqa/gotoolchain: set GOPROXYJose Quaresma
Since go-1.21 GOPROXY needs to be set explicitly, otherwise it fails with: - GOPROXY list is not the empty string, but contains no entries This fixes the selftest (From OE-Core rev: c491d967858c01fead21495f44f1a9f8cdf8e833) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-29oeqa/lib/utils/postactions: fix host disk usage stats retrievalAlexis Lothoré
The recently introduced postactions module can raise, on failing ptests, the following warning: WARNING: core-image-ptest-glib-2.0-1.0-r0 do_testimage: Can not get host disk usage: [Errno 2] No such file or directory: '/usr/bin/df' The issue is likely not happening because of df absence (to be confirmed amongst the variety of workers) but because of the wrong path. Fix it by letting subprocess search for df, passing only the binary name. To make it work, we also have to reset the environment, otherwise the environment configured before running bitbake will be used, and search will fail. (From OE-Core rev: da7cc5def2839a0e15d07244f858847479c12caa) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-27oe-selftest devtool: ide-sdk testsAdrian Freihofer
Improve the GDB related tests. Verify GDB finds the correct source files. (From OE-Core rev: 67eed460c0bf18d23f2c9180f195417895acfd55) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-27oeqa/utils/postactions: testimage: add host disk usage stat as post actionAlexis Lothoré
Since the target under test can be a virtualized guest, when some tests fail because of disk usage (see [1]), also fetch disk usage statistics from host to allow checking whether a host disk space saturation could affect running tests. [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=15220 (From OE-Core rev: 2ab3a0935b1e7a016402f149da1fc01b38d7af55) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-27oeqa/utils/postactions: add target disk usage stat as post actionAlexis Lothoré
In order to debug issues related to disk space (see [1]), add a failed tests post action to retrieve disk usage on the target. Rely on the test context object to run the corresponding command onto the target [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=15220 (From OE-Core rev: 637e216b0e5191571270aa07e1f50a6e41a8c08f) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-27oeqa/utils/postactions: isolate directory creation in dedicated actionAlexis Lothoré
In order to be able to create actions that could store new files during failed test post actions, we need to split artifacts directory creation from artifacts retrieval. Create a new dedicated action to create artifacts main directory so we can add actions creating files in this new directory, without worrying about actions order if at least this action is set first. (From OE-Core rev: 5d796586a9342f4f984494a5b493dbaf77af7026) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-27testimage: create a list of failed test post actionsAlexis Lothoré
testimage is able to detect whenever a test run leads to some tests failing, and execute some actions in this case. The only action currently defined in such case is to retrieve artifacts from the target under test, as listed in TESTIMAGE_FAILED_QA_ARTIFACTS In order to be able to add multiple actions, define a central function to gather all "post actions" to run whenever a test has failed (run_failed_tests_post_actions). This function contains a table listing all functions to be called whenever a test fails. Any function in this table will be provided with bitbake internal data dictionary ("d") and the current runtime testing context ("tc"). Isolate all this feature in a dedicated postactions.py file inherited by testimage. This patch does not bring any functional change. (From OE-Core rev: c01aa8df0613a103859b4431d3cc5056b2fef1b8) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-27lib/oeqa: share get_json_result_dir helperAlexis Lothoré
Multiple places in oeqa need to get the log output path, and redefine a small helper to accomplish this Define this helper in lib/oeqa/utils/__init__.py and import it wherever needed to allow using it. (From OE-Core rev: 01b1a6a5a4e7cede4d23a981b5144ae9c8306274) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-24patchtest: Skip test for CVE_CHECK_IGNORE for older branchesSimone Weiß
Skip the test for checking if CVE_CHECK_IGNORE is not used. It is deprecated now, but was not deprecated for kirkstone and dunfell. Skip it therefore if a patch is intended for those branches. (From OE-Core rev: e9b04664b1b2ba6aa1fa7318e3d4174b9cdb19da) Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-24lib/oe/package: fix LOCALE_PATHS scan to create locale packagesJonathan GUILLOT
split_locales() must only check subdirectories in paths added to LOCALE_PATHS to avoid creating weird packages based on filenames also present in paths. Without such a filter, cups recipe adding ${datadir}/cups/templates to LOCALE_PATHS creates the following incorrect packages: - cups-locale-add-class.tmpl - cups-locale-add-printer.tmpl - cups-locale-admin.tmpl (From OE-Core rev: ba3aee0d516bd066829d6edaa8d7bacdd75dd6ef) Signed-off-by: Jonathan GUILLOT <jonathan@joggee.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-24selftest-users: Convoluted selftest for USERADD_DEPENDSEilís 'pidge' Ní Fhlannagáin
This adds a test for 13904's fix by creating a convoluted set of recipes with USERADD_DEPENDS in non-alpha order. (From OE-Core rev: bfff81195cb9ba2493e366022470b2e0051d8071) Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-23recipetool: Fix errors with meta-poky bbappendRichard Purdie
When a new base-files bbappend was added to meta-poky, it causes selftest failures. Whilst this isn't ideal, workaround that issue for now since the append is being added for security visibility and changing the tests to support this more generically looks invasive. (From OE-Core rev: 7cf85204f0943bf741ffce5c4105340197c714df) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-23oeqa/selftest/rust: Simplify the rust testsuite output gathering/processingRichard Purdie
The rust testsuite was redirecting command output to a file, which made it hard to debug failure cases since the logs were not available to print to the console. Rework the code so it uses the existing popen logging and hence allows us to improve the error logging situation and make debugging failures easier. (From OE-Core rev: ac82dc43b8151ed34c4ad51e9ab7f4a612990486) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-20recipetool; add support for python_mesonpy classTim Orling
* Add support to detect the "mesonpy" build-backend for recipetool create. * Add oe-selftest case for creating a recipe for "siphash24" from pypi. https://pypi.org/project/siphash24/ This is by far the simplest recipe using the mesonpy build backend. Upstream does not provide LICENSE file(s) and we do not detect the LICENSE so don't check for that result in the test. Likewise, upstream does not define HOMEPAGE, so skip that result. (From OE-Core rev: 256749322671d2f4ea994db671d73c4de10e1723) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>