summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* wic bootimg-efi.py: change UKI support from wic plugin to uki.bbclassMikko Rapeli2024-10-252-116/+27
| | | | | | | | | | | | | | | | | | | Remove custom wic plugin implementation and use systemd ukify reference implementation when generating UKI images. Fail if users still have create-unified-kernel-image in wic image config. uki.bbclass use is detected from IMAGE_CLASSES variable ("inherit uki" in image recipe) so export that to wic plugins. If UKI is used, then only generate a minimal loader config for systemd-boot which basically just sets a timeout. Also set 5 second timeout by default instead of failing if wic bootloader config is missing. Boot menu is generated at runtime based on UKI binaries found from ESP partition. (From OE-Core rev: 725fed6ea40c7443b5e0e69dc1dd9c38ac814c56) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic bootimg-efi.py: keep timestamps and add debug printsMikko Rapeli2024-10-251-19/+30
| | | | | | | | | | | Keep timestamps etc to help build reproducibility. Add prints to see what is being copied to ESP partition. (From OE-Core rev: cedcd25c5e3cd002dd34651c182193731d7c964b) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uki.bbclass: add class for building Unified Kernel Images (UKI)Michelle Lin2024-10-251-0/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This class calls systemd ukify tool, which will combine kernel/initrd/stub components to build the UKI. To sign the UKI (i.e. SecureBoot), the keys/cert files can be specified in a configuration file or UEFI binary signing can be done via separate steps, see qemuarm64-secureboot in meta-arm. UKIs are loaded by UEFI firmware on target which can improve security by loading only correctly signed kernel, initrd and kernel command line. Using systemd-measure to pre-calculate TPM PCR values and sign them is not supported since that requires a TPM device on the build host. Thus "ConditionSecurity=measured-uki" default from systemd 256 does not work but "ConditionSecurity=tpm2" in combination with secure boot will. These can be used to boot securely into systemd-boot, kernel, kernel command line and initrd which then securely mounts a read-only dm-verity /usr partition and creates a TPM encrypted read-write / rootfs. Tested via qemuarm64-secureboot in meta-arm with https://lists.yoctoproject.org/g/meta-arm/topic/patch_v3_02_13/108031399 and a few more changes needed, will be posted separately. (From OE-Core rev: da69a73491a72b46e299f874ce90d81135cd9656) Signed-off-by: Michelle Lin <michelle.linto91@gmail.com> Acked-by: Erik Schilling <erik.schilling@linaro.org> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: update 3.12.6 -> 3.13.0Alexander Kanavin2024-10-2526-436/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | License-update: copyright years Update 0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch to only include tests that do not fail under qemu (following upstream change that also no longer obscures failures). Drop 0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch (backport) 0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch (fixed upstream) 0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch (code completely rewritten upstream) cgi_py.patch (cgi and cgitb modules removed upstream) Add fix-armv5.patch (address armv5 crashes) Modules removed in 3.13 (look for 'important removals'): https://docs.python.org/3/whatsnew/3.13.html Manifest updated accordingly. Add an explicit dependency on libatomic (needed on mips and ppc), as upstream has explicitly switched it off in cross builds. It's a no-op on other targets. Fcntl relocated to python3-core by the manifest script. (From OE-Core rev: 0b49c9aa31279ecda565cc66b63d1d61723b37b8) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-cryptography: update 42.0.8 -> 43.0.1Alexander Kanavin2024-10-254-87/+57
| | | | | | | | | | | | | Changelog: - https://cryptography.io/en/latest/changelog/#v43-0-0 - https://cryptography.io/en/latest/changelog/#v43-0-1 Switch over to maturin as specified in pyproject.toml file. (From OE-Core rev: d2c548c47ccb7f00de8842e26456fd82175a7472) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/buildoptions: Use continue option in source mirrors testRichard Purdie2024-10-251-1/+1
| | | | | | | | | It is helpful to see all the issues in the source mirror test so use the continue option. (From OE-Core rev: f52e7ddc6ca5ce03cbcdf3cc15fc04f3ff31cd5c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* busybox: 1.36.1 -> 1.37.0Andrej Valek2024-10-2416-611/+123
| | | | | | | | | | | | | | | | | | - update to next stable version 1.37.0 - refresh defconfig - disable new applets (ip_link_can) - enable new applets (time64, find_exec_ok, getfattr, udhcpd_bootp) - disable sha acceleration by default - enable it just for x86-64, other possible option (x86) is broken - submitted to mailing list - fix problem with syslogd when nothing was logged - fix problem with start-stop-daemon tests - remove and refresh already merged patches (From OE-Core rev: 21753f16a364e32050cf8d79bfa7e0f89be52ce7) Signed-off-by: Andrej Valek <andrej.v@skyrain.eu> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/rust: remove unused imports or codeRoss Burton2024-10-241-5/+1
| | | | | | | | | Remove unused imports, or disabling code which has been commented out. (From OE-Core rev: e0ff4813b1cf4df0d851c857d57fb88d7db51bdd) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/rust: skip on all MIPS platformsRoss Burton2024-10-241-5/+3
| | | | | | | | | | | | | | | | | | | As per "The rustc book"[1], mips*-unknown-linux-* are "tier 3" targets: Tier 3 targets are those which the Rust codebase has support for, but which the Rust project does not build or test automatically, so they may or may not work. We already skip qemumips in this selftest, but we're now also seeing failures with qemumips64 so refactor the test to skip all machines where the architecture is mips or mips64. [1] https://doc.rust-lang.org/nightly/rustc/platform-support.html (From OE-Core rev: 177e268811c04260923ac4b16fa047315304add0) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libssh2: upgrade 1.11.0 -> 1.11.1Trevor Gamblin2024-10-243-643/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog: https://github.com/libssh2/libssh2/releases/tag/libssh2-1.11.1 Patches '0001-disable-DSA-by-default.patch' and 'CVE-2023-48795.patch' were both dropped as they're included in version 1.11.1. License-Update: Copyright symbols were changed from (C) to lowercase (c) ptest results: |root@qemux86-64:~# ptest-runner libssh2 |START: ptest-runner |2024-10-22T20:15 |BEGIN: /usr/lib/libssh2/ptest |PASS: mansyntax.sh |PASS: test_simple |PASS: test_sshd.test |DURATION: 3 |END: /usr/lib/libssh2/ptest |2024-10-22T20:15 |STOP: ptest-runner |TOTAL: 1 FAIL: 0 (From OE-Core rev: bcd178082a50b81405019699d5acc3cd8273b732) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgit2: upgrade 1.8.1 -> 1.8.2Trevor Gamblin2024-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog (https://github.com/libgit2/libgit2/releases/tag/v1.8.2): - This release reverts a const-correctness change introduced in v1.8.0 for the git_commit_create functions. We now retain the const-behavior for the commits arguments from prior to v1.8.0. This change was meant to resolve compatibility issues with bindings and downstream users. What's Changed New features - Introduce a stricter debugging allocator for testing by ethomson in #6811 Bug fixes - Fix constness issue introduced in #6716 by ethomson in #6829 Build and CI improvements - README: add experimental builds to ci table by ethomson in #6816 (From OE-Core rev: 258e6c2f12e072e94c4e546baa4b7a0ebfb37427) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-mako: upgrade 1.3.5 -> 1.3.6Trevor Gamblin2024-10-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update PYPI_PACKAGE to lowercase since that's what the upstream tarball now uses. ptest results: |============================================================================ |Testsuite summary |# TOTAL: 500 |# PASS: 447 |# SKIP: 53 |# XFAIL: 0 |# FAIL: 0 |# XPASS: 0 |# ERROR: 0 |DURATION: 2 |END: /usr/lib/python3-mako/ptest |2024-10-22T17:30 |STOP: ptest-runner |TOTAL: 1 FAIL: 0 Changelog (https://docs.makotemplates.org/en/latest/changelog.html): - Fixed long standing bug where the sequence <& would be misinterpreted by the lexer. It’s not clear why the ampersand character was part of the characters being consumed here and it may have been an inadvertent bit of code from one of Mako’s predecessor languages. References: #412 (From OE-Core rev: 3871ceb5927d4540e0a109d47d5a08a12a0d48a5) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-sphinx: upgrade 8.0.2 -> 8.1.3Trevor Gamblin2024-10-241-2/+2
| | | | | | | | | | | | Changelog: https://github.com/sphinx-doc/sphinx/releases License-Update: moved "Licenses for incorporated software" section from LICENSE.rst to sphinx/ext/napoleon/docstring.py (From OE-Core rev: cfae43d564b5526dc6b6f940dc56f2314fe5ed8e) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pyproject-metadata: upgrade 0.8.0 -> 0.8.1Trevor Gamblin2024-10-241-1/+1
| | | | | | | | | | | | | | | | | | | Changelog (https://github.com/pypa/pyproject-metadata/releases/tag/0.8.1): - Validate project name - Validate entrypoint group names - Correct typing for emails - Add 3.13 to testing - Add ruff-format - Actions and dependabot - Generate GitHub attestations for releases - Add PyPI attestations - Fix coverage context (From OE-Core rev: 0fbf3b91098b70903397e57920ce7a1adb2f8a12) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-hypothesis: upgrade 6.112.4 -> 6.115.3Trevor Gamblin2024-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog (https://hypothesis.readthedocs.io/en/latest/changes.html): 6.115.3 - 2024-10-16 - This patch fixes a regression from version 6.115.2 where generating values from integers() with certain values for min_value and max_value would error. 6.115.2 - 2024-10-14 - This release improves integer shrinking by folding the endpoint upweighting for integers() into the weights parameter of our IR (issue #3921). If you maintain an alternative backend as part of our (for now explicitly unstable) Alternative backends for Hypothesis, this release changes the type of the weights parameter to draw_integer and may be a breaking change for you. 6.115.1 - 2024-10-14 - This patch improves the performance of from_type() with pydantic.types.condate (issue #4000). 6.115.0 - 2024-10-12 - This improves the formatting of dataclasses and attrs classes when printing falsifying examples. 6.114.1 - 2024-10-10 - This patch upgrades remaining type annotations to Python 3.9 syntax. 6.114.0 - 2024-10-09 - This release drops support for Python 3.8, which reached end of life on 2024-10-07. 6.113.0 - 2024-10-09 - This release adds hypothesis.errors.BackendCannotProceed, an unstable API for use by Alternative backends for Hypothesis. 6.112.5 - 2024-10-08 - This release fixes a regression where hypothesis.stateful.Bundle did not work properly with flatmap functionality (issue #4128). (From OE-Core rev: 0ab451304025f7fdad06345c73233daa47e4f8b9) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-hypothesis: add python3-zoneinfo to RDEPENDSTrevor Gamblin2024-10-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following runtime issue: |root@qemux86-64:~# python3 |Python 3.12.6 (main, Sep 6 2024, 19:03:47) [GCC 14.2.0] on linux |Type "help", "copyright", "credits" or "license" for more information. |>>> import hypothesis |Traceback (most recent call last): | File "<stdin>", line 1, in <module> | File "/usr/lib/python3.12/site-packages/hypothesis/__init__.py", line 29, in <module> | from hypothesis.core import example, find, given, reproduce_failure, seed | File "/usr/lib/python3.12/site-packages/hypothesis/core.py", line 44, in <module> | from hypothesis import strategies as st | File "/usr/lib/python3.12/site-packages/hypothesis/strategies/__init__.py", line 48, in <module> | from hypothesis.strategies._internal.datetime import ( | File "/usr/lib/python3.12/site-packages/hypothesis/strategies/_internal/datetime.py", line 13, in <module> | import zoneinfo |ModuleNotFoundError: No module named 'zoneinfo' (From OE-Core rev: 2a535f7ca6329fee98491251c282741d9d21febc) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pyparsing: upgrade 3.1.4 -> 3.2.0Trevor Gamblin2024-10-241-1/+1
| | | | | | | | | Changelog: https://github.com/pyparsing/pyparsing/releases/tag/3.2.0 (From OE-Core rev: 34fe8260075c60573b254ec176301e1c69f3468b) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-trove-classifiers: upgrade 2024.9.12 -> 2024.10.21.16Trevor Gamblin2024-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog (https://github.com/pypa/trove-classifiers/releases): 2024.10.21.16 - chore: update calver to include hour (#191) 2024.10.14 - Add Django trove classifiers for 5 and upcoming 5.2 release. (#193). We missed adding the generic `Framework :: Django :: 5`, and I'll add 5.2 since it will be released in a few months. 2024.10.13 - chore: update github actions (#192) - chore: update release github actions 2024.10.12 - Update CMU to include SPDX in parentheses (#190) 2024.10.11 - Add classifier for MIT-CMU licence (#189) (From OE-Core rev: 34d00a03c37c1691285b8e618eef833a5ed9ffe5) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Ensure package_qa tasks run in builds when expectedRichard Purdie2024-10-241-0/+2
| | | | | | | | | | | | | Currently, if you "bitbake XXX" and XXX depends on something else, the do_package_qa teask for that something may not run. Users would generally expect it to have though. Add in the missing dependency to ensure that do_build does trigger the right package_qa tasks. (From OE-Core rev: e0beb64c6d3cf1d649f79a8704fb25cdf83b4a8b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* time64.inc: Exclude pseudo from the 32bit-time warningsRichard Purdie2024-10-241-0/+4
| | | | | | | | | pseudo has to wrap all glibc calls including the 32 bit ones so this warning is a false positive. (From OE-Core rev: 13f8b50f055be219aed50c62c5f7552c4c2f18f2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/browser/layerdetails: Drop unwanted test ↵Richard Purdie2024-10-241-29/+9
| | | | | | | | | | | | skipping/exception handling We really don't want to be skipping a test like this, drop the exception handling code as in my testing we thankfully no longer seem to be seeing it. If we do again we need to fix the underlying issue. (Bitbake rev: b67547f890dc7f347ec05a97cbfb22d3703998cc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional/utils: Handle WebDriverExceptionRichard Purdie2024-10-241-5/+7
| | | | | | | | | | | | Fix the exception handling in the cancel builds function. This involved adding WebDriverException which sometimes occurs but also correcting the other exception handlers to continue to increment the timeout to avoid test hangs. (Bitbake rev: e111a2bd4f7a8a4dc2c63e94e91ac6cacca95af8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/browser/helper: Add wait for jquery to completeRichard Purdie2024-10-241-0/+2
| | | | | | | | | | Most of the tests that click on buttons need the DOM to stablise, including any running JQuery code before the test can proceed. Add calls to do this whenever we're about to click on an element. (Bitbake rev: 0eb206b355248e2a874a62baec30025652f2a5a8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional/project_page: Use ↵Richard Purdie2024-10-241-53/+40
| | | | | | | | | | | | | | | | | | | wait_until_element_clickable before click calls Switch the clickable() calls to use the new element_clickable() function which accepts a finder labmda function. This means if the element doesn't yet exist, the code can rebuild the query and try again once a small amount of time has elapsed. There were a ton of timing related races around these element interactions and this seemed to be the most robust way to address the issues. The change also makes some of the elements slightly more specific so the code can work effectively. (Bitbake rev: 38643aadbb5a960004b886cf7709beaf2fc96652) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional/util: Avoid test hangsRichard Purdie2024-10-241-1/+1
| | | | | | | | | | If the element never exists, the timeout is never incremented and the test hangs indefinitely. Fix the exception handling to avoid that and allow the timeout to happen. (Bitbake rev: 9eabe923d457bbce65227da4cd71c275c32108e6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/browser: Add various fixes for test failures encounteredRichard Purdie2024-10-244-7/+13
| | | | | | | | | | | | Fixes for the browser tests which: * Add/improve waiting for specific elements * Waiting for elements to be interactable, not just visible * Hiding notification windows * Using more specific asserts to obtain improved error messages (Bitbake rev: 0c3f9bc2b9516d2af391f2e081280eb7fa62a05e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/browser/helper: Add wait_until_element_clickable funcitonRichard Purdie2024-10-241-0/+7
| | | | | | | | Add a variant of the clickable function that accepts an element parameter. (Bitbake rev: a34b2451a0e3baaf3b2fd2eb351847ff6a5ee033) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/browser/helper: Improve wait_until_clickable ↵Richard Purdie2024-10-241-11/+3
| | | | | | | | | | | | | | | exception handling Our own Wait() class allows exception handling which this form of wrapper does not. Switch the code to use our Wait() class to allow retrying upon encountering those exceptions (such as an element not being present yet). The displayed and visible test is what Selenium would be doing internally, there is no JS reprensetation of clickable directly. (Bitbake rev: 8266a01b750b3758badeee8fb3a1acfa72c17a93) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional/utils: Drop unused code from ↵Richard Purdie2024-10-241-6/+1
| | | | | | | | | | | | | wait_until_build_cancelled The code modifying the build object requires direct database access which is potentially problematic. It was being run on a database which was being reset after changes anyway so the code effectively did nothing. Remove it as it is unneeded. (Bitbake rev: 2e3fa624eb3972aef91d877337479eeb0f3dd365) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/browser/helpers: Drop remains of polling/sleep callsRichard Purdie2024-10-241-10/+7
| | | | | | | | | | | | | | | | Drop the remaining poll parameters from the helpers code along with the remaining sleep call since the tests no longer depend on this. This has the nice benefit of significantly speeding up the toaster test runs (45 minutes down to 12 minutes overall). If a parameter is needed, it should be the timeout, not the polling frequency. (Bitbake rev: 6de912e4f278ffd694fb2258482081dc3bc61c7a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functiona/project_page_tab_config: Improve waits and ↵Richard Purdie2024-10-241-20/+32
| | | | | | | | | | | | | drop polling Drop the poll parameters and make the waits much more specific for the requirements of the tests. This includes looping waiting for a list of layer elements as that code was previously particularly fragile. (Bitbake rev: cf6b8e8aa5484110a41377ba42b3fdd9d6efd877) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functiona/project_page_tab_config: Switch to using ↵Richard Purdie2024-10-241-123/+90
| | | | | | | | | | | | | | | | | library create_project function Switch this test module to use the common project creation code which contains race fixes. That code requires the database access wrapper be dropped and we no longer have ordering constraints. There is one test that does require database access. Move this to a separate class and allow database access there. Use ordering constraints to allow them to run after the main code. They depend on the project creation from the other class which isn't ideal but good enough for now. (Bitbake rev: fa10ba2a8749415d8f06cfc15c228c6eb7df1bcf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/browser/helpers: Add not visible wait functionRichard Purdie2024-10-241-0/+7
| | | | | | | | | In some cases we want to wait until some element is not visible. Add such a function helper. (Bitbake rev: cede6519d25112037264550126b109903220b58c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functiona/project_page: Improve waits and drop pollingRichard Purdie2024-10-241-13/+40
| | | | | | | | | | | | | | These changes: * Drop the poll parameters * Add waits where needed or make them more specific * Add calls to close notification boxes since they can obscure other page elements * In one case wait for a "Loading" message to be replaced (Bitbake rev: 2bde969486a4761fa0e6f9590c9fa08d385666b1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functiona/project_page: Drop pointless test covered ↵Richard Purdie2024-10-241-9/+0
| | | | | | | | | | | elsewhere The project creation test is well covered in another module so just drop this one as there isn't any extra value added here. (Bitbake rev: d26414f191c73fb5330d10d97e240150a3fa1ee8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functiona/project_page: Switch to using library ↵Richard Purdie2024-10-241-76/+42
| | | | | | | | | | | | | | | | | create_project function Switch this test module to use the common project creation code which contains race fixes. That code requires the database access wrapper be dropped and we no longer have ordering constraints. There are two tests that do require database access. Move these to a separate class and allow database access there. Use ordering constraints to allow them to run after the main code. They depend on the project creation from the other class which isn't ideal but good enough for now. (Bitbake rev: e441bfe98ac41d48692ffbaeec90a9c780337fa4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional/project_config: Fix the wait calls to ↵Richard Purdie2024-10-241-26/+21
| | | | | | | | | | | avoid polling Drop poll calls within the module, adding wait calls for elements of the page where testing showed it was needed. (Bitbake rev: 26746eae31f126ff87e678da66dcc976e412c89b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional/basic: Improve the projects table ↵Richard Purdie2024-10-242-7/+14
| | | | | | | | | | | selection to a common function The project page selection code is race prone. Create a common function to resolve the race issue and use it from all the call sites rather than duplicate code. (Bitbake rev: f2bd615b97a6ff3944fa9c1d89a0ea996a12943d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional/helpers: Drop unneeded poll values and sleepRichard Purdie2024-10-242-3/+2
| | | | | | | | | | Drop the remaining poll values and the sleep within the main wait function as the races this was working around now seem to be resolved with the preceeding patches. (Bitbake rev: 91e54cbacc57316a4f2ca766afac81e7f3a54718) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/browser: Drop unneeded poll parametersRichard Purdie2024-10-247-20/+20
| | | | | | | | | In my testing I wasn't able to see issues needing the poll parameter in the browser tests. Drop those. (Bitbake rev: 3be5e7c78129abf059476416279718156fc666b5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/browser: Increase the default wait timeoutRichard Purdie2024-10-241-1/+1
| | | | | | | | | | | | Rather than hardcoded poll and sleep values, we want an overall long timeout and to drop all the other 'sleeping' code. To facilitate this, increase the overall timeout so we can then start to remove the other values. (Bitbake rev: 69a479383f9a8cae6600ce51b12b62be3a15ea38) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/function/basic: Make element detection more specificRichard Purdie2024-10-241-23/+32
| | | | | | | | | | | | | The tests would race and potentially fail as the elements on the page being waited for were not specific enough. Add suitable elements to wait for and drop the remainder of the poll parameters since these are no longer needed since we no longer need to sleep for things to appear. (Bitbake rev: 9db2fd8534610ad8db90a7a696fa7b748b497d15) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/function/basic: Improve exception handling for error ↵Richard Purdie2024-10-241-49/+59
| | | | | | | | | | | | readability The 'fail' calls are useful for find() failures but not for wrapping existing asserts where they hide more useful error messages. Rework the code flow to give more readable error reporting. (Bitbake rev: 1a7a9af418874d3112aa6f148b30e5a4d3d176f3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/project_config: Reuse common project creation codeRichard Purdie2024-10-241-46/+4
| | | | | | | | | | Switch this test module to use the common project creation code which contains race fixes. That code requires the database access wrapper be dropped and we no longer have ordering constraints. (Bitbake rev: 653233a1c798d71800b41d3321203a48aa0337d8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional_basic: Reuse common project creation codeRichard Purdie2024-10-241-21/+1
| | | | | | | | | | Switch this test module to use the common project creation code which contains race fixes. That code requires the database access wrapper be dropped and we no longer have ordering constraints. (Bitbake rev: f015d96e28d89fd0aef76ff127ebde8613125a66) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional: Tweak the project creation function for ↵Richard Purdie2024-10-242-9/+17
| | | | | | | | | | | | | | | better reuse Tweak the function name and return the created project ID. Allow the release_name test to be skipped with a value of None. Add an extra wait call to ensure the create project button is ready before clicking it. (Bitbake rev: d20c6e3c67298c5db33b220a2e4a554e6f2c4418) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional: Move _create_test_new_project to base ↵Richard Purdie2024-10-242-69/+72
| | | | | | | | | | | class as helper The test project creation is needed by mutliple tests. Move it to the base class as a helper function for reuse. (Bitbake rev: abe483b98b38e95b4ad42629a67fb5d243c94094) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster/tests/functional: Improve project creation testsRichard Purdie2024-10-242-8/+22
| | | | | | | | | | | | | | | | | | | | | Mixing database access and access via a running server is fraught with danger and problems. The "django_db" marker means the transactions are dropped at the end of the test but the transactions made via the webapi remain so the database ends up confused at best. Drop the database accesses and use the server API. This means slightly abusing the typeahead to get lists of projects in the database. Add code to delete a project if it already exists. This allows tests to re-run against an existing database. Deletion is done using the server API but this means handling CSRF tokens. Add requests module requirement to requirements file since the project creation code now uses requests. (Bitbake rev: 738270c53a08ddc95400de70f3dd8c08b2940182) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchtest: add test_commit_message_user_tagsTrevor Gamblin2024-10-234-0/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | This test makes patchtest check to ensure that there aren't any GitHub-style user account names being tagged in the commit message, e.g. it should catch lines like: "fix added by @threexc" This is desired so that if (for example) we add upstream changelogs in recipe upgrade commit messages verbatim, we don't end up subscribing any associated maintainers to our repo mirrors' updates by accident. There is a small possibility of a false positive with this test, where if someone is mentioning Python decorators in their commit message (or similar syntax from other languages), it will fail when it should pass. However, having this test in place to guard against username inclusion is more important that the occasional false positive for that reason. With this addition, a failure will look like: |FAIL: test commit message user tags: Mbox includes one or more GitHub-style username tags. Ensure that any "@" symbols are stripped out of usernames (test_mbox.TestMbox.test_commit_message_user_tags) (From OE-Core rev: 8278d82d8203212bb159eb3805d4a5617c5370df) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: structure.rst: document missing tmp/ dirsAntonin Godard2024-10-231-2/+33
| | | | | | | | | | | | | | Document `hosttools/`, `pkgdata/` and add some more information on `work-shared/`. Adresses [YOCTO #14543]. Reported-by: Robert P. J. Day <rpjday@crashcourse.ca> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> (From yocto-docs rev: 372b5b4ca55819c294970b20aa8b8d8167144329) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>