summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/selftest
Commit message (Collapse)AuthorAgeFilesLines
...
* oe-selftest devtool: ide-sdk testsAdrian Freihofer2024-02-181-0/+492
| | | | | | | | | | | | | Add some oe-selftests for the new devtool ide-sdk plugin. Most of the workflows are covered. Many thanks to Enguerrand de Ribaucourt for testing and bug fixing. (From OE-Core rev: 458fa66b117ccad690720931f912de09655691dc) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oeqa: python 3.12 regexAdrian Freihofer2024-02-132-4/+4
| | | | | | | | | | | | Python 3 interprets string literals as Unicode strings, and therefore \s is treated as an escaped Unicode character which is not correct. Declaring the RegEx pattern as a raw string instead of unicode is required for Python 3. (From OE-Core rev: 9002850f0c2e409d3bc629e36bb360b96326bb64) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/oelib/buildhistory: git default branchAdrian Freihofer2024-02-131-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | On hosts with git defaulting to main branch the following exception occures: File .../buildhistory.py", line 99, in test_compare_dict_blobs_default blob1 = self.repo.heads.master.commit.tree.blobs[0] ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/git/util.py", line 1114, in __getattr__ return list.__getattribute__(self, attr) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'IterableList' object has no attribute 'master' Support main and master branch for these test cases. Note: setting the default branch with --initial-branch requires git version 2.28 or later. Some of the still supported host distros do not provide this feature yet. (From OE-Core rev: 7df99843d8f31d8e0c2872ff625f4a5abf28f740) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: downgrade meson version to not use pyproject.tomlRoss Burton2024-02-101-11/+13
| | | | | | | | | | | | | | recipetool's pyproject.toml parsing needs tomllib (python 3.11+) or tomli (not a hard dependency), so is prone to failing depending on the host configuration. Downgrade the Meson release used for the checks to 0.52.1, which was the last release before moving to pyproject.toml. (From OE-Core rev: 6dfe573d83687e5431841f062442b54b9fa22ff3) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/recipetool: Improve test failure outputRichard Purdie2024-02-091-2/+3
| | | | | | | | | When the test fails, it simply says the file doesn't exist. This isn't helpful so improve the output. (From OE-Core rev: ea6b42485696c6981157a28da2dc9a67f2f3f9c6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/recipetool: Factor tomllib test to a functionRichard Purdie2024-02-091-45/+20
| | | | | | | | As more tests start to need this codeblock, factor it into a common function. (From OE-Core rev: c154eba9aa8e7d780ce2c5a18cbc0756a30850d1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: fix for python 3.12Adrian Freihofer2024-02-081-9/+9
| | | | | | | | | | | | | | | | | | | | | test_recipetool_create_github and test_recipetool_create_github_tarball fail because the old meson version used by these tests cases does not run on Python 3.12. The issue is in the dependencies.py which comes with meson: ERROR: build/tmp/work/recipetool-3z4osyl7/source/git/mesonbuild/ dependencies.py:777: SyntaxWarning: invalid escape sequence '\.' Use meson 1.3.1 (what is currently also used on master) as a reference for these tests. With this version of meson, recipetool creates recipes named meson_git.bb or meson_1.3.1.bb. Since this looks more reasonable than e.g. python3-meson_git.bb the test gets adapted. (From OE-Core rev: 7374a8a2810a6cf027bfefefe87691a3529123ff) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: replace deprecated assertEqualsAdrian Freihofer2024-02-082-2/+2
| | | | | | | | | | | assertEquals is deprecated since Python 2.7: https://docs.python.org/2/library/unittest.html#deprecated-aliases It throws errors at least on Python 3.12. Replace it by assertEqual. (From OE-Core rev: 68286d0b70cf09a0d2950b48945c9192fb8c8769) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa: rename assertRaisesRegexp to assertRaisesRegexRoss Burton2024-02-081-2/+2
| | | | | | | | | | TestCase.assertRaisesRegexp was renamed to assertRaisesRegex in Python 3.2, so rename to fix a warning during test execution. (From OE-Core rev: 6df44a4b29487bf8ef51bb5ba6467a4056b749cc) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/SStateCacheManagement: pre-populate the cacheAlexander Kanavin2024-02-081-0/+8
| | | | | | | | | | | | | | | | | | | | | This is another source of the test slowness: for some configurations (building x86 on x86) the cache items are pre-populated in other builds. For others (building 32 bit x86 on arm), they're not. Without this step, the test would build them, write them to a private sstate, and then throw it away. The code is un-pythonic: it follows the style of the rest of the test, and fixing that is perhaps for some other time. With these two changes the notoriously slow test_sstate_cache_management_script_using_machine takes just under 6 minutes, on an arm worker: https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/2820/steps/13/logs/stdio (From OE-Core rev: b685c955289bf4d7d70bd0f4c1530b2bf13a30a6) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/SStateCacheManagement: do not manipulate ERROR_QAAlexander Kanavin2024-02-081-4/+0
| | | | | | | | | | | | | | | This is no longer necessary as selftest enforces buildhistory disabling nowadays. It is also a significant contributor to slowness of the tests: they work by setting up private sstate and retaining autobuilder sstate as a read-only mirror, and if the needed objects aren't in that mirror (as particularly seen on arm hosts), then the whole build stars from scratch - and then is thrown away. (From OE-Core rev: 208c8bc0e168cd2fd5884882b892862c6303fdfe) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildcpio.py: Switch to using cpio-2.15Khem Raj2024-02-081-2/+2
| | | | | | | | | | | | | | | | | This helps in getting it building with newer architectures like riscv32 since it has upgraded gnulib over 2.14 which has the needed fixes. Drop the -fno-common workaround as it is already applied to cpio drop --disable-maintainer-mode Fixes configure: WARNING: unrecognized options: --disable-maintainer-mode (From OE-Core rev: 18d303497089d3a7a893ee0eec5b0f0c78cca06d) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/bbtests: Tweak to use no-gplv3 inc fileRichard Purdie2024-02-051-1/+3
| | | | | | | | | | | With changes to gcc-runtime around improving debugging, python modules are needed but this pulls in bash which breaks the tests. Add an exclusion to the no-gplv3 include file to handle this. (From OE-Core rev: 803060fa4e8fe98ac8f987b80162110d06788946) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* conf: Move selftest config to dedicated inc fileRichard Purdie2024-02-051-14/+2
| | | | | | | | | | | | | | | | Create a no-gplv3.inc file based upon knowledge currently encoded into one of the selftests. There is a risk that people try and take this idea too far, or have unrealistic expectations. That said, it would be better to collect this knowledge together in one location rather than handling it piecemeal. Therefore move the configuration information from the test into a common incude file. (From OE-Core rev: fb822fb2029c69934cf43073f95b396c2d60298e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* setftest/cdn tests: check for exceptions also in fetcher diagnosticsAlexander Kanavin2024-02-021-1/+1
| | | | | | | | | | | Otherwise the output was cluttered with irrelevant lines that were describing missing, but excepted cache objects. (From OE-Core rev: 146e6e88b6c9400eb2c7442a319a6240b00ecaa2) 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>
* oeqa/selftest: add test case to cover 'devtool modify -n' for a git recipeChen Qi2024-01-261-0/+22
| | | | | | | | | | | | | | | | | | | Add a test case to ensure the following error does not happen again for 'devtool modify -n'. Traceback (most recent call last): File "/buildarea2/chenqi/poky/scripts/devtool", line 349, in <module> ret = main() File "/buildarea2/chenqi/poky/scripts/devtool", line 336, in main ret = args.func(args, config, basepath, workspace) File "/buildarea2/chenqi/poky/scripts/lib/devtool/standard.py", line 924, in modify if not initial_revs["."]: KeyError: '.' (From OE-Core rev: 2c2ba5f9497462a190b849a69d8440149f80582a) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Enable rust oe-selftest.Yash Shinde2024-01-261-1/+6
| | | | | | | | | | | | | | | | | | * Enable rust oe-selftest. * Include the dependent patches for rust oe-selftest in meta/recipes-devtools/rust/rust-source.inc * Disable rust oe-selftest for mips32 target (Rust upstream has classified it into tier 3 target, for which the Rust project does not build or test automatically) as it is unstable with rust tests. https://doc.rust-lang.org/nightly/rustc/platform-support.html#tier-3 * The testing is done on arm32, arm64, mips64, x86 and x86_64 targets on Ubuntu 22.04. (From OE-Core rev: 8f3a2841540fc4779bbd7e11d910edcdc8b47683) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Remove the test cases whose parent dir is also present in the exclude listYash Shinde2024-01-261-120/+0
| | | | | | | | | | | | | | | | | To avoid overlap and redundancy of rust tests, remove the test cases whose parent dir is already excluded. Tests which are failing from below dirs are removed as these dirs are already present in exclude list tests/run-make tests/rustdoc tests/mir-opt tests/ui-fulldeps (From OE-Core rev: 58a7f3efa9e31e2c7b90e6490f3e51f388e6a7ce) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Add new tests in the exclude list for rust oe-selftestYash Shinde2024-01-261-1/+37
| | | | | | | | | | Add newly failing tests cases in the exclude list for rust oe-selftest. (From OE-Core rev: 50119ddaaa810ad71063691fb1cc30cf8c8456c8) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/devtool: add test for recipes with multiple sources in SRC_URIJulien Stephan2024-01-241-0/+26
| | | | | | | | | | add a non regression test for devtool modify/build on recipe having several sources in SRC_URI (From OE-Core rev: 5f195f5e98d5553e41e632eda26392ee70394c88) Signed-off-by: Julien Stephan <jstephan@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: Add test coverage for local go modulesVyacheslav Yurkov2024-01-191-0/+55
| | | | | | | (From OE-Core rev: 2d0ccfdca0a6cc1146464585f529fb5115a0b3ea) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: Move helper function to the class scopeVyacheslav Yurkov2024-01-191-7/+7
| | | | | | | (From OE-Core rev: 89d37266524ca3e7c9eaf9141b30055ebc39aa76) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: Move create_go test to a proper classVyacheslav Yurkov2024-01-191-13/+11
| | | | | | | (From OE-Core rev: 862b4d2211f2fc81a17def79f06d9672fa5df960) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/SStatePrintdiff: ensure all base signatures are present in sstate ↵Alexander Kanavin2024-01-121-15/+19
| | | | | | | | | | | | | | | | | | | | in test_image_minimal_vs_base_do_configure The test relies on all tasks in the dependency tree of the tasks being changed having valid signatures in sstate, so that the recursive discovery of the base invalid tasks stops there, and doesn't go further. This may not always occur, particularly when hash equivalency combined with different build host architectures prevents them from getting created in regular builds: https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/2725/steps/15/logs/stdio The other two tests (that change specific recipes) already ensure this, but this test (which changes a basic task definition) does not. (From OE-Core rev: e37445320ca1a8913d6ed768681ff32de24eef94) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/sstatetests: include fetcher diagnostics into CDN test failure messageAlexander Kanavin2024-01-101-2/+6
| | | | | | | | | | | | | This will help finding out what kind of error the server actually returned, as sporadic CDN failures continue to occur. [YOCTO #15335] (From OE-Core rev: 7f09c4c5a0fe4ff213f205927f618a77b72aeef3) 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>
* selftest/sstatetest: re-enable gcc printdiff testAlexander Kanavin2024-01-101-1/+1
| | | | | | | (From OE-Core rev: 976832eb0c3fc0170a84ff7ab92352ca6f18c383) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/sstatetests: fix up printdiff test to match rework of printdiff logicAlexander Kanavin2024-01-101-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Other than the formatting changes, there are two functional ones: - use perlcross instead of quilt, as quilt is special in the sense of being excluded from task hash calculcations. perlcross is a full participant. - run the full test (local + sstate) for gcc do_preconfiure change as the necessary fix has been implemented (sstatesig/find_siginfo: special-case gcc-source when looking in sstate caches) Note that when several tasks are found to have changed (as is the case when base do_configure is adjusted), find_siginfo() runs glob.glob("*/*/*taskname*") against autobuilder sstate cache for each of those tasks (six or seven times). This is an expensive operation taking several minutes. I left it in for now, but if it's proven too slow the test would have to be reduced to checking a specific base recipe (e.g. zstd-native) rather than a distant image target. [YOCTO #15289] (From OE-Core rev: 0ef7cf324718412c5b6c376acfbc4079ecd7d465) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig/find_siginfo: unify a disjointed APIAlexander Kanavin2024-01-051-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | find_siginfo() returns two different data structures depending on whether its third argument (list of hashes to find) is empty or not: - a dict of timestamps keyed by path - a dict of paths keyed by hash This is not a good API design; it's much better to return a dict of dicts that include both timestamp and path, keyed by hash. Then the API consumer can decide how they want to use these fields, particularly for additional diagnostics or informational output. I also took the opportunity to add a binary field that tells if the match came from sstate or local stamps dir, which will help prioritize local stamps when looking up most recent task signatures. (From OE-Core rev: 8721c52041e910bd4d8a9235b52f274f4f02c8a3) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: selftest: Swap to hello-rs for crates testingAlex Kiernan2023-12-301-1/+1
| | | | | | | | | zvariant fails to build with newer rust (From OE-Core rev: 5928acfe75386c8ebdf58dbd860bbb40243473fd) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: selftest: Fix test_devtool_modify_git_crates_subpath bbappend checkAlex Kiernan2023-12-301-1/+1
| | | | | | | | | | The recipe being tested is in `testrecipe`, use that rather than the literal `zvariant`. (From OE-Core rev: f14ce354890024a3a0a3d4c7efa53eab5db7a6b1) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: selftest: Fix test_devtool_modify_git_crates_subpath inequalityAlex Kiernan2023-12-301-1/+1
| | | | | | | | | | test_devtool_modify_git_crates_subpath expects 2 or more git URIs, change the test from Greater to GreateEqual. (From OE-Core rev: 4a8d03db55e6a1b07a8585cbf5fbf735ec51f4a7) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/sstatetests: Update sstate management script tests to python ↵Richard Purdie2023-12-301-6/+2
| | | | | | | | | | | script Now we've switched to the python script, update the tests to match that by removing the now unneeded parameter. (From OE-Core rev: 93989f9b4895506e6ad66a78088a5c2801e2a10d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/prservice: Improve test robustnessRichard Purdie2023-12-241-8/+23
| | | | | | | | | | | | The tests were not cleaning up after themselves and making assumptions about memory resident bitbake being stopped by the scripts. Add cleanup logic to ensure the tests don't break other things and clean up created files. (From OE-Core rev: 692dd762a0c817797c28381c6169205fbaeb2705) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: rustdoc reproducibility issue fix - disable PGOSundeep KOKKONDA2023-12-211-2/+0
| | | | | | | | | | | | | | | | | | | The PGO (Profile-guided Optimization) collect data about the typical execution of a program and then use this data to inform optimizations such as inlining, machine-code layout, register allocation, etc. This optimization is by default disabled in rust sources but enabled in Yocto and causing the reproducibility issue in rustdoc binary. To fix the issue this optimization is set to it's default 'false'. More about the optimization: https://doc.rust-lang.org/rustc/profile-guided-optimization.html With the reproducibility issue fixed, we can enable the reproducibility tests again. (From OE-Core rev: 189c266378c8c4a918cb205b3888577c7ce76856) Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/overlayfs: Fix whitespaceRichard Purdie2023-12-201-1/+1
| | | | | | | | | | | | My previous fix missed out whitespace with the append, fix that. (From OE-Core rev: 393c4459851642b8b7e93ff303d6526cd5c97b22) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> # Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/overlayfs: Don't overwrite DISTRO_FEATURESRichard Purdie2023-12-201-1/+1
| | | | | | | | | | | | Whilst debugging an autobuilder failure, I wondered why it was rebuilding qemu-system-native instead of reusing from sstate. The reason was it was overwriting DISTRO_FEATURES, in this case removing opengl which caused much to rebuild. The test doesn't need that so don't do it. (From OE-Core rev: fdcc011608fd9558a081d0ace3eaf7192d9fcaef) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: add python_maturin supportTim Orling2023-12-171-0/+29
| | | | | | | | | | | Add the new python_maturin PEP-517 backend Add selftest for 'pydantic-core' pypi package. (From OE-Core rev: 69b679380616a94a631681caa05d9bf7610f9372) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/sstatetests: re-work CDN tests, add local cache testsAlexander Kanavin2023-12-171-32/+67
| | | | | | | | | | | | | | | | | | | | | | | | | With the rework of printdiff, it is not longer useful for checking absence of sstate objects in a remote http cache, as it would only report the top level missing signatures, and leave the recursive investigation to diffsigs (which relies on ability to list cache files - not available over http). The CDN check can be performed by simply running 'bitbake -DD -n' which is very verbose, but neverthless reports the amount of missing sstate objects and what they are in a way that can be programmatically extracted and checked (as suggested by RP). This also adds local sstate tests, as they can be useful to determine whether the missing cdn objects were never created or erroneously cleaned up, or if they were created but didn't propagate to cdn. [YOCTO #15303] (From OE-Core rev: 2a7c653a2eee85e5791a8fdc15857367f0ed0bd9) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sstatetests: Disable gcc source printdiff test for nowRichard Purdie2023-12-161-1/+1
| | | | | | | | | There are some issues with the printdiff code this has identified, disable the test for now until we have patches to resolve them. (From OE-Core rev: 436766983568a8bddc4b9ffa28dc656bf4bf67c1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: add tests for C and C++ build toolsAdrian Freihofer2023-12-131-0/+60
| | | | | | | | | | | | | | Add new file for C and C++ build tools. The initial implemmentation contains a class for CMake and one for Meson. At least these first tests for the qemu-usermode share most of the code. That's why there is only one c_ccp.py file and not for example a cmake.py and a meson.py file. (From OE-Core rev: 41390f5202a6ee7472cb82d12c7c32f89d6e52ff) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Disable rust oe-selftestYash Shinde2023-12-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | After rust is upgraded to 1.71 and later versions, the rust oe-selftest gives build errors due to unstable nightly options(see the error mentioned below). Thus, disable the test suite until the issue is fixed error: the option `Z` is only accepted on the nightly compiler thread 'main' panicked at 'failed to gather the target spec for x86_64-poky-linux-gnu', synthetic_targets.rs:66:9 Following issues are created in Yocto bugzilla and rust upstream to track this issue- https://bugzilla.yoctoproject.org/show_bug.cgi?id=15275 https://github.com/rust-lang/rust/issues/115642 https://users.rust-lang.org/t/does-rust-test-suite-supports-nightly-options-during-bootstrapping-in-rust/103108 https://users.rust-lang.org/t/unable-to-read-target-specs-when-rust-1-73-is-bootstrapped-in-yocto-poky/102959 (From OE-Core rev: fa2d3cda8f7f932c0ed5c534c4bc820af2761cd5) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: fix metadata corruption on meta layerJulien Stephan2023-12-131-11/+4
| | | | | | | | | | | | | | | | | [YOCTO #15314] test_recipetool_appendsrcfile_update_recipe_basic is using base-files as test recipe but modifies it directly which can corrupt metadata for other tests relying on this recipe. So use mtd-utils-selftest as test recipe from meta-selftest to avoid this kind of issues (From OE-Core rev: bf5e6c1b6ceca5a2eda30359d5e5e330278a97e1) Signed-off-by: Julien Stephan <jstephan@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: remove left over from developmentJulien Stephan2023-12-131-6/+4
| | | | | | | | | | | Remove leftover code needed for development that was unintentionally committed (From OE-Core rev: b9a11e6495a27164d095673915edddb2474fdbd7) Signed-off-by: Julien Stephan <jstephan@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: add back checksum checks on pypi testsJulien Stephan2023-12-131-1/+8
| | | | | | | | | | | | | | | | | | recipetool pypi plugin was originally clobbering SRC_URI checksums. Now it doesn't do this anymore: 78ef0313ee6 - recipetool: pypi: do not clobber SRC_URI checksums so add back the checksum checks on pypi tests. Also this commit restrict the checksums: 45d2f8d4bc2 - recipetool: create: Only include the expected SRC_URI checksums so add only the needed ones. (From OE-Core rev: 86164f770032bb66d4497c4e3e7591b7246ac2d9) Signed-off-by: Julien Stephan <jstephan@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd: Fix useradd do_populate_sysroot dependency bugRichard Purdie2023-12-101-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | If a task is adde which has a dependency on the do_populate_sysroot task of the recipe, it will cause it to be installed into the sysroot (similar to do_addto_recipe_sysroot). This fails since the postinst script is an overlapping file: Exception: FileExistsError: [Errno 17] File exists: 'tmp/sysroots-components/all/useraddbadtask/usr/bin/postinst-useradd-useraddbadtask' -> 'tmp/work/all-poky-linux/useraddbadtask/1.0/recipe-sysroot/usr/bin/postinst-useradd-useraddbadtask' The copy written out at do_prepare_recipe_sysroot time is just for debug so rename it, meaning there are no longer overlapping files and the installation can be successful, removing the error. [YCOTO #14961] With the bug fixed, enable the test. (From OE-Core rev: 564339afb73fc52a66c1a08437587cad1c4d46e7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/bbtests: Add test for unexpanded variables in the dirnamePavel Zhukov2023-12-091-0/+11
| | | | | | | | | Regression test for [Yocto #15255] (From OE-Core rev: 4c31cc114f2cf13c11b7ffd60db0eda1b63cc27b) Signed-off-by: Pavel Zhukov <pavel@zhukoff.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/sstatetests: do not delete custom $TMPDIRs under build-st when ↵Alexander Kanavin2023-12-091-12/+10
| | | | | | | | | | | | | | | testing printdiff If the tests fail, these contain useful artefacts, and so should be kept. If the test succeeds the whole build-st/ is deleted. Also, give them unique names, as otherwise the tests would step on each other. (From OE-Core rev: 92e33a19fbcc6c59199fcd8b17ad8ca29ebcd4fd) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/sstatetest: print output from bitbake with actual newlines, not \nAlexander Kanavin2023-12-091-4/+4
| | | | | | | | | | Assert*() functions from python unittest would join the multiline output with \n, making it almost unreadable. (From OE-Core rev: 1b01a71e77f70af77887c27be21265ac61f2c9a7) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* usergrouptests.py: Add test for switching between static-idsEilís 'pidge' Ní Fhlannagáin2023-12-081-0/+33
| | | | | | | | | | | | This test is related to https://bugzilla.yoctoproject.org/show_bug.cgi?id=12107 At the moment it doesn't seem to be able to actually replicate this issue in the bug, which tells me it's likely fixed. (From OE-Core rev: 2b3fa9981252d41d3f23592715657fe810f834ad) Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd: Add testcase for bugzilla issue (currently disabled)Eilís 'pidge' Ní Fhlannagáin2023-12-081-0/+5
| | | | | | | | | | Add a disabled a test for 14961 - addtask between do_populate_sysroot and do_package breaks useradd class. A fix is still needed for this. (From OE-Core rev: b6af5788f7f8fb1e9d8ad14bd12168ff9d6baa21) Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>