summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/selftest
Commit message (Collapse)AuthorAgeFilesLines
* The poky repository master branch is no longer being updated.Richard Purdie2025-11-0785-20602/+0
| | | | | | | | | | | | | | | | | | | | | You can either: a) switch to individual clones of bitbake, openembedded-core, meta-yocto and yocto-docs b) use the new bitbake-setup You can find information about either approach in our documentation: https://docs.yoctoproject.org/ Note that "poky" the distro setting is still available in meta-yocto as before and we continue to use and maintain that. Long live Poky! Some further information on the background of this change can be found in: https://lists.openembedded.org/g/openembedded-architecture/message/2179 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add wic tests and support setting GPT diskidSteffen Greber2025-10-301-0/+36
| | | | | | | | | | | | Also extend implementation to allow defining the diskid for GPT partitions. Add unit tests for wic.py to cover new setting. (From OE-Core rev: 0d5da9477703212d3cfb63828c5c38afdb162e43) Signed-off-by: Steffen Greber <sgreber@lilafast.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: fitimage: test absent optional nodes in ITS filesAdrian Freihofer2025-10-301-21/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | Extend the test framework to verify that certain optional nodes are properly absent from ITS files based on configuration. The _get_req_its_paths() method now returns a tuple containing both expected and not-expected paths, enabling negative testing of conditional components. Test improvements: - Add verification for absent bootscr, setup, and ramdisk image nodes when their respective features are disabled - Extend configuration node testing with proper kernel/fdt/ramdisk field validation based on device tree and initramfs settings Code cleanup: - Remove unused tempfile module import - Sort bb_vars keys alphabetically in _test_fitimage_py() - Add debug output for bb_vars overrides when debug logging is enabled - Remove trailing empty line - Fix DTB file ordering for consistent test results (From OE-Core rev: 90dbdacc7f22120b4a96aad2a89b363fdd944079) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/rust: strip debug symbols from test binariesPeter Tatrai2025-10-301-0/+3
| | | | | | | | | | | | | | | | | | Strip debug symbols from test binaries using RUSTFLAGS='-C strip=debuginfo' to reduce binary sizes from 300+ MB to ~140 MB. This is especially critical for PowerPC mac99 which has a hardcoded 768MB RAM limit in QEMU. Without stripping, test binaries uploaded to /tmp (tmpfs) cause 'No space left on device' errors during test execution. The size reduction also benefits all other architectures by reducing memory pressure and upload times during testing. (From OE-Core rev: ede3ac6f587507f98ffbe9a8b07e21e57c27c986) Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/bblayers: Add a test to validate bitbake-setup registry schemaYoann Congal2025-10-271-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | This test validates bitbake/default-registry/configurations/*.conf.json against bitbake-setup.schema.json: INFO - test_validate_bitbake_setup_default_registry (bblayers.BitbakeLayers.test_validate_bitbake_setup_default_registry) DEBUG - Validating .../poky/bitbake/bin/../default-registry/configurations/oe-nodistro.conf.json DEBUG - Validating .../poky/bitbake/bin/../default-registry/configurations/poky-master.conf.json INFO - ... ok INFO - test_validate_examplelayersjson (bblayers.BitbakeLayers.test_validate_examplelayersjson) INFO - ... ok INFO - ---------------------------------------------------------------------- INFO - Ran 2 tests in 110.469s INFO - OK INFO - RESULTS: INFO - RESULTS - bblayers.BitbakeLayers.test_validate_bitbake_setup_default_registry: PASSED (0.92s) INFO - RESULTS - bblayers.BitbakeLayers.test_validate_examplelayersjson: PASSED (0.19s) INFO - SUMMARY: INFO - oe-selftest () - Ran 2 tests in 110.469s INFO - oe-selftest - OK - All required tests passed (successes=2, skipped=0, failures=0, errors=0) (From OE-Core rev: 86978295c228640e2c33076d1f51db9f2fe7063b) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/bblayers: Refactor JSON schema validationYoann Congal2025-10-271-7/+22
| | | | | | | | | | | | | | * Extract a function "validate_json" * Read bitbake variables in setUpClass to avoid makeing repeated calls to bitbake * Allow to specify the schema relative to $COREBASE/meta/files/ * Specify the Base URI to allow schema to reference each other (From OE-Core rev: b10b4d5b6376fd828c1cb843ea2e24da298657b6) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: fitimage: fix req_its_fields last field_indexAdrian Freihofer2025-10-271-2/+4
| | | | | | | | | | | | The last enrty of req_its_fields was not taken into account and the test passed even if the last entry was not found in the its file. (From OE-Core rev: 34e872ab23067231fb93c3b31ad5a439e9c17cb8) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Increase QEMU size to 1024 MBDeepesh Varatharajan2025-10-161-2/+3
| | | | | | | | | | | | | | | | | | | | Rightnow rust depends on llvm instead of rust-llvm Setup in rust-llvm CFLAGS:remove = "-g" CXXFLAGS:remove = "-g" Setup in llvm DEBUG_LEVELFLAG = "-g1" As a result, the stage1 compiler crate binaries include debug symbols, increasing their size. These binaries are used to run tests inside QEMU. To accommodate this, increase the QEMU RAM allocation to 1024 MB. (From OE-Core rev: 1c87bca91c61a272266a0f2763e0477b66f06c13) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/yoctotestresultquerytest: Fix revisions to match OE-CoreRichard Purdie2025-10-141-2/+2
| | | | | | | | | The test was written assuming poky was being used. Update the revisions to match OE-Core instead. (From OE-Core rev: 5965ae92c866817a0bab54d240b1d197da37df2a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/buildoptions: Fix test_yocto_source_mirror MIRRORS & ↵Yoann Congal2025-10-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PREMIRRORS definitions Currently, the definitions of MIRRORS and PREMIRRORS made by test_yocto_source_mirror() are overwritten when run on the autobuilder: * MIRRORS = "" is extended by mirrors.bbclass to its usual value. * PREMIRRORS = "* dl.yp.org" is overwritten by the autobuilder.conf config fragment to "" Simplified variable history: # $MIRRORS [4 operations] # set .../contribution-yocto/builds/build-qemux86-64-st/conf/selftest.inc:3 # "" # append .../contribution-yocto/builds/build-qemux86-64-st/../../layers/poky/meta/classes-global/mirrors.bbclass:57 # "${DEBIAN_MIRROR} ..." MIRRORS=" http://deb.debian.org/debian/pool ..." # $PREMIRRORS [4 operations] # set .../contribution-yocto/builds/build-qemux86-64-st/conf/selftest.inc:18 # " bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n ..." # set .../contribution-yocto/builds/build-qemux86-64-st/../../layers/poky/meta/conf/fragments/yocto-autobuilder/autobuilder.conf:6 # "" # append .../contribution-yocto/builds/build-qemux86-64-st/../../layers/poky/meta/classes-global/mirrors.bbclass:84 # "git://sourceware.org/git/glibc.git https://downloads.yoctoproject.org/mirror/sources/ ..." PREMIRRORS=" git://sourceware.org/git/glibc.git https://downloads.yoctoproject.org/mirror/sources/ ..." Despite this unexpected configuration, the test passes because after failing to find a PREMIRROR (empty), failing to download the normal SRC_URI (because of BB_ALLOWED_NETWORKS), the fetcher tries the MIRRORS which have by default download.yoctoproject.org. For example, on a failed meta-oe-mirror test[0], we can see a lot of warnings: "stdio: WARNING: ... do_fetch: Failed to fetch URL https://... attempting MIRRORS if available" By using the ":forcevariable" override, test_yocto_source_mirror() makes sure the correct value is set for MIRRORS and PREMIRRORS (whatever is the configuration). Simplified variable history (after the fix): # $MIRRORS [4 operations] # append .../contribution-yocto/builds/build-qemux86-64-st/../../layers/poky/meta/classes-global/mirrors.bbclass:57 # "${DEBIAN_MIRROR} ..." # append .../contribution-yocto/builds/build-qemux86-64-st/../../layers/poky/meta/classes-global/mirrors.bbclass:68 # "git://salsa.debian.org/.* ..." # override[forcevariable]:set .../contribution-yocto/builds/build-qemux86-64-st/conf/selftest.inc:3 # "" MIRRORS="" # $PREMIRRORS [4 operations] # set .../contribution-yocto/builds/build-qemux86-64-st/../../layers/poky/meta/conf/fragments/yocto-autobuilder/autobuilder.conf:6 # "" # append .../contribution-yocto/builds/build-qemux86-64-st/../../layers/poky/meta/classes-global/mirrors.bbclass:84 # "git://sourceware.org/git/glibc.git ..." # override[forcevariable]:set .../contribution-yocto/builds/build-qemux86-64-st/conf/selftest.inc:18 # " bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ ..." # pre-expansion value: # " bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ ..." PREMIRRORS=" bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ ..." [0]: https://autobuilder.yoctoproject.org/valkyrie/#/builders/82/builds/470/steps/17/logs/warnings Fixes [YOCTO #15993] (From OE-Core rev: ab810d1239d4db0bc0f23db31c70cc9c6e59357e) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/bblayers: fix up compatibility with integrated poky and separate ↵Alexander Kanavin2025-10-131-2/+2
| | | | | | | | | | | | | | | | | layer checkouts Specifically: - when using integrated poky, autobuilder clones it into 'build', rather than 'poky' - do not use a catch-all default to tweak the commit id openembedded-core, rather make it specific to that repository. (From OE-Core rev: 9a77dea19b0a9b07a21648e6f231d936d7387846) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/cases/meta_ide.py: use gnu mirror instead of main serverSteve Sakoman2025-10-091-1/+1
| | | | | | | | | | | | | | | | ftp.gnu.org is the main server of the GNU project, however download speed can vary greatly based on one's location. Using ftpmirror.gnu.org should redirect the request to the closest up-to-date mirror, which should result sometimes in significantly faster download speed, depending on one's location. This should also distribute the traffic more across the mirrors. This information was sourced from https://www.gnu.org/prep/ftp.html (From OE-Core rev: b8cd34e56819e13fd374210cf67d6952d1f2586d) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/meta_ide: source the environment first, then change to the sources ↵Alexander Kanavin2025-10-091-1/+1
| | | | | | | | | | | | | directory This too used to work by coincidence: sourcing the environment quietly failed without changing to the build directory, but now that it works properly, things should be done in correct order. (From OE-Core rev: ed98173057fa128ff565e1e1078b150ca14a85e0) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/buildhistory: Fix test if USER_CLASSES is unsetRichard Purdie2025-10-091-1/+1
| | | | | | | | If USER_CLASSES is unset, the test was failing. Fix that. (From OE-Core rev: 7be456e675a17344aedaa65a10ecaa015bf3803a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/oescripts: Ensure buildstats is presentRichard Purdie2025-10-091-0/+4
| | | | | | | | | These tests need buildstats to be configured. Add that piece of config in case it isn't by default. (From OE-Core rev: d1962257783ed9348be9fdd2db20b7d2b7c37ce1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/bblock/fitimage/sstatetests: Fix changing MACHINE during the testRichard Purdie2025-10-093-32/+32
| | | | | | | | | | | | With config fragments, changing MACHINE in the test like this no longer works. Use the forcevarable override to allow it to work. This also needs a tweak to bitbake to work correctly, sent seperately. Whilst ugly, this avoids the need to start changing config fragments within oeqa right now. (From OE-Core rev: 2323fe87eefc8017ac93ed98b1bea24996f2276b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Fix single threaded race issueRichard Purdie2025-10-091-0/+4
| | | | | | | | | | | | | | | | oe-selftest sets up separate build directories to run the tests in. To to this, environment paths pointing at the previous build directory are updated. In the multi-threaded case this is fine as the thread is destroyed and the parent remains unchanged but in the single threaded case, the environment is broken afterwards. This can mean we try and access a directory which is in the process of being deleted (e.g. by clobberdir). Restore the environment afterwards regardless to ensure the single threaded case doesn't try and access the build directory which is now being deleted. (From OE-Core rev: a165bec28ffc75fd44b1fdb02a0d3a80c5a4769b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/bblayers: maintain compatibility with integrated poky repoAlexander Kanavin2025-10-081-1/+3
| | | | | | | | | | | This amends the recently merged commit that assumes the transition to separate repositories has already happened and re-instatates support for integrated poky. (From OE-Core rev: 517666671ba2cc79b2ada3390d4ae0f2beb95caf) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/wic: fix PATH for wic.Wic2.test_extra_partition_pluginYoann Congal2025-10-061-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without importing PATH from the wic-tools recipes, the build host PATH is used and this test may fail depending on tools (parted, dumpe2fs, ...) availability. This triggers build faillure on AB (e.g. [0]) To fix this, import PATH from wic-tools and ensure the original environment is restored after. Since this indent a block of code into a try/finally block, here is the diff ignoring white spaces change: diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index bff3842305..bc99673d0d 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -1680,0 +1681,4 @@ INITRAMFS_IMAGE = "core-image-initramfs-boot" + oldpath = os.environ['PATH'] + os.environ['PATH'] = get_bb_var("PATH", "wic-tools") + + try: @@ -1696,0 +1701,3 @@ INITRAMFS_IMAGE = "core-image-initramfs-boot" + finally: + os.environ['PATH'] = oldpath + [0]: https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2456 (From OE-Core rev: 9dfd4f44d4f40e7926dc88cb564baa2345c2a24f) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/wic: fix PATH for wic.Wic2.test_extra_partition_spaceYoann Congal2025-10-061-34/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without importing PATH from the wic-tools recipes, the build host PATH is used and this test may fail depending on tools (parted, dumpe2fs, ...) availability. This triggers build faillure on AB (e.g. [0]) To fix this, import PATH from wic-tools and ensure the original environment is restored after. Since this indent a block of code into a try/finally block, here is the diff ignoring white spaces change: diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index b1c318bd4e..34d844b90b 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -1331,0 +1332,4 @@ + oldpath = os.environ['PATH'] + os.environ['PATH'] = get_bb_var("PATH", "wic-tools") + + try: @@ -1366,0 +1371,2 @@ + finally: + os.environ['PATH'] = oldpath [0]: https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2456 (From OE-Core rev: a6278a199807f1ad7ed1e27ec352af46e03e8b67) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: extra partition pluginPierre-Loup GOSSE2025-10-061-1/+42
| | | | | | | | | | | | | | | | The extra_partition plugin allows populating an extra partition with files listed in the new IMAGE_EXTRA_PARTITION_FILES variable. The implementation is similar to the bootimg_partition plugin. This plugin provides an easy way to install files that are not part of the rootfs, from the deploy directory. (From OE-Core rev: 3892912bd7e047a3b122ae910ac5fbd5a85117b8) Signed-off-by: Pierre-Loup GOSSE <pierre-loup.gosse@smile.fr> Reviewed-by: Yoann CONGAL <yoann.congal@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/bblayers: do not assume integrated poky repoAlexander Kanavin2025-10-061-1/+4
| | | | | | | | | | | The autobuilder is being transitioned to bitbake-setup which sets up individual repositories that yocto is made of. Adjust hardcoded revisions to match these repositories. (From OE-Core rev: d22744cc176524e83cc52d0800ce39b0070e261c) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/bbconfigbuild/configfragments: disable the previous builtin fragment ↵Alexander Kanavin2025-10-061-6/+9
| | | | | | | | | | | | | | | | | | | when enabling a new one There was a flaw in the logic that allowed multiple builtin fragments with the same prefix to be enabled at the same time. The correct behaviour is that only one of them should be enabled, and when enabling it all previously enabled fragments should be removed. The issues that this caused are further explained in https://bugzilla.yoctoproject.org/show_bug.cgi?id=15987 [YOCTO #15987] (From OE-Core rev: aea2d69d0533bf005cd58eb91fd9b3a3ae194610) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/bblayers.py: add tests for adding new built-in fragmentsAntonin Godard2025-10-011-0/+29
| | | | | | | | | | | | | | | | | | | | | Add discussed in [1], our best option for customizing built-in fragments is to pass them from a layer configuration. In short, the reason is that our statement must be parsed before the addfragments call is parsed.We also have to use the :append override as using += would override the original definition of OE_FRAGMENTS_BUILTIN (since it uses a ?= assignment). Provide a test case for customizing built-in fragments with meta-selftest. [1]: https://lore.kernel.org/yocto-docs/20250925-fragments-v1-0-c9f747361fb2@bootlin.com/T/#m9f7c9f110c084eba17e0f64d8b2ac7a88af3f38e Cc: Alexander Kanavin <alex.kanavin@gmail.com> (From OE-Core rev: 38cbf4c0ce5173dc3080fa0fbb3ec3e7926c8137) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.89.0 -> 1.90.0Yash Shinde2025-09-251-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://blog.rust-lang.org/2025/09/18/Rust-1.90.0/ * Recent changes in rustc require 'target-c-int-width' to be an integer, not a string. This fixes type consistency when generating target specs. https://github.com/rust-lang/rust/pull/142352. * Rebase existing patches with v1.90.0. * Drop merged patches with rust v1.90.0. - backport-fix-test-string-merging.patch https://github.com/rust-lang/rust/commit/2d51acd2fbcbadb6f30709c5dd305494d413d388 * The "remote-test-server" bin is now generated in stage1-tools-bin dir rather than stage2. Update the test suite accordingly. The tests/{assembly/codegen} dirs are renamed to tests/{assembly,codegen}-llvm. Update the test suite and patches accordingly. https://github.com/rust-lang/rust/pull/144249/commits * Use "//@ ignore-riscv64" tag for tests failing on riscv-64 instead of previous "only-<target_arch>" tags. Test results summary: rust v1.90.0 +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | 29,517 | 1,529 | | arm-64 | 29,608 | 1,471 | | x86-32 | 29,508 | 1,507 | | x86-64 | 29,903 | 1,275 | | riscv-64 | 29,584 | 1,494 | +-----------+--------+---------+ Test results difference (1.90 - 1.89): +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | +278 | +61 | | arm-64 | +279 | +59 | | x86-32 | +277 | +58 | | x86-64 | +419 | +50 | | riscv-64 | +280 | +58 | +-----------+--------+---------+ (From OE-Core rev: 86d09ec9cdbcea6e076ebac6e1243f9e20fb4378) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: devtool: add missing importsAdrian Freihofer2025-09-221-6/+5
| | | | | | | | | | | | Cleanup some indirect imports. This does not solve a real problem, but it fixes some issues with IDEs that do not properly resolve indirect imports. (From OE-Core rev: b1b460c8b1c8047d9fb08287036a0b4f5446b7cb) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: preserve debugfs tarball with checksum fstypeManuel Leonhardt2025-09-111-5/+8
| | | | | | | | | | | | | | | Previously, when adding checksum fstypes to IMAGE_FSTYPES_DEBUGFS, e.g. IMAGE_FSTYPES_DEBUGFS = "tar.bz2 tar.bz2.sha256sum", only the checksum file remained in DEPLOY_DIR while the tarball file was removed. The underlying issue was that inside gen_conversion_cmds, removing the debugfs_ prefix from type broke the comparison with alltypes where the prefix was expected. (From OE-Core rev: 560c7676b81fb344b7db538d65973a49807ab140) Signed-off-by: Manuel Leonhardt <mleonhardt@arri.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/bblayers.py: add a test case for bitbake-config-build show-fragmentAntonin Godard2025-09-081-0/+26
| | | | | | | | | | | Add a test case for 'bitbake-config-build show-fragment' and use 'bitbake-config-build list-fragments' to get the path to the fragment. (From OE-Core rev: 09468f352994a05b59911b2fe7412d3540cdb3cb) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pinentry: upgrade 1.3.1 -> 1.3.2Gyorgy Sarvari2025-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Shortlog: -qt: Replace icons for dark mode with 16x16 icons -qt,qt5: Ensure that input field is large enough for generated password -qt5: Add dark mode icon variants and detection -Make Show/Hide Password functionality accessible -qt5: Make Show/Hide Password functionality accessible -m4: Update libassuan.m4. -build: Remove defining GPG_ERR_ENABLE_ERRNO_MACROS. -build: Fix warning about obsolete pinentry-emacs. -curses: Factor out dialog release to separate function. -qt: Add dark mode icon variants and detection -m4: Update gpg-error.m4 and libassuan.m4. Also: Simplify patch to find gpg-error with pkg-config (From OE-Core rev: afa8d2becc9c53a92d29f413d9eec737d7e12601) Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> Cc: Ross Burton <ross.burton@arm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: rename wks flag --extra-space to --extra-filesystem-spacePierre-Loup GOSSE2025-09-081-2/+2
| | | | | | | | | | | | | Makes a clear distinction with --extra-partition-space flag. (From OE-Core rev: 39d10137b86ebb6d1f20c36ae50a7771e6c76251) Signed-off-by: Pierre-Loup GOSSE <pierre-loup.gosse@smile.fr> CC: Alexander Kanavin <alex.kanavin@gmail.com> CC: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add --extra-partition-space option to set unused spacePierre-Loup GOSSE2025-09-081-2/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, the content of the partition is filled by the filesystem without leaving any unused free space. The --extra-space flag adds extra space to the filesystem size, not to the partition. Unused free space after the filesystem can be useful for some cases, such as encrypting a partition at runtime. With --extra-partition-space 32M, we ensure that the last 32M of the partition is unused: this space does not contain filesystem data and can store the LUKS2 header. The implementation sets a difference between the partition and filesystem size: - With --fixed-size, the extra part space is removed from the filesystem size. - Otherwise (with or without --size flag), the extra part space is added to the partition size. (From OE-Core rev: 22fd1702aedf40257aa53963b62b5ef1bbd2818a) Signed-off-by: Pierre-Loup GOSSE <pierre-loup.gosse@smile.fr> CC: Alexander Kanavin <alex.kanavin@gmail.com> CC: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/cases/gcc.py: add libitm to default installed packages.Harish Sadineni2025-09-081-1/+1
| | | | | | | | | | | | | | | When running oe-selftest few libitm tests were getting failed due to below error: /tmp/runtest.923959/alloc-1.exe: error while loading shared libraries: libitm.so.1: cannot open shared object file: No such file or directory Adding libitm to default installed packages to fix this issue. (From OE-Core rev: 0bc2cc9589b5cd3e11cbba1bb588785845db4faa) Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.88.0 -> 1.89.0Jayasurya Maganuru2025-08-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rust stable version upgraded to 1.89.0 https://blog.rust-lang.org/2025/08/07/Rust-1.89.0/ * Drop merged patches with rust v1.89.0. - 0001-Disable-libunwind-cross-architecture-unwinding.patch - triagebot.patch * Update and rebase existing patches with rust v1.89.0. - revert-link-std-statically-in-rustc_driver-feature.patch - rust-oe-selftest.patch - 0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch - 0001-riscv32-Define-plain-syscalls-as-their-time64-varian.patch (To fix build failures for riscv with musl, this patch adds aliases for plain syscalls to their time64 variants in libc-0.2.174, These changes are in addition to similar fixes already applied to libc-0.2.172) - 0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch (Changes for libc-0.2.170 are no longer needed, as that version is not present in rust v1.89.0 vendor sources) * OE-selftests: - Doc-tests fail in 55 crates,test-float-parse tests also fail. These tests are excluded to ensure the overall test suite passes. Test Results Summary: +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | 29,239 | 1,468 | | arm-64 | 29,329 | 1,412 | | x86-32 | 29,231 | 1,449 | | x86-64 | 29,484 | 1,225 | | riscv-64 | 29,304 | 1,436 | +-----------+--------+---------+ (From OE-Core rev: fca454a188592c9fa854e93ff1a9c3e70a681e23) Signed-off-by: Jayasurya Maganuru <Maganuru.Jayasurya@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/cases/gcc.py: Increase QEMU RAM to 4GBHarish Sadineni2025-08-251-1/+2
| | | | | | | | | | | The test pr61599-1.c fails because it requires more than 3GB of RAM. This change increases the allocated RAM to 4GB to prevent test failures. (From OE-Core rev: 745eedb1afcb4f8e28ca560ae41d3297bb63cdd4) Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: add wic.Wic.test_grub_install_pcbiosVincent Davis Jr2025-08-141-0/+41
| | | | | | | | | | | | | | | | | wic.Wic.test_grub_install_pcbios test Test updates to the bootimg_pcbios plugin that enables support for installing grub directly to the resulting wic image. The test checks to see if the wics plugin generates a wic image. Then see's if normal.mod and grub.cfg are located in the boot partition. (From OE-Core rev: 23b2a406c7d83f7b81aed85819b4643b93978ac9) Signed-off-by: Vincent Davis Jr <vince@underview.tech> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/devtool: add devtool upgrade selftest for recipes with git submodulesTobias Pistora2025-08-141-3/+7
| | | | | | | | | | | | | | Tests [YOCTO #15943] Move code from test_devtool_upgrade_git() into separate, local function. Add a test_devtool_upgrade_gitsm() selftest for devtool. Add recipes for testing gitsm components. (From OE-Core rev: c996801af3a22f50955ed4e47220461d6d243a3b) Signed-off-by: Tobias Pistora <pistora.tobias@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake/conf: Default to zstd compressed image outputRichard Purdie2025-08-062-0/+7
| | | | | | | | | | | | Switch our default qemu images to use .zst compressed images by default since this is the output format we release during the release process and is the one that users would prefer to download. This makes the release process use the actual generated output from the system and avoids post processing. (From OE-Core rev: aa5f60d1fcb716a2b2174dffcaf35442bff1f1fb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/runqemu: Use snapshot mode for image testingRichard Purdie2025-08-061-3/+3
| | | | | | | | | We don't need to preserve changes to these images so use snapshot mode so we don't save writes to them. (From OE-Core rev: da939d122fc77c86f13a087a387edaa8d39d9dbb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: runqemu: add tests for booting zst compressed imageYoann Congal2025-08-061-1/+20
| | | | | | | | | | Add a simple tests booting a compressed image given to runqemu as path and as image recipe name. (From OE-Core rev: b5f8c3e02980df0e8e44de32ed8b3b869a1fcd83) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.87.0 -> 1.88.0Jayasurya Maganuru2025-07-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rust stable version updated to 1.88.0. https://blog.rust-lang.org/2025/06/26/Rust-1.88.0/ * Rebase existing patches with v1.88.0 * Exclude tidy and coverage-dump from OE self-tests due to test failures Although the build completes successfully, OE self-tests fail: tools/coverage-dump panics during test execution. tools/tidy fails due to a mismatched GCC submodule commit. These tests are excluded to allow successful OE self-test runs. * Two tests from the`codegen` modules now fail only on riscv64. Enable them on arm32/64 and x86-32/64 targets, while restricting them on riscv64 via `only-<target_arch>` tags. Bugzilla link - https://bugzilla.yoctoproject.org/show_bug.cgi?id=15944 Test Results Summary: +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | 28,664 | 1,451 | | arm-64 | 28,748 | 1,396 | | x86-32 | 28,657 | 1,432 | | x86-64 | 28,904 | 1,213 | | riscv-64 | 28,722 | 1,421 | +-----------+--------+---------+ (From OE-Core rev: 5afc9bdbabfdbcb784ceb637926111e6c7648f41) Signed-off-by: Jayasurya Maganuru <Maganuru.Jayasurya@windriver.com> Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake: upgrade 3.31.6 -> 4.0.3Moritz Haase2025-07-171-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first major release bump for CMake since 3.0 was released in 2014. Compatibility with versions of CMake older than 3.5 has been removed. Full release notes are available at [0]. Obsolete patches have been removed and the few remaining ones have been refreshed. We can now build cmake without patches, only cmake-native requires two that are not suitable for upstreaming. The main license file has been renamed from Copyright.txt to LICENSE.rst in [1]. References to the file have been updated, causing changes to the licensing header in 'cmake.h' (see [2]). Additionally, the '1996 - 2024' copyright statement in (cm)curl's COPYING was updated to '1996 - 2025' in [3]. [0]: https://cmake.org/cmake/help/v4.0/release/4.0.html [1]: https://gitlab.kitware.com/cmake/cmake/-/commit/2d42a5444f859891b6598c76ea5d51510013565e [2]: https://gitlab.kitware.com/cmake/cmake/-/commit/de273b2e115974a012a6204ffee046dc9ce77586 [3]: https://gitlab.kitware.com/cmake/cmake/-/commit/48b13baebc7f99442c3b872f202efd2fb92d6d7f License-Update: License file renamed; copyright years updated (From OE-Core rev: fc7aafb30bc5fe83f8d2ed451cb6b4d68b131fb5) Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de> CC: alex.kanavin@gmail.com Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: devtool: split tap detection into functionAdrian Freihofer2025-07-141-12/+2
| | | | | | | | | | Make the check for tap devices available as a function which can be used by other tests as well. (From OE-Core rev: ad8f3a8d959a245301118cf7b850f1a0ab567f01) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: devtool: run without pokyAdrian Freihofer2025-07-141-1/+2
| | | | | | | | | | | | If DISTRO is set to poky, the ptest DISTRO_FEATURE is enable. However, without meta-poky layer, ptest packages are not compiled and the tests fail with: ERROR: Nothing RPROVIDES 'cmake-example-ptest'... (From OE-Core rev: 7b5b0908a6acf43384a13f2e6801e014a61b8e8f) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: devtool deploy-target test --strip optionAdrian Freihofer2025-07-141-30/+33
| | | | | | | | | | | Extend the devtool deploy-target test to test with and without the --strip option. The --strip code path recently broke unnoticed because of changes in pseudo. (From OE-Core rev: 4c586320e15d8d8b5b85e2da0b900dcc6a0fff3d) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/devtool: update create_go test to match the new behaviourRoss Burton2025-07-011-23/+10
| | | | | | | | | Update the test now that the recipe uses go-mod-update-modules. (From OE-Core rev: 1030223a43aa4500c0d4ebd9dfacf60b44239481) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sefltest/devtool: improve assignment matching in _test_recipe_contentsRoss Burton2025-07-011-1/+1
| | | | | | | | | | | | | This function assumed that all assignments are done with just "=". However, being able to check += or ?= is also useful, so use a regex to split the line and be more flexible about what an assignment operator looks like. (From OE-Core rev: bee528f38d39ed1f91319201e8a99c0b65c9f975) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: move pokybleeding selftest from meta to meta-pokyAlexander Kanavin2025-06-261-32/+0
| | | | | | | | | | meta/ is 'owned' by oe-core and meta-yocto repo should not be putting files in it. (From meta-yocto rev: 83be7b1c70a7f90f611ad33284d0b8f963552eae) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sstatetests: Improve/fix sstate creation testsRichard Purdie2025-06-261-48/+30
| | | | | | | | | | | | | | | | | | | | | | There are multiple problems with the sstate creation tests. They currently both execute twice, once to check one set of files, then another. We can do this together in one test which makes the code easier to follow. The common test function also has parameters which were always the same value, so those can be simplified. We can use the umask context manager from bb.utils to simplfy the umask code. The badperms test was actually broken, it was detecting bad permissions, then ignoring them. This patch fixes that regression too and allows the check to operate (relying on a separate fix to sstate umask handling). The result should be an easier to understand couple of test cases which should also function correctly and be more reliable. (From OE-Core rev: 5b9263040013199c5cb480125d5ca349f5d6dc55) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sstatetests: Fix NATIVELSBSTRING handlingRichard Purdie2025-06-261-7/+12
| | | | | | | | | | | | | | The NATIVELSBSTRING variable changes value once a BuildStarted event occurs in a build directory. This meant running some of the tests directly in a fresh build directory would fail but they'd pass when run as a group of tests. This is clearly suboptimal. Move the NATIVELSBSTRING handling to a location where the value is consistent and a comment about the interesting behaviour of the variable so it hopefully doesn't catch out others in future. (From OE-Core rev: e1c46fdb44fed18909d9ff4b43b4e445c5a22d33) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic-image-minimal, oeqa/selftest/wic: run 'wic ls/cp/rm' in bitbake taskHongxu Jia2025-06-261-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to commit [2255f28b57 wic: add WIC_SECTOR_SIZE variable][1] applied, call `wic ls|cp|rm|write' in bitbake task will hung, but we have no scenario case to cover it After commit [scripts/wic: fix calling wic ls|cp|rm|write hung in bitbake task] applied, this commit run `wic cp|ls|rm' in case wic.Wic2.test_wic_image_type and wic.Wic2.test_qemu, at post function of with do_image_wic in image wic-image-minimal, and check if file is there $ echo 'SANITY_TESTED_DISTROS = ""' >> conf/local.conf $ oe-selftest -r wic.Wic2.test_wic_image_type wic.Wic2.test_qemu ... 2025-06-23 15:46:22,157 - oe-selftest - INFO - Adding: "include selftest.inc" in /buildarea5/hjia/poky/build-st/conf/local.conf 2025-06-23 15:46:22,157 - oe-selftest - INFO - Adding: "include bblayers.inc" in bblayers.conf 2025-06-23 15:46:22,157 - oe-selftest - INFO - test_qemu (wic.Wic2) The variable 'TEST_RUNQEMUPARAMS' is not defined 2025-06-23 15:56:46,319 - oe-selftest - INFO - ... ok 2025-06-23 15:56:46,324 - oe-selftest - INFO - test_wic_image_type (wic.Wic2) 2025-06-23 15:57:17,780 - oe-selftest - INFO - ... ok 2025-06-23 15:57:17,781 - oe-selftest - INFO - ---------------------------------------------------------------------- 2025-06-23 15:57:17,781 - oe-selftest - INFO - Ran 2 tests in 655.792s 2025-06-23 15:57:17,781 - oe-selftest - INFO - OK 2025-06-23 15:57:25,743 - oe-selftest - INFO - RESULTS: 2025-06-23 15:57:25,743 - oe-selftest - INFO - RESULTS - wic.Wic2.test_qemu: PASSED (624.16s) 2025-06-23 15:57:25,744 - oe-selftest - INFO - RESULTS - wic.Wic2.test_wic_image_type: PASSED (31.46s) 2025-06-23 15:57:25,746 - oe-selftest - INFO - SUMMARY: 2025-06-23 15:57:25,746 - oe-selftest - INFO - oe-selftest () - Ran 2 tests in 655.793s 2025-06-23 15:57:25,746 - oe-selftest - INFO - oe-selftest - OK - All required tests passed (successes=2, skipped=0, failures=0, errors=0) (From OE-Core rev: 18d774eafb7fba720882fcdb945d145b82fa1dd4) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>