Commit Graph

2102 Commits

Author SHA1 Message Date
Richard Purdie
ce08cf4825 lib: Add copyright statements to files without one
Where there isn't a copyright statement, add one to make it explicit.
Also add license identifiers as MIT if there isn't one.

(From OE-Core rev: bb731d1f3d2a1d50ec0aed864dbca54cf795b040)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-12 12:00:43 +01:00
Richard Purdie
0f6817f2a4 selftest/runtime_test: Use testexport in IMAGE_CLASSES, not globally
testexport doesn't make sense outside the scope of SDKs and images so
use via IMAGE_CLASSES instead of in the global scope.

(From OE-Core rev: ffa7556ae58dd4d806bf1881f5e208d16a64b833)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-12 11:46:26 +01:00
Richard Purdie
a74792b15d selftest/runtime_test/incompatible_lic: Use IMAGE_CLASSES for testimage
testimage should be included via IMAGE_CLASSES, not globally with INHERIT.

(From OE-Core rev: 4cdb29c7342b16a6c9294268a674a1414eed88e5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-12 11:46:26 +01:00
Yogesh Tyagi
b9a57cad4d gdbserver : add selftest
The test runs gdbserver on qemu and connects the gdb client from host over TCP.

It builds a cross gdb on the host and compiles the program to be debugged on the target,
launches the gdbserver and tries to connect cross gdb to it.

[YOCTO #13996]

(From OE-Core rev: 37164f7e39eea3a1e594d8306d2569868438ba93)

Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-10 08:25:28 +01:00
Richard Purdie
35183c1b33 selftest/wic: Tweak test case to not depend on kernel size
The current test assumes the kernel size leaves a certain amount of whitespace
in the output. Improve this constraint so a slightly larger kernel doesn't fail
the test.

(From OE-Core rev: bd60c44bef4a1b5d3c8fe77a9e6d3a8f43b0dea4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-08 15:44:21 +01:00
Thomas Roos
c8e4c239f2 oeqa devtool: Add tests to cover devtool handling of various git URL styles
Add two test cases for git URL styles that trigger reformat_git_url.

[YOCTO #11394]

(From OE-Core rev: 5593439a5efbb53fc46099650ae86943751b0c4e)

Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-08 15:44:21 +01:00
Richard Purdie
0246dd5f50 selftest/reproducible: Exclude rust/rust-dbg for now until we can fix
There looks to be a reproducibility issue left in one of the rust
libraries. It doesn't appear to be a string issue but some binary
problem. Disable rust from the reproducibility testing until we can
get to the bottom of the issue (allowing wider testing of all the
other improvements).

(From OE-Core rev: a261333f6591ea94afc567dee04a2e3c6d5059cf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-08 15:44:20 +01:00
Richard Purdie
2ead8dc18b oeqa/selftest/sstate: Ensure tests are deterministic
glob.glob() depends on the order of files on disk and selecting [0]
is race prone. We should cover all the nativesdk files so rework
the function to do this.

Spotted as some oe-selftests failed, some passed and it raised a question
of why!

(From OE-Core rev: 8818478420a5c73b1dc1710774545f7e984307da)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-07 13:18:56 +01:00
Richard Purdie
2ef7affa31 oeqa/sdk/rust: Fix file deletion for multilib SDKs
We need to use shutil.rmtree here since removedirs() only covers
directories. Make the exception for specific too to make errors
easier to catch.

(From OE-Core rev: 9d2a661e46123a2292f7887658e6fa54923dbcc0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-01 14:18:16 +01:00
Alexander Kanavin
9b3fcb0d91 selftest/meta_ide: add a test for running SDK tests directly in a yocto build
There's been a recent discussion about how we can make the Yocto SDK
experience better [1]. One of the ideas was to eliminate the SDK
as a separate artefact altogether and simply provide everything
that the SDK and eSDKs do directly in a yocto build. This does not
mean that people have to 'learn Yocto', but rather that the integrators
should provide a well-functioning sstate cache infrastructure (same as
with minimal eSDK, really), and a few wrapper scripts for setting up the build
and the SDK environment that run layer setup and bitbake behind the scenes.

[1] https://lists.openembedded.org/g/openembedded-architecture/topic/thoughts_on_the_esdk/90990557

So without further ado, here's how you get a 'SDK' without building one:

1. Set up all the needed layers and a yocto build directory.

2. Run:
$ bitbake meta-ide-support
$ bitbake -c populate_sysroot gtk+3
(or any other target or native item that the application developer would need)
$ bitbake populate-sysroots

3. Set up the SDK environment:
. tmp/deploy/images/qemux86-64/environment-setup-core2-64-poky-linux
(adjust accordingly)

Et voila! The Unix environment is now set up to use the cross-toolchain from
Yocto, exactly as in the SDK. And devtool/bitbake are available to extend it,
exactly as in the eSDK.

Theare are numerous benefits here: no need to produce, test, distribute and maintain
separate SDK artifacts. No two separate environments for the yocto build and the SDK.
Less code paths where things can go wrong. Less awkward, gigantic tarballs. Less
SDK update headaches: 'updating the SDK' simply means updating the yocto layers with
git fetch or layer management tooling. Built-in SDK extensibility: just run bitbake
again to add more things to the sysroot, or add layers if even more things are required.

How is this tested?

Exactly same as the regular SDK:
$ bitbake -c testsdk meta-ide-support

This runs the same toolchain tests from meta/lib/oeqa/sdk/cases as the regular
sdk testing does.

(From OE-Core rev: 5c845d7f4ea6ae7ba18ed43180dad28775cace31)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28 11:50:17 +01:00
Alexander Kanavin
638f988602 oeqa/sdk: allow epoxy/galculator tests to run in esdk and direct yocto builds
Other tests already have similar tweaks.

(From OE-Core rev: 3134d19ba15bb783389c40617d5e2b568c7cd81c)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28 11:50:17 +01:00
Alexander Kanavin
3afd79df9e oeqa/sdk: add a test class for running SDK tests directly in a Yocto build
This is a simpler version of the same class in testsdk.py, as it does not
need to unpack and set up the SDK, and can proceed to the tests straight away.

(From OE-Core rev: be21c62e5bd96164aab9e01168b7a43c6de44c17)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28 11:50:17 +01:00
Alexander Kanavin
29c52d7b26 toolchain-scripts.bbclass: adjust toolchain_create_tree_env_script to better replicate (e)SDK
Specifically:
1. Place the environment setup file into $B and not into $TMPDIR,
so that the recipe using the class can itself better decide what to do with the file.

2. Use global, unified sysroots (provided through build-sysroots recipe)
and not recipe-specific ones, as this allows flexible on-the-fly management of what
libraries are available to build applications, without having to modify any
recipes, similar to eSDK 'extensible' part.

This also requires adjustment of the sstate sametune_samegsigs test, as meta-ide-support
becomes dependent on $MACHINE (unified sysroots have it in their paths)
and needs to be excluded from the test.

3. Add a few missing settings that have been added to SDK environment files.

4. Add a snippet to the environment setup file that also runs the relocation scripts.
In regular SDKs this is executed by the SDK installer, in direct SDK we can do it when
setting up the environment.

(From OE-Core rev: db5dfd78ae441201778b1175f4fb9a3eba994899)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28 11:50:17 +01:00
Otavio Salvador
1e3e20e92e oeqa/sdk: Add basic rust cargo test
Add a QA test to the SDK to test that a basic cargo build works.

[RP: Tweaked to work for multilibs and updated to match toolchain changes]

(From OE-Core rev: d0cfe587bc897e79ef01805cc9a42fbca28c883c)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28 11:07:33 +01:00
Ross Burton
a87284d4ab oeqa/gotoolchain: set CGO_ENABLED=1
In cross-compiles CGO_ENABLED=1 needs to be set explicitly, as otherwise
Go refuses to use it even if CC is already set.

This fixes the selftest on setups where the host and the SDK target
don't have matching architectures.

[ YOCTO #14859 ]

(From OE-Core rev: 19be072619d39267df44f23c4c8b64f3808f6148)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-25 22:59:01 +01:00
Ross Burton
e857abbfcb oeqa/gotoolchain: put writable files in the Go module cache
By default 'go mod' creates read-only files, but that just complicates
things.  Add -modcacherw to make the cache read/write, so it can be
cleaned up without needing to chmod.

(From OE-Core rev: 7ff30e0d9fe8527cbc2f8ca84e0300fdc84663b6)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-25 22:59:01 +01:00
Ross Burton
e49831d1f8 oeqa/selftest: rename git.py to intercept.py
By naming this test class git.py, any attempt to import GitPython (as
needed by oelib.buildhistory) failed.

As this class exercises the intercepts, rename it to intercept.py.

(From OE-Core rev: d557cbbf86767bc2ebf2beb3d70af3b3ca5e0529)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-25 22:59:00 +01:00
Ross Burton
454a0ea700 zlib: remove historical movement of libz.so to /lib
Historically there's been a split between /lib for early boot and
/usr/lib for everything else, but with modern systems this split is
meaningless and incomplete. If a minimal system for early boot is
needed, it should be a full minimal system in a initramfs.

[RP: Fixed up selftest to match]
(From OE-Core rev: 990073dfc167354b4af41db83ac46c18b1aa99d5)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-25 22:59:00 +01:00
Ross Burton
33ff9b7d13 oeqa/runtime: add test that the kernel has CONFIG_PREEMPT_RT enabled
This is the absolute bare minimum for testing the RT patches, but it
does mean we if we build and boot a RT kernel we can verify that it is
what we expect.

(From OE-Core rev: 0301d5845115d09299f87683b3efa46f3b4c7be9)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-20 14:27:06 +01:00
Richard Purdie
150f5ee03c selftest/runtime_test/virgl: Disable for all almalinux
We can't support vgem on RHEL derived distros so disable this test for
all almalinux hosts rather than specific versions.

(From OE-Core rev: e921f3c1b917072e4c5a110c7dfeeadd2e571bde)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-15 16:59:09 +01:00
Ming Liu
e116ad7c69 meta: introduce UBOOT_MKIMAGE_KERNEL_TYPE
Sometimes an end user might want to choose another kernel type argument
for uboot-mkimage other than "kernel", for instance: "kernel_noload".

Let's introduce a variable UBOOT_MKIMAGE_KERNEL_TYPE to support that,
and it could be used by BSP layers as well.

(From OE-Core rev: e288686e97de1265eeeaf452141e1473867efb1b)

(From OE-Core rev: 4eb7bbcc2f08b25387a15b7e4a89ef199783c973)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-15 12:33:21 +01:00
Richard Purdie
b051ca1289 oeqa/selftest/sstatetests: Update test to work with bitbake changes
Bitbake is dropping the DL_DIR fallback for local file urls and ensuring
local urls are fetchable. This test fails as it copies the meta directory
of COREBASE but not scripts and nativesdk-qemu-helper references runqemu
from there which doesn't exist in the copied data.

Tweak to symlink scripts into position in the copied metadata which
avoids the now fatal parsing error.

(From OE-Core rev: 5a5199943de5df9a4d44277d07f4313642c34b3a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-15 12:22:08 +01:00
Paulo Neves
de85c2f47b oeqa: test_invalid_recipe_src_uri expect parse time error
Before this commit the test expected a runtime error but the logic of
the fetcher changed so that files not found for checksumming cause a
fatal interruption of the parse, thuse never reaching the runtime error
this test expected. This commit aligns with the bitbake changes to the
fetcher.

(From OE-Core rev: 8b506bfbdd18dfdb411080f69ef5c0d416b3f2e0)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-15 12:22:08 +01:00
Paul Eggleton
74b25399de oe-selftest: devtool: test modify git recipe building from a subdir
Add a test that verifies that devtool modify + devtool finish do the
right thing on a recipe that fetches from git and sets S to point to
a subdirectory of the source tree. We have a few examples among the core
recipes, dos2unix is a convenient one so let's use that. (The test first
verifies that that is still true in case the recipe is changed in
future.)

(From OE-Core rev: a84d9ed14173b0bf467ea78dff4f0f7bae0bc082)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-14 23:22:10 +01:00
Alexandre Belloni
120fec3303 oeqa/selftest/bbtests: Update message lookup for test_git_unpack_nonetwork_fail
bitbake's output changed, update the test

(From OE-Core rev: 7e64b63f96dd1d71e263e7bbbe6591e51e98395a)

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-08 00:09:42 +01:00
Paulo Neves
2ef273f424 oeqa/sysroot.py: Check bitbake return status
bitbake ran but we incorrectly did not assert the exit status needs to
be non 0. Now all sysroot tests commands expected to fail are verified
to do so.

(From OE-Core rev: 5fe8c14f50d414e768588cef0675d8ef296ced77)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-08 00:09:42 +01:00
Paulo Neves
eb997a6801 utils: Add cmdline_shebang_wrapper util.
Useful to work around shebang relocation issues, where
shebangs are too long or have arguments in them, thus preventing them
from using the /usr/bin/env shebang.

(From OE-Core rev: 6edc1fffcbe1405d8c309a75643d7d6cd9a92848)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-01 12:37:52 +01:00
Paulo Neves
00458ee0f8 oeqa/selftest: Test staged .la and .pc files
These files are checked by qa_check_staged but there was no
test cases for whether the tests actually worked. Now there
are.

(From OE-Core rev: 2a96719a201cb7b8db774718adec89dbd7e1aec3)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-01 12:37:52 +01:00
Paulo Neves
53f0ee8d42 oeqa/selftest: Add test for shebang overflow
Make sure we do not stage any executable with a bigger shebang
than 128. Fixes [1]

[1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=11053

(From OE-Core rev: 280f68528c93b5ffab888c99190accf59e807a3f)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-01 12:37:52 +01:00
Thomas Roos
603652a38e recipetool/devtool: Fix python egg whitespace issues in PACKAGECONFIG
Substitute expressions or whitespace from python egg requires.txt when
generating PACKAGECONFIG

Pysetuptools sees the uvicorn.egg-info/requires.txt as extra requirements.
Recipetool parses this information to generate the PACKAGECONFIG.
These extra requirements contain expressions and whitespace, which are not allowed in PACKGAGECONFIG.
This patch substitute them by hyphens to make PACKAGECONFIG parsable and readable.
Also adding an oe-selftest for this.

[YOCTO #14446]

(From OE-Core rev: a854d95a79e64f3f82abfa4cc1daec750abf4249)

Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-01 11:31:42 +01:00
Aryaman Gupta
6958024ed2 buildperf/base.py: skip reduced_proc_pressure directory
Buildperf was designed to skip all non-directories under buildstats, i.e. proc
log files. With the /proc/pressure stats being collected in a new directory,
the following error was seen:
	meta/lib/oeqa/buildperf/base.py", line 392, in split_nevr
    	n_e_v, revision = nevr.rsplit('-', 1)
	ValueError: not enough values to unpack (expected 2, got 1)

Add an additional check to skip the reduced_proc_pressure directory.

(From OE-Core rev: d3a25dd7aa63ab98c8bb931b4b3bc61807806ed3)

Signed-off-by: Aryaman Gupta <aryaman.gupta@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-30 23:38:01 +01:00
Richard Purdie
ddbd90a37c bitbake.conf: Change -dev RDEPENDS to RRECOMMENDS
Switch the default DEPENDS for ${PN}-dev to be a RRECOMMENDS instead. This
takes advantage of a change to complmentary package globbing to not follow
RRECOMMENDS and means and SDK for an image with both openssh and dropbear
compoments will now build successfully.

(From OE-Core rev: 6f28420ab0e8f2ab5eb06326024777a40aded0a6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-28 23:49:38 +01:00
Richard Purdie
bbdda8321d oeqa/runtime/scp: Disable scp test for dropbear
Fedora is switching to use sftp as the backend for scp. This means the
scp test fails on Fedora 36 hosts with a dropbear target as dropbear
doesn't support sftp. This change is in the upstream openssh code, other
distros have not yet changed the default but probably will follow.

The easiest way to resolve test failures in dropbear images is to stop
testing this against dropbear as it is no longer expected to work and will
likely spread as the change filters through other distros.

(From OE-Core rev: a71fc7d455400f406b0d607be712a1133fe91166)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-25 21:13:40 +01:00
Alexander Kanavin
f23474acfa oeqa/sdk: drop the nativesdk-python 2.x test
Python 2.x has been EOL for a while, and so this test
never runs.

(From OE-Core rev: b687627e9cffb8123c156413f55ea1929f1a7831)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-25 21:13:40 +01:00
Marta Rybczynska
91982f65f3 oeqa/selftest/cve_check: add tests for Ignored and partial reports
Add testcases for partial reports with CVE_CHECK_REPORT_PATCHED and
Ignored CVEs.

(From OE-Core rev: 3f7639b90004973782a2e74925fd2e9a764c1090)

Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-17 17:57:44 +01:00
ssuesens
b4206958f5 weston.py: added xwayland test
Test xwayland support if DISTRO_FEATURE X11 is enabled

Test checked if xserver listening on display

(From OE-Core rev: c8dea13bd65f1695c79eba26b092d411a1699b19)

Signed-off-by: ssuesens <sebastian.suesens@baslerweb.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-15 12:27:01 +01:00
Mingli Yu
c9ce23f04b oescripts: change compare logic in OEListPackageconfigTests
When multilib enabled and add layers/meta-openembedded/meta-oe in
conf/bblayers.conf, it reports below error when run oe-selftest.
 $ oe-selftest -r  oescripts
 [snip]
 [20:36:33-0700] 2022-05-16 03:36:33,494 - oe-selftest - INFO - RESULTS - oescripts.OEListPackageconfigTests.test_packageconfig_flags_option_flags: FAILED (585.37s)
 [snip]

 It is because the output of "list-packageconfig-flags.py -f" as below:
 $ ../scripts/contrib/list-packageconfig-flags.py -f
 [snip]
 qt                     lib32-pinentry  lib32-wxwidgets  nativesdk-pinentry  pinentry  pinentry-native  wxwidgets  wxwidgets-native
 secret                 lib32-pinentry  nativesdk-pinentry  pinentry  pinentry-native
 [snip]

 But the check logic as below:
 class OEListPackageconfigTests(OEScriptTests):
    #oe-core.scripts.List_all_the_PACKAGECONFIG's_flags
    def check_endlines(self, results,  expected_endlines):
        for line in results.output.splitlines():
            for el in expected_endlines:
                if line.split() == el.split():
                    expected_endlines.remove(el)
                    break

 def test_packageconfig_flags_option_flags(self):
        results = runCmd('%s/contrib/list-packageconfig-flags.py -f' % self.scripts_dir)
        expected_endlines = []
        expected_endlines.append("PACKAGECONFIG FLAG     RECIPE NAMES")
        expected_endlines.append("qt                     nativesdk-pinentry  pinentry  pinentry-native")
        expected_endlines.append("secret                 nativesdk-pinentry  pinentry  pinentry-native")

        self.check_endlines(results, expected_endlines)

And the test will fail as line.split() doesn't equal el.split() as
line.split() is ['lib32-pinentry', 'lib32-wxwidgets', 'nativesdk-pinentry',
'pinentry', 'pinentry-native', 'wxwidgets', 'wxwidgets-native'] and
el.split() is ['nativesdk-pinentry', 'pinentry', 'pinentry-native'].

So change the compare logic to fix the gap.

(From OE-Core rev: 239f22847bcae0cb31769adb0a42b5440173a7c5)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-14 10:04:02 +01:00
Richard Purdie
f707d9bb96 selftest/multiconfig: Test that multiconfigs in separate layers works
We should test that mutliconfigs from a layer work, not just build/conf.
This adds such a test.

[YOCTO #13566]

(From OE-Core rev: 2306261fb85d5d03145989c3af9c6897111644ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-11 10:28:22 +01:00
Richard Purdie
a8734a82a1 oeqa/imagefeatures: Disable squashfs-lzo
(From OE-Core rev: c8c8b5265c831a2827a3891c7b326b25eae7f681)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-29 23:58:00 +01:00
Richard Purdie
cf1a4bfe8e oeqa/imagefeatures: Replace lzo with zst
We may remove lzo so switch the test case to zstd.

(From OE-Core rev: f749a8b462b915713912342444f981125938a990)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-29 23:58:00 +01:00
Tobias Schmidl
fd255af7de oeqa/selftest/wic.py: Repaired test_qemu()
The grep is too wide, so it falsely fits additional lines that have
a UUID (i.e, `/`).

(From OE-Core rev: f72fdea1c890ddd793aa63bb9c1c0857962161cc)

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-27 23:50:48 +01:00
Ross Burton
8346dc9d5d oeqa/selftest/cve_check: add tests for recipe and image reports
Add a test to verify that the JSON reports are generated correctly for
both single recipe builds and image builds.

More tests are needed, but this is better than nothing.

(From OE-Core rev: df0f35555b09c4bc75470eb45ec9c74e6587d460)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-20 22:52:23 +01:00
Richard Purdie
88c200c751 selftest/imagefeatures/overlayfs: Always append to DISTRO_FEATURES
Using += unintentionally removes all other entries from DISTRO_FEATURES
if DISTRO_FEATURES was set by ?= such as by poky.conf. This reduces
sstate reusage on the autobuilder. Fix this to speed up builds.

(From OE-Core rev: 124b82c32c4545bb216a8249954817f692f9795a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-16 23:19:18 +01:00
Steve Sakoman
eaa61803b1 virgl: skip headless test on alma 8.6
As a centos 8 spinoff, it lacks the same vgem kernel module.

(From OE-Core rev: 451605aa40482516c18cd1534feacb796516a785)

(From OE-Core rev: 8f74418637fbcdd7c68636ec1b9adfffc245f9c1)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-15 08:49:22 +01:00
Ross Burton
f28cca6abc oeqa/selftest: add test for git working correctly inside pseudo
The fix for CVE-2022-24765 in git[1] breaks any use of git inside
pseudo. Add a simple test case to oe-selftest to verify that at least
basic uses of git work fine under pseudo.

[1] 8959555cee

(From OE-Core rev: 46822268040a23dbb81f71fe35aee8c2663a31f6)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-07 22:31:21 +01:00
Claudius Heine
78b4102922 classes: rootfs-postcommands: add skip option to overlayfs_qa_check
The overlayfs_qa_check checks if the current root file system has a
mount configured for each overlayfs, when the overlayfs class is used.

However there are certain instances where this mount point is created at
runtime and not static in a fstab entry or systemd mount unit.

One such case would be if overlayfs-etc is used, where the device is
mounted in the preinit script and not via a mount unit or fstab entry.

However there are other possibilities for this as well, like startup
scripts that support a dynamic partition layout. For instance when
systemd-repart is used.

This adds the `OVERLAYFS_QA_SKIP` variable, which allows to define QA
skips via its flags. In principle it supports multiple QA skip flags
separated by whitespace, but only one (`mount-configured`) is
implemented here. To skip this QA check simply add `mount-configured` to
the flag of `OVERLAYFS_QA_SKIP` with the same name. For instance if a
overlayfs is configured as:

	OVERLAYFS_MOUNT_POINT[data] = "/data"

Skipping this QA check can be done by setting:

	OVERLAYFS_QA_SKIP[data] = "mount-configured"

Also add a testcase and fix a typo (fstat -> fstab).

(From OE-Core rev: 2ce9173169a2a86392c4a85fe9be7fbbd7353b7f)

Signed-off-by: Claudius Heine <ch@denx.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-03 17:49:50 +01:00
Chen Qi
57627d99bd cases/buildepoxy.py: fix typo
(From OE-Core rev: 3a9b6e71d1e7e8e2ebc0ed047841e36f09300387)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-26 18:25:08 +01:00
Ferry Toth
4a3f3f2c34 apt: add apt selftest to test signed package feeds
Since Gatesgarth apt (1.8.2) has become more strict and doesn’t allow unsigned repositories by default.
Currently when building images this requirement is worked around by using [allow-insecure=yes] and
equivalently when performing selftest.

Patches "gpg-sign: Add parameters to gpg signature function" and "package_manager: sign DEB package feeds"
enable signed DEB package feeds. This patch adds a runtime test for apt derived from the test_testimage_dnf
test. It creates a signed deb package feed, runs a qemu image to install the key and performs some package
management. To be able to install the key the gnupg package is added to the testimage.

(From OE-Core rev: 3ec30490d09d6639eea2638cf12a323948f221cc)

Signed-off-by: Ferry Toth <ftoth@exalondelft.nl>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19 14:14:11 +01:00
Paulo Neves
15df00f0f0 selftest/lic_checksum: Add test for filename containing space
A fix is being added to bitbake to correctly handle spaces inside
checksum filenames. Add a test to oe-selftest to ensure this is
tested and doesn't regress in future.

(From OE-Core rev: 324109f034f069ee3e91a1a705b3449911a448de)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19 14:14:11 +01:00
Ross Burton
9bcf56e6e7 oeqa/selftest: generalise test_devtool_virtual_kernel_modify
Generalise this test so that it works on more than qemux86-64:

- Don't edit a file in arch/x86 to cause a rebuild, instead use init/
- Look for the edits in the build tree, as the deployed kernel could be
  of any type (zImage/bzImage/etc) and edits may be in the compressed
  part.

Also remove redundant checks on the result of runCmd(), as this will
raise AssertionError exceptions itself so the explicit asserts will
never trigger.

(From OE-Core rev: f1d2b2ec51f748a28d1bca6615558d553876e5c3)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-01 23:11:38 +01:00