summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* oeqa selftest context.py: fix git commands and set branch nameMikko Rapeli2023-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | Check return values of each git command and set initial branch name to avoid this warning on every test run: NOTE: Starting bitbake server... hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch <name> hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m <name> (From OE-Core rev: 5ec557467dda29309e25102b507bb919275bedbb) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa selftest context.py: remove warning from missing meta-selftestMikko Rapeli2023-09-071-1/+1
| | | | | | | | | | | It's not a warning but a handled case and layer gets added automatically. Very few build configs have this layer enabled by default. (From OE-Core rev: 9a2493ea83f0b30578a819de05108502aaadc7f5) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa selftest context.py: whitespace fixMikko Rapeli2023-09-071-2/+2
| | | | | | | (From OE-Core rev: 8aed3ca405cb3cc5d346eb8da8b3307d93f75d5b) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/recipeutils.py: accommodate SRCPV being optional and deprecated in ↵Alexander Kanavin2023-08-301-5/+4
| | | | | | | | | | version check regex (From OE-Core rev: 84794b59940cb08ec44e5ee7718a464d24136812) 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>
* classes/image_types: Add vfat image typeJoshua Watt2023-08-301-1/+1
| | | | | | | | | | | | | | | Adds support for creating FAT formatted file system images (useful for boot partitions on some SoCs). Note that FAT partitions are limited in what they can represent (no symlinks or device files), so they can't really be used for general purpose root file systems. As such, they are skipped when testing for that purpose. (From OE-Core rev: 440fa508d362b8a449beb1b82dd999e980b753b7) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patch.py: use --absolute-git-dir instead of --show-toplevel to retrieve gitdirJulien Stephan2023-08-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [YOCTO #14141] Currently the gitdir is manually constructed using `git rev-parse --show-toplevel` and appending `.git`. This is most of the time correct but not always: `.git` can be a file with the following content: gitdir: <some_folder> This is the case for submodules, so when using devtool modify on a recipe using submodules *and* patching files inside one of the submodules, do_patch fails with the following error: ERROR: Error executing a python function in exec_func_python() autogenerated: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_func_python() autogenerated', lineno: 2, function: <module> 0001: *** 0002:patch_do_patch(d) 0003: File: '<..>/poky/meta/classes-global/patch.bbclass', lineno: 157, function: patch_do_patch 0153: except Exception as exc: 0154: bb.utils.remove(process_tmpdir, True) 0155: bb.fatal("Importing patch '%s' with striplevel '%s'\n%s" % (parm['patchname'], parm['striplevel'], repr(exc).replace("\\n", "\n"))) 0156: try: *** 0157: resolver.Resolve() 0158: except bb.BBHandledException as e: 0159: bb.utils.remove(process_tmpdir, True) 0160: bb.fatal("Applying patch '%s' on target directory '%s'\n%s" % (parm['patchname'], patchdir, repr(e).replace("\\n", "\n"))) 0161: File: '<..>/poky/meta/lib/oe/patch.py', lineno: 769, function: Resolve 0765: def Resolve(self): 0766: olddir = os.path.abspath(os.curdir) 0767: os.chdir(self.patchset.dir) 0768: try: *** 0769: self.patchset.Push() 0770: except Exception: 0771: import sys 0772: os.chdir(olddir) 0773: raise File: '<..>/poky/meta/lib/oe/patch.py', lineno: 274, function: Push 0270: else: 0271: next = 0 0272: 0273: bb.note("applying patch %s" % self.patches[next]) *** 0274: ret = self._applypatch(self.patches[next], force) 0275: 0276: self._current = next 0277: return ret 0278: File: '<..>/poky/meta/lib/oe/patch.py', lineno: 556, function: _applypatch 0552: if os.path.lexists(hooks_dir_backup): 0553: raise Exception("Git hooks backup directory already exists: %s" % hooks_dir_backup) 0554: if os.path.lexists(hooks_dir): 0555: shutil.move(hooks_dir, hooks_dir_backup) *** 0556: os.mkdir(hooks_dir) 0557: commithook = os.path.join(hooks_dir, 'commit-msg') 0558: applyhook = os.path.join(hooks_dir, 'applypatch-msg') 0559: with open(commithook, 'w') as f: 0560: # NOTE: the formatting here is significant; if you change it you'll also need to Exception: NotADirectoryError: [Errno 20] Not a directory: '<..>/build/tmp/work/core2-64-poky-linux/vulkan-samples/git/devtooltmp-n87_zx1i/workdir/git/third_party/spdlog/.git/hooks' Using `git rev-parse --absolute-git-dir` instead of `git rev-parse --show-toplevel` ensure we get the correct gitdir (From OE-Core rev: f74879dd95b19504ce8a8554636d2310d0336806) Signed-off-by: Julien Stephan <jstephan@baylibre.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: wic: Add test for --no-table optionMarkus Niebel2023-08-291-0/+17
| | | | | | | | | | Add basic test for the --no-table wic part option. (From OE-Core rev: ad89d7e6039da2d79c1d55fe7fdc8bb9c235dacf) Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes/classes/scripts: Drop SRCPV usage in OE-CoreRichard Purdie2023-08-244-8/+5
| | | | | | | | Now that SRCPV isn't needed we can simplify things in a few places... (From OE-Core rev: 843f82a246a535c353e08072f252d1dc78217872) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base/package: Move source revision information from PV to PKGVRichard Purdie2023-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Source control information being present in PV used to be a hard requirement for bitbake to operate correctly. Now that hashes are a required part of task stamps, this requirement no longer exists. This means we can defer the hash pieces to PKGV and simplify PV. Use new bitbake fetcher API to inject the source revisions directly into the hash allowing removal of some horrible code from base.bbclass and avoiding any hardcoding about how SRCREV may or may not be used. Use that API to object the string to append to PKGV and append that directly. The user visible effect of this change is that PV will no longer have revision information in it and this will now be appended to PV through PKGV when the packages are written. Since PV is used in STAMP and WORKDIR, users will see small directory naming and stamp naming changes. This will mean that sstate reuse through hash equivalence where the source revision changes but the output does not will become possible as the sstate naming will become less specific and no longer contain the revision. The SRCPV variable will no longer be needed in PV and is effectively now just a null operation. Usage can be removed over time. (From OE-Core rev: a8e7b0f932b9ea69b3a218fca18041676c65aba0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/gitarchive: replace warning with info when reading local tagsAlexis Lothoré2023-08-241-1/+1
| | | | | | | | | | | | Whenever a script needs to list tags, if it falls back to the third method (reading local tags only), it emits a warning. While this warning is useful for future diagnostic if some tagging issues re-appear, it makes buildperf autobuilds status as "Passed with warnings", which is not desirable (From OE-Core rev: b2c1d8a83a3b2134a8f9a445cbf00103e63ed0b3) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/gitarchive: fall back to local tags when listing existing tagsAlexis Lothoré2023-08-232-15/+24
| | | | | | | | | | | | | | | | | | | e9cff55e73cc has switched tag listing from bare "git tag" to "git ls-remote" to make sure not to miss remote tags which are not fetched locally. This mechanism first checks for configured remote repository, next for possibly passed url, and then fails if none worked. However there are still cases where no remote repository is configured and no url is provided (for instance: buildperf tests use an empty git directory to store tests). Fix those cases by putting back the old behavior (local tags check) as last resort, with at least a warning for future diagnostics if we still encounter tagging issues Fixes: e9cff55e73cc ("oeqa/utils/gitarchive: fix tag computation when creating archive") (From OE-Core rev: 34e1f845687d2f7169f5d6c1bb54e1a7ab5412c4) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/gitarchive: allow to pass a logger to get_tagsAlexis Lothoré2023-08-232-8/+16
| | | | | | | | | | Propagate a "log" parameter to get_tags in order to know what method is used to retrieve existing tags (From OE-Core rev: f8212eda45444dfb330e4d930eeceefde936adeb) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve_check: Fix cpe_id generationJasper Orschulko2023-08-221-1/+1
| | | | | | | | | | | | | | Use "*" (wildcard) instead of "a" (application)in cpe_id generation, as the product is not necessarily of type application, e.g. linux_kernel, which is of type "o" (operating system). (From OE-Core rev: cae9528b002c06143bf048b991b9d7e93968cb6b) (From OE-Core rev: e7c1def3c3c3a72249802ef6fb64292277a7a53e) Signed-off-by: Jasper Orschulko <jasper@fancydomain.eu> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "oeqa/runtime/parselogs: Exclude preempt-rt error for now"Luca Ceresoli2023-08-221-1/+0
| | | | | | | | | | | There's now a real fix in commits "linux-yocto/6.*: fix IRQ-80 warnings". This reverts commit 1451df346a0e2433714774421ce8f339a37a844a. (From OE-Core rev: f5c1b0f2b17814315bc2a09acc3aaa20f2522cff) Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/rust: correct rust testFrederic Martinsons2023-08-211-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Since setUp of RustCompileTest use cls.tc.copyTo, those tests needs the scp command: NOTE: ====================================================================== NOTE: FAIL: test_cargo_compile (rust.RustCompileTest) NOTE: ---------------------------------------------------------------------- NOTE: Traceback (most recent call last): File "/home/jenkins/yocto-poky-master/poky/meta/lib/oeqa/core/case.py", line 53, in _oeSetUp self.setUpMethod() File "/home/jenkins/yocto-poky-master/poky/meta/lib/oeqa/runtime/cases/rust.py", line 17, in setUp cls.tc.target.copyTo(src, dst) File "/home/jenkins/yocto-poky-master/poky/meta/lib/oeqa/core/target/ssh.py", line 132, in copyTo return self._run(scpCmd, ignore_status=False) File "/home/jenkins/yocto-poky-master/poky/meta/lib/oeqa/core/target/ssh.py", line 81, in _run raise AssertionError("Command '%s' returned non-zero exit " AssertionError: Command '['scp', '-o', 'ServerAliveCountMax=2', '-o', 'ServerAliveInterval=30', '-o', 'UserKnownHostsFile=/dev/null', '-o', 'StrictHostKeyChecking=no', '-o', 'LogLevel=ERROR', '-r', '-P', '2222', '/home/jenkins/yocto-poky-master/poky/meta/lib/oeqa/files/test.rs', 'root@127.0.0.1:/tmp/']' returned non-zero exit status 1: sh: scp: not found lost connection (From OE-Core rev: 1bf24df9be44c73e5d8e90feb446ecfcd542228c) Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: provide examples for C library generation in rustFrederic Martinsons2023-08-211-0/+12
| | | | | | | | | | | | | | | | | | | | rust-c-lib-example is a little rust code which provide a single function to print a formatted date (via the chrono crate) from an input timestamp in millisecond. It has the necessary FFI annotation and inherit cargo_c class for the C ABI compatible library generation. rust-c-lib-example is meson project for the C code which will call the print_date function from rust-c-lib-example if no argument is provided, if any argument is provided it will print "Hello world in rust from C!" add a runtime test case to check if all went well. (From OE-Core rev: bb177c7764b1bc47157d57d7a34930e59a7acef3) Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/gitarchive: add tests about tags lisiting when no remote is ↵Alexis Lothoré2023-08-211-2/+33
| | | | | | | | | | | | | | configured Add specific tests on gitarchive for when tag listing is required but no remote is configured in target directory: it should either succeed if valid url is provided, or fail is url is not provided or wrong (From OE-Core rev: 5e9d84d82fde81d66550d8c694ea70f0911fa4f7) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/gitarchive: fix tag computation when creating archiveAlexis Lothoré2023-08-211-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sporadic errors have been observed in autobuilder when trying to store new tests results: error: failed to push some refs to 'push.yoctoproject.org:yocto-testresults' hint: Updates were rejected because the tag already exists in the remote. The new tag name is generated by gitarchive based on known tags from the repository (learnt with git tag). In autobuilder case, this repository is a shallow clone, so git tag only returns most recent tags, which mean we could miss some older tags which exist in remote but not locally. In this case, gitarchive will likely create a tag which already exists in remote, and so will fail to push Fix this tag duplication by using git ls-remote to learn about existing tags instead of git tag. To do so, create a helper ("get_tags") which manages both nominal case (target directory is a git repository with a proper remote) and fallback case (target directory is not from a clone, no remote has been configured) Fixes [YOCTO #15140] (From OE-Core rev: 9cbbe9689866158825a7ae774b7965b41ff5c461) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: introduce gitarchive testsAlexis Lothoré2023-08-211-0/+96
| | | | | | | | | | | | | | Add a test suite for gitarchive.py. For now, only introduce tests on methods which needs to read existing tags The tests rely on tmpdirs to create local, "fake" results repository in order to allow basic git commands (From OE-Core rev: bc9b8ef4bc3e51ba7fca372ab7e532a80975d819) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "oeqa/utils/gitarchive: fix tag computation when creating archive"Richard Purdie2023-08-161-4/+2
| | | | | | | | This reverts commit 5a0a7da85a3acfd4a20a07478eabefdab60f313a. This caused failres on the build performance tests on the autobuilder. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/package_manager: Improve repo artefact filteringRichard Purdie2023-08-161-1/+4
| | | | | | | | | | | | | | | | | | | | | If you run an arm build followed by an x86 one and then ask for a full repo to be created, it will include all of the arm and x86 packages. testexport will then find the arm socat package rather than the x86 one and try and run arm binaries within an x86 qemu image with no success. The reproducer for this was: oe-selftest -r fitimage.FitImageTests.test_initramfs_bundle runtime_test.TestImage.test_testimage_install This patch only symlinks in the compatible package archictures rather than all of them which fixes the failure and the resulting autobuilder intermittent failure too. [YOCTO #15190] (From OE-Core rev: 30b45bcf49bf8207fd96bb45a55d7708661f3359) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/parselogs: Exclude preempt-rt error for nowRichard Purdie2023-08-151-0/+1
| | | | | | | | | | | With the new 6.4 kernel we see this preempt-rt error. It is blocking changing to the new kernel and has sat on mailing lists unresolved for a long time. Ignore it in testing for now and allow upgrading until we can better understand the issues. (From OE-Core rev: 1451df346a0e2433714774421ce8f339a37a844a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/gitarchive: fix tag computation when creating archiveAlexis Lothoré2023-08-151-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Sporadic errors have been observed in autobuilder when trying to store new tests results: error: failed to push some refs to 'push.yoctoproject.org:yocto-testresults' hint: Updates were rejected because the tag already exists in the remote. The new tag name is generated by gitarchive based on known tags from the repository (learnt with git tag). In autobuilder case, this repository is a shallow clone, so git tag only returns most recent tags, which mean we could miss some older tags which exist in remote but not locally. In this case, gitarchive will likely create a tag which already exists in remote, and so will fail to push Fix this tag duplication by using git ls-remote to learn about existing tags instead of git tag. Two places which wrongly read only local tags has been identified in gitarchive: expand_tag_strings and get_test_runs Fixes [YOCTO #15140] (From OE-Core rev: 5a0a7da85a3acfd4a20a07478eabefdab60f313a) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: Ensure usrmerge is enabled with systemdRichard Purdie2023-08-113-6/+6
| | | | | | | | | systemd now requires usrmerge, ensure this is always the case in our test cases. (From OE-Core rev: 465bf84c523403ccc7dc6ed8c2a9c32d85929e8c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/reproducible: Update config to match ongoing changesRichard Purdie2023-08-111-2/+1
| | | | | | | | | | | | | | | We can't have systemd here any longer without usrmerge. We don't really want to enable the latter since having separate usr will likely result in a class of reproducibility and host contamination issues that enabling it might hide. Also drop INHIBIT_PACKAGE_STRIP since we generally don't build with that and the debug binaries should be generated regardless. I suspect this is legacy from older issues. (From OE-Core rev: 7b7411788e805fa067dd672c9771dcaf2af918a0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: remove unused AUTHOR variableMichael Opdenacker2023-08-101-1/+1
| | | | | | | | | | | | No longer used in generating packages Also creates a possible confusion with the recipe maintainer name. (From OE-Core rev: 9d5edd124b7dddb995ceddd79f8a7fc8cf44badf) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/ssate: Add test for find_siginfoYang Xu2023-08-091-0/+83
| | | | | | | | | | Previously some dependencies couldn't be followed through their siginfo files. This has been fixed, add a test to ensure this doesn't regress. (From OE-Core rev: a59cd1502ff14c5d8ccb04385bf4a3ad338d998d) Signed-off-by: Yang Xu <yang.xu@mediatek.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig: Update to match bitbake changes to runtaskdepsRichard Purdie2023-08-091-5/+9
| | | | | | | | | | | Bitbake has changes to runtaskdeps in siginfo files to fix bugs in being able to locate them for sstate and hash debugging purposes. This patch updates to match the changes to the format. (From OE-Core rev: 4f1148eeab2500022d7e17feadf80027a01a51f1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust-hello-world: Drop recipeFrederic Martinsons2023-08-091-12/+0
| | | | | | | | | | we now have more rust/cargo recipes and tests that cover various use cases so this is no longer needed. (From OE-Core rev: 8baaf94d200f5355791ecd980727698b1ab0e539) Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: always sort the conffilesJean-Marie Lemetayer2023-08-091-1/+1
| | | | | | | | | | | | To improve package reproducibility, the conffiles order should not be directly linked to the file system. Sorting the conffiles solves this issue. (From OE-Core rev: c7800fa825fa610327e3d2ee8c5707973b726a83) Signed-off-by: Jean-Marie Lemetayer <j.lemetayer@kerlink.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/glibc: Add elapsed time for glibc test report.Yash Shinde2023-08-041-1/+6
| | | | | | | | | | | | | Capture the time taken for glibc test execution and pass it for inclusion in the test report. [YOCTO #15165] (From OE-Core rev: 0c35f931c1ddae8d07bad7e2c70ccbc14beaf44d) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/gcc: Add elapsed time for gcc test report.Yash Shinde2023-08-041-1/+7
| | | | | | | | | | | | | Capture the time taken for gcc test execution and pass it for inclusion in the test report. [YOCTO #15165] (From OE-Core rev: 3c8f1e6d7d8a4a60b4153f4458a657d23f190e71) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/binutils: Add elapsed time for binutils test report.Yash Shinde2023-08-041-1/+6
| | | | | | | | | | | | | Capture the time taken for binutils test execution and pass it for inclusion in the test report. [YOCTO #15165] (From OE-Core rev: 82bdacb048134945821c5329a215bcbd9692bdb3) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: add a SUMMARY/HOMEPAGE check (oe-core recipes only)Alexander Kanavin2023-07-301-36/+0
| | | | | | | | | | | | | | | | | This was done in a selftest, but that is too late and creates friction in integration as errors are not seen until autobuilder fails. Bonus fix: SUMMARY check wasn't even working, as in the absence of one set in the recipe there is a default value set from bitbake.conf. I left DESCRIPTION check out for now, as many recipes don't actually have it, and it's set from SUMMARY (plus a dot) if absent. (From OE-Core rev: 4144c2f43da39336b03cfd612cbe1694cbf8c7bd) 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/rust: Round test execution time to integerRichard Purdie2023-07-301-1/+1
| | | | | | | | | To match the other tests, round the test duration to an intger value so the test reports are consistent. (From OE-Core rev: c5be3b22a7d5b3f211080ecdf05a077f8b413ef2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/rust: Add failed test cases to exclude list for Rust Oe-selftestYash Shinde2023-07-301-8/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add the failing test cases in exclude_list to exclude them from testing during the Rust Oe-selftest. * Drop meta/recipes-devtools/rust/files/rust-oe-selftest.patch file as the failing tests are moved from being a patch to exclude_list in meta/lib/oeqa/selftest/cases/rust.py. * When updating to a newer version of Rust, it is manually needed to update the exclude_list. The tests that fail are observed to work on some versions and fail on others. These tests have been excluded in order to successfully complete testing of Rust Oe-selftest. * The tests that are passed and skipped are as follows- Target PASS SKIPPED ARM 15507 428 ARM64 15535 400 MIPS64 15479 456 X86 15528 407 X86-64 15643 292 Also, time the test execution and pass the time taken for inclusion in the test report. [RP: Note duration addiion in the commit log] (From OE-Core rev: e81197c4d3b36e9ad52e56708c21987cacd13147) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/ssh: Further improve process exit handlingRichard Purdie2023-07-301-2/+3
| | | | | | | | | | | | | | It looks like there were further cases where orphaned processes may be left behind since the .kill() calls may be unsuccessful if the process terminated due to the terminate or through normal exit. In that situation .wait() wouldn't have been called. Further tweak the exit code paths to ensure .wait() is called to update the returncode value before returning in all cases. (From OE-Core rev: 0a0a1731e38edfa72a141e8fd8f2de52be562e94) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* target/ssh: Ensure exit code set for commandsRichard Purdie2023-07-291-0/+3
| | | | | | | | | | | | As spotted by Joshua Watt, the returncode isn't set until .poll() or .wait() is called so we need to call this after the .kill() call. This fixes return code reporting so that timeouts for example now return an exit code when they didn't before. (From OE-Core rev: 3924e94214b5135369be2551d54fb92097d35e95) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/ltp: Show warning for non-zero exit codesRichard Purdie2023-07-291-0/+5
| | | | | | | | | | When test command timeouts occur, there was no warning in the logs. Change this to ignore "exit 1" but report all other exit codes so that timeouts are clear. (From OE-Core rev: 37851f948f3e7703560cf6346eb7d348d584dc7e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/ltp: Increase ltp test output timeoutRichard Purdie2023-07-291-1/+1
| | | | | | | | | | On our slower arm server, the tests currently timeout leading to inconsistent test results. Increase the timeout to avoid this and aim to make the test results consistent. (From OE-Core rev: 9a8b49208f3c99e184eab426360b137bc773aa31) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/target/ssh: Ensure EAGAIN doesn't truncate outputRichard Purdie2023-07-291-0/+3
| | | | | | | | | | We have a suspicion that the read() call may return EAGAIN on the non-blocking fd and this may truncate test output leading to some of our intermittent failures. Tweak the code to avoid this potential issue. (From OE-Core rev: a8920c105725431e989cceb616bd04eaa52127ec) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/cases/glibc.py: switch to using NFS over TCPAnuj Mittal2023-07-261-2/+2
| | | | | | | | | | | This provides a more reliable test execution when running tests that write a large buffer/file and significantly reduces the localedata test failures. (From OE-Core rev: 97a7612e3959bc9c75116a4e696f47cc31aea75d) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/nfs: allow requesting non-udp portsAnuj Mittal2023-07-261-2/+2
| | | | | | | | | Allows setting up NFS over TCP as well. (From OE-Core rev: e1ff9b9a3b7f7924aea67d2024581bea2e916036) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/cases/glibc.py: increase the memory for testingAnuj Mittal2023-07-261-1/+1
| | | | | | | | | | Some of the tests trigger OOM and fail. Increase the amount of memory available so we dont run into these issues. (From OE-Core rev: 4d22dba482cb19ffcff5abee73f24526ea9d1c2a) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/ltp: rewrote LTP testcase and parserRoss Burton2023-07-212-28/+51
| | | | | | | | | | | | | | | | The LTP test reporting appears to be a little fragile so I tried to make it more reliable. Primarily this is done by not passing -p to runltp, which results in machine-readable logfiles instead of human-readable. These are easier to parse and have more context in, so we can also report correctly skipped tests. (From OE-Core rev: d585c6062fcf452e7288f6f8fb540fd92cbf5ea2) 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>
* rpm: Pick debugfs package db files/dirs explicitlyAlex Kiernan2023-07-211-1/+1
| | | | | | | | | | | Rather than copying the entire /etc hierarchy, specify the pieces we actually need. (From OE-Core rev: f0fea55ab02b013484282177a636795a254e7986) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs: Add debugfs package db file copy and cleanupAlex Kiernan2023-07-211-6/+14
| | | | | | | | | | | | | | | | | When copying the package database files for the debugfs, add individual file copy as well as tree copying. After the debug rootfs has been created, cleanup the package files. This then allows us to avoid a problem where (for rpm at least) extraneous files in the debug rootfs would cause failures during oe-selftest because some files existed in both regular and debugfs images. (From OE-Core rev: ce49ea435ce55eb5b6da442c12e03a806534c38d) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/cases/glibc.py: fix the override syntaxAnuj Mittal2023-07-211-1/+1
| | | | | | | | | Fix the override so we actually pass the correct value to glibc. (From OE-Core rev: 38fd2120f0f48512091ddad6205ce19839eaf589) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/cve_check: rework test to new cve status handlingAndrej Valek2023-07-191-5/+21
| | | | | | | | | | | - After introducing the CVE_STATUS and CVE_CHECK_STATUSMAP flag variables, CVEs could contain a more information for assigned statuses. - Add an example conversion in logrotate recipe. (From OE-Core rev: da1f34b58fd106a40c296b68daf8a7e5db354c9a) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: add option to add additional patched CVEsAndrej Valek2023-07-191-0/+25
| | | | | | | | | | | | | | | | | | | | | | - Replace CVE_CHECK_IGNORE with CVE_STATUS to be more flexible. The CVE_STATUS should contain an information about status wich is decoded in 3 items: - generic status: "Ignored", "Patched" or "Unpatched" - more detailed status enum - description: free text describing reason for status Examples of usage: CVE_STATUS[CVE-1234-0001] = "not-applicable-platform: Issue only applies on Windows" CVE_STATUS[CVE-1234-0002] = "fixed-version: Fixed externally" CVE_CHECK_STATUSMAP[not-applicable-platform] = "Ignored" CVE_CHECK_STATUSMAP[fixed-version] = "Patched" (From OE-Core rev: 34f682a24b7075b12ec308154b937ad118d69fe5) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>