summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
* Revert "oeqa/utils/gitarchive: fix tag computation when creating archive"Steve Sakoman2023-11-121-32/+4
| | | | | | | | | | This reverts commit b0d96ea432196800fedb45e6d1da44a3523fad63. This caused failures on the build performance tests on the autobuilder. (From OE-Core rev: c337b5a45d43eefee171e7043f70cf19e6eb2cce) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/utils/gitarchive: fix tag computation when creating archiveAlexis Lothoré2023-11-121-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: b0d96ea432196800fedb45e6d1da44a3523fad63) 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> (cherry picked from commit 9cbbe9689866158825a7ae774b7965b41ff5c461) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* Revert "oeqa/utils/gitarchive: fix tag computation when creating archive"Richard Purdie2023-11-121-4/+2
| | | | | | | | | | | This reverts commit 5a0a7da85a3acfd4a20a07478eabefdab60f313a. This caused failres on the build performance tests on the autobuilder. (cherry picked from commit cbfa57a982c0e633e41d3ea00543f87ad818c43a) (From OE-Core rev: 1506737eae894310bb98a82cf43c91f4b17d5878) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* cve-check: don't warn if a patch is remoteRoss Burton2023-11-111-5/+6
| | | | | | | | | | | | | | | | | | We don't make do_cve_check depend on do_unpack because that would be a waste of time 99% of the time. The compromise here is that we can't scan remote patches for issues, but this isn't a problem so downgrade the warning to a note. Also move the check for CVEs in the filename before the local file check so that even with remote patches, we still check for CVE references in the name. (From OE-Core rev: 4f21354c7204c3404326ddc243d02056387472d3) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 0251cad677579f5b4dcc25fa2f8552c6040ac2cf) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* cve-check: slightly more verbose warning when adding the same package twiceRoss Burton2023-11-111-1/+1
| | | | | | | | | | | | | Occasionally the cve-check tool will warn that it is adding the same package twice. Knowing what this package is might be the first step towards understanding where this message comes from. (From OE-Core rev: 7d7d1de6211b2813c1679bb9ce35289607d66c12) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit c1179faec8583a8b7df192cf1cbf221f0e3001fc) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/concurrencytest: Remove invalid buffering optionRichard Purdie2023-10-251-2/+2
| | | | | | | | | | | | | | | Fix warnings from oe-selftest -j: /usr/lib/python3.10/os.py:1030: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used return io.open(fd, mode, buffering, encoding, *args, **kwargs) Remove the option since it clearly doesn't do much. (From OE-Core rev: bd487f92103acd7e97d7815c8c6e233932f6f1f1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 6b872ee72942951fd464c4c6cb9eadcb9b4749c1) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/utils/gitarchive: Handle broken commit counts in results repoRichard Purdie2023-10-251-1/+9
| | | | | | | | | | | | | | | | | | | | | | The test results repository contains tags like: master/64501-g65c94ca3196e5ef3344a469fea8e30444f2e967a/0 master/1-g65c94ca3196e5ef3344a469fea8e30444f2e967a/3 master/1-g65c94ca3196e5ef3344a469fea8e30444f2e967a/2 master/1-g65c94ca3196e5ef3344a469fea8e30444f2e967a/1 master/1-g65c94ca3196e5ef3344a469fea8e30444f2e967a/0 where the commit count is correct in one case and not in the others. This causes assertion errors in the current code. Add in some code to work around these historical issues where the commit counts are low. (From OE-Core rev: 27c1ad02b9479f30ad8eacdee1cdad79cab5269d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit d51fc5c8c469730885af7bbde7122032de411d89) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/selftest: Fix broken symlink removal handlingRichard Purdie2023-10-251-1/+1
| | | | | | | | | | | | The test above this removal correctly looks at symlinks however to remove a symlink we should call unlink(), not remove(). This avoids some build failures/tracebacks. (From OE-Core rev: 830412641abe8c7a3ad5eb1709c8372c796a7760) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit dbdb6e73b0f52bc5f9429aca47802d51edbbc834) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/selftest/wic: Improve assertTrue callsRichard Purdie2023-10-181-18/+18
| | | | | | | | | | | | | | | | assertTrue is a problematic call use in test cases since when it fails, you just get an unhelpful "False is not True" message. Replace some uses with assertIn/assertNotIn which will give more helpful results and for the rest, add msg entries which given more helpful debugging. For example, this patch would help debugging of #15176. (From OE-Core rev: 52a2455ba7d91d404fc2c4568c805cf1fbe2b2ad) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 35d4c39e0df1a304f557471151a03d1e4b0f30c7) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* ptest: report tests that were killed on timeoutAlexander Kanavin2023-10-181-1/+1
| | | | | | | | | | | | I'm not sure if this was reported correctly before, but it currently is not. Test that is stuck is an error in itself. (From OE-Core rev: f2989e8f87b8793b03fe13254f8214e495008527) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 002e27c9932a83e46be0b03a5232594cfba7212c) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/selftest/context.py: check git command return valuesMikko Rapeli2023-10-181-1/+1
| | | | | | | | | | | | Don't ignore return values from the git command lines. If something goes wrong, fail the test right away. (From OE-Core rev: 776053f4af19e9c2de7ce725e6ec94312028fa7f) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit dfc178a70d6fa60e89d4716f05d68e2c72c6ecd3) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* build-sysroots: target or native sysroot population need to be selected ↵Alexander Kanavin2023-10-181-2/+3
| | | | | | | | | | | | | | | | | | explicitly Running them in parallel is prone to races as postinsts from target sysroots rely on executables from native sysroots which may or may not be fully prepared yet. This was observed for example here: https://autobuilder.yoctoproject.org/typhoon/#/builders/146/builds/468/steps/12/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/147/builds/467/steps/12/logs/stdio (From OE-Core rev: 93e864a23e3f82edc2b2fa2207b2bc4b56c230a9) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 38d7a2e45b883cf999a86af05bcc0eaa875bb47c) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa selftest context.py: remove warning from missing meta-selftestMikko Rapeli2023-10-131-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: 70d2ceea48ef6ec04675e4e6a9c48ebc5bb78f52) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> (cherry picked from commit 9a2493ea83f0b30578a819de05108502aaadc7f5) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa selftest context.py: whitespace fixMikko Rapeli2023-10-131-2/+2
| | | | | | | | (From OE-Core rev: fa4204c34efeda543a108c942cd50a6d6322600e) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> (cherry picked from commit 8aed3ca405cb3cc5d346eb8da8b3307d93f75d5b) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* patch.py: use --absolute-git-dir instead of --show-toplevel to retrieve gitdirJulien Stephan2023-10-041-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: e974a5ebc08d5adf00081a7361ccc77e31124974) 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> (cherry picked from commit f74879dd95b19504ce8a8554636d2310d0336806) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/utils/gitarchive: fix tag computation when creating archiveAlexis Lothoré2023-08-301-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: 5e3962a53657044431f687aaa08a993563f779e7) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 5a0a7da85a3acfd4a20a07478eabefdab60f313a) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* lib/package_manager: Improve repo artefact filteringRichard Purdie2023-08-301-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: 96954ff5ea258e8456c66bfa13a11fb4fe7a3808) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 30b45bcf49bf8207fd96bb45a55d7708661f3359) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/ssh: Further improve process exit handlingRichard Purdie2023-08-181-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: f647d1400bfa5b8eab81b2b2e2c86df306970a71) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 0a0a1731e38edfa72a141e8fd8f2de52be562e94) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* target/ssh: Ensure exit code set for commandsRichard Purdie2023-08-151-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: 6bd6b7110ea2029fc736a40760536adfaf28eec0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 3924e94214b5135369be2551d54fb92097d35e95) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/runtime/ltp: Increase ltp test output timeoutRichard Purdie2023-08-151-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: a9e2179f3b4a4fe7321539de9e8e2707c9ca350a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 9a8b49208f3c99e184eab426360b137bc773aa31) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/target/ssh: Ensure EAGAIN doesn't truncate outputRichard Purdie2023-08-151-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: fd9e47ee5653dad1f24d823d32d2012e7f8bb3a6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit a8920c105725431e989cceb616bd04eaa52127ec) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* selftest/cases/glibc.py: switch to using NFS over TCPAnuj Mittal2023-08-151-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: e138b648a56a0146588dc52edd9b44929ed8a73e) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 97a7612e3959bc9c75116a4e696f47cc31aea75d) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/utils/nfs: allow requesting non-udp portsAnuj Mittal2023-08-151-2/+2
| | | | | | | | | | | Allows setting up NFS over TCP as well. (From OE-Core rev: a177ce907ec7a044659ec49c679e66f49cd71c43) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit e1ff9b9a3b7f7924aea67d2024581bea2e916036) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* selftest/cases/glibc.py: increase the memory for testingAnuj Mittal2023-08-151-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: b4e7158aca35235c86afee2b68236e250488ef98) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 4d22dba482cb19ffcff5abee73f24526ea9d1c2a) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* rpm: Pick debugfs package db files/dirs explicitlyAlex Kiernan2023-08-151-1/+1
| | | | | | | | | | | | Rather than copying the entire /etc hierarchy, specify the pieces we actually need. (From OE-Core rev: c8fbba7c0bb442282fe19abdcee492407e20b8cb) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit f0fea55ab02b013484282177a636795a254e7986) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* rootfs: Add debugfs package db file copy and cleanupAlex Kiernan2023-08-151-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: 4931839ff97e8746cdabe1d06298a96a47638b2b) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit ce49ea435ce55eb5b6da442c12e03a806534c38d) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* selftest/cases/glibc.py: fix the override syntaxAnuj Mittal2023-08-151-1/+1
| | | | | | | | | | | Fix the override so we actually pass the correct value to glibc. (From OE-Core rev: 8ad6000c814631e1147fddd5d2462b39ea44b99e) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 38fd2120f0f48512091ddad6205ce19839eaf589) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/selftest/devtool: add unit test for "devtool add -b"Yoann Congal2023-08-011-0/+32
| | | | | | | | | | | | Fix [Yocto #15085] Co-authored-by: Fawzi KHABER <fawzi.khaber@smile.fr> (From OE-Core rev: 2dca7cba28a08d63e0ca88bb9897e01661e177ef) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit d5eedf8ca689ccb433c2f5d0b324378f966dd627) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/runtime/cases/rpm: fix wait_for_no_process_for_user failure caseRoss Burton2023-08-011-2/+2
| | | | | | | | | | | | | | str.format() doesn't use % notation, update the formatting to work. assertTrue() is a member of self not a global, and assertTrue(True) will always pass. Change this to just self.fail() as this is the failure case. (From OE-Core rev: c88b9eedc81529c67f2e628ae5e7325daff2535e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 017f3a0b1265c1a3b69c20bdb56bbf446111977e) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* testimage/oeqa: Drop testimage_dump_host functionalityThomas Roos2023-07-205-50/+6
| | | | | | | | | | | | | | | | | | | The intent behind these functions was to dump the system state when issues occured but it has never really worked as we'd planned. Regular monitoring as the build runs has largely replaced this as that allows a trend to be seen rather than a spot value which was never really useful. The code is bitrotting and not functioning correctly so drop it. [YOCTO #13872] RP: Reword commit message (From OE-Core rev: 8d1bc34cffdd9f054e51db4e880747c79bf834fe) 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> (cherry picked from commit dea37ba49a236029da73d5cfbfc069bffc38b508) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* sdk.py: fix moving dnf contentsChen Qi2023-07-071-1/+2
| | | | | | | | | | | | The dnf contents should be moved to <host_sysroot>/etc/dnf/xxx instead of just <host_sysroot>/etc. (From OE-Core rev: 313f009e346a5aa10a09d65706c12ceefddaf59d) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 74b78d160a985e98f869c777847ab798e419dd2d) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* sdk.py: error out when moving file failsChen Qi2023-07-071-1/+1
| | | | | | | | | | | | Instead of printing an error message and continuing, we should just error out when moving file fails. (From OE-Core rev: 3a195a2da81755c2a030b5b0354ef177d826bdb2) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 12aecd9da94b5f27041982c661e8bab316d365d4) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/selftest/bbtests: add non-existent prefile/postfile testsFabien Mahot2023-07-041-0/+8
| | | | | | | | | | | | Fixes [YOCTO #10725] (From OE-Core rev: 47966f06f0c221b00d773f8e9db20190a80d668a) Signed-off-by: Fabien Mahot <fabien.mahot@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit b0c33655fad5b2e7d96a45b6210527dfb766797b) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* meta: lib: oe: npm_registry: Add more safe caractersBELOUARGA Mohamed2023-06-301-1/+1
| | | | | | | | | | | | NPM registry cache should support caracaters like '(' and ')' Explanation: NPM packages can contains these caracters like : @(._.)/execute (From OE-Core rev: 9d51a9f819a0ffdfd273635aa4e2062bf30a1db2) Signed-off-by: BELOUARGA Mohamed <m.belouarga@technologyandstrategy.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 6110d9e24e43e286781afd1b3634a4ad1a2050d0) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* qemurunner.py: fix error message about qmpChen Qi2023-06-301-2/+2
| | | | | | | | | | | | | | The error message is a little misleading as the qmp module is a directory with __init__.py file, not qmp.py file. Also, put the path where we try to import it from in the error message to make the message more indicative. (From OE-Core rev: 60466c8ee5c055bdc01582f3809c7b36bb646a1d) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 08bacbf797f6a50ae8abe8fc3455b3a15a0a94b3) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* selftest/reproducible: Allow native/cross reuse in testRichard Purdie2023-06-141-2/+2
| | | | | | | | | | | | | | We don't compare reproducibility of the native/cross components, only the target ones. With the long build times of rust-native, the test now takes crazy lengths of time so this tweak should allow us to reuse native/cross artefacts from sstate whilst still testing the target output is reproducible. (From OE-Core rev: ea3d21235633dc5b01c6ce39e768d00d1da5d87a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit b494d83c639a877cefeb7cbab6d37195e492f059) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa: adding selftest-hello and use it to speed up testsThomas Roos2023-06-141-9/+9
| | | | | | | | | | | | | | | Adding a selftest version of hello world to run it in tests where no download is necessary. Also using this in several tests to speed them up. Using the -native version wherever possible will also speed up tests a lot. [YOCTO #11142] (From OE-Core rev: 95241ece5fcef53901b97f96ae961cea208ca31a) Signed-off-by: Thomas Roos <throos@amazon.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit c3f26b63934888df0e3cd563c1c2804eb78a368e) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* lib/terminal.py: Add urxvt terminalPavel Zhukov2023-06-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes failure [1] of menuconfig task in rxvt-unicode terminal in case if xterm/Konsole/Gnome is not installed. Tested with rxvt-unicode-256color [1] WARNING: Terminal screen is supported but did not start ERROR: No valid terminal found, unable to open devshell. Tried the following commands: tmux split-window -c "{cwd}" "do_terminal" tmux new-window -c "{cwd}" -n "zephyr-helloworld Configuration" "do_terminal" xfce4-terminal -T "zephyr-helloworld Configuration" -e "do_terminal" terminology -T="zephyr-helloworld Configuration" -e do_terminal mate-terminal --disable-factory -t "zephyr-helloworld Configuration" -x do_terminal konsole --separate --workdir . -p tabtitle="zephyr-helloworld Configuration" -e do_terminal gnome-terminal -t "zephyr-helloworld Configuration" -- do_terminal xterm -T "zephyr-helloworld Configuration" -e do_terminal rxvt -T "zephyr-helloworld Configuration" -e do_terminal tmux new -c "{cwd}" -d -s devshell -n devshell "do_terminal" screen -D -m -t "zephyr-helloworld Configuration" -S devshell do_terminal DEBUG: Python function do_menuconfig finished (From OE-Core rev: d873b925a02dfec2c7655757a1f08d2435fe1980) Signed-off-by: Pavel Zhukov <pazhukov@suse.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 8d2fe4df8ae33e033caf4119a76715f085be1d15) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/selftest/cases/devtool.py: skip all tests require folder a git repoThomas Roos2023-06-141-0/+8
| | | | | | | | | | | | | | | Devtool selftests require poky dir a git repo, when downloading poky as a tar, this is not the case. Those tests will now skipped. [YOCTO #12389] (From OE-Core rev: 5b913494b472ef03435cabf984361b43c3d813f4) 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> (cherry picked from commit 95a5bc130dc51ea9de95c64dbf0e9c7892415d50) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* qemurunner: avoid leaking server_socketMikko Rapeli2023-06-061-0/+1
| | | | | | | | | | | | close() the server_socket before qemusock replaces it. (From OE-Core rev: fb1de20b22119fd62b338ab69cd2b6a6c4e9dd8f) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit be7bbbeeb44158b181d1abc5a4d7871a9045fdd6) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* Revert "ipk: Decode byte data to string in manifest handling"Andrew Jeffery2023-05-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | cf9df9e8d89f ("ipk: Decode byte data to string in manifest handling") did a bit of least-effort fix to a string vs byte sequence issue in the manifest handling. The approach was chosen as it localised the fix, rather than having to analyse further call sites. However since then f2167ae80258 ("package_manager/ipk: do not pipe stderr to stdout") was applied, reworking the output handling from the subcommand. dummy_bytes() now returns a string, so stop trying to decode it. Fixes: f2167ae80258 ("package_manager/ipk: do not pipe stderr to stdout") Cc: Curtis Meier <cmeier@us.ibm.com> Cc: Pam Eggler <eggler@us.ibm.com> (From OE-Core rev: b61739554780d70307d2b6b37d2b3b1c7df93c77) (From OE-Core rev: 29bd0b6272680769b438f39fa96b47d21c846f37) Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 07e5a6331be60d5e35d7336a6215a972ced6eb57) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* selftest/distrodata: clean up exception lists in recipe maintainers testAlexander Kanavin2023-05-181-3/+3
| | | | | | | | | | | | | | | | | | | Specifically: - add missing maintainer.inc entries for initramfs-module-*, systemd-machine-units and target-sdk-provides-dummy and drop them from exception list. - remove rust from exception list for unbuildable-by-default recipes as it is now buildable. - add missing maintainer.inc entry for libx11-compose-data and cve-update-nvd2-native; as they are also unbuildable by default, they needs to be in exception list as well. (From OE-Core rev: d1ad59bb7a5360433403733de71b66ff3e1484ef) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit e9158b191c1cfc16f97abed6c05891aa84fe9463) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* package_manager/ipk: fix config path generation in _create_custom_config()Enrico Jörns2023-05-181-1/+1
| | | | | | | | | | | | | | | | "sysconfdir" contains "/" by definition and thus using os.path.join() leads to self.target_rootfs being always ignored (and thus attempting to generate paths in host's /etc). Use oe.path.join() instead which was made for this purpose. (From OE-Core rev: 116e2b1d0c75c6be333339812468550145915774) Signed-off-by: Enrico Jorns <ejo@pengutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 8414c504138f6de663f5130c6b4a6ede5605d88b) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* recipes: Default to https git protocol where possibleRichard Purdie2023-05-182-4/+6
| | | | | | | | | | | | The recommendation from server maintainers is that the https protocol is both faster and more reliable than the dedicated git protocol at this point. Switch to it where possible. (From OE-Core rev: 8f3669f81db8a58f8ed2faef76acab3499f59619) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 139102a73d4151f4748b4a861bd4ab28dda7dab7) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa/utils/metadata.py: Fix running oe-selftest running with no distro setThomas Roos2023-05-101-3/+3
| | | | | | | | | | | | | This will use default values when no distribution is set. [YOCTO #15086] (From OE-Core rev: 9e576ab7035d52fba961c400d53657608ad5b99d) Signed-off-by: Thomas Roos <throos@amazon.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> (cherry picked from commit 888fe63b46efceeff08dbe8c4f66fec33d06cb7a) Signed-off-by: Steve Sakoman <steve@sakoman.com>
* oeqa ping.py: fail test if target IP address has not been setMikko Rapeli2023-04-061-0/+1
| | | | | | | | | | | It is possible to call exported tests with --target-ip set to ":22" where IP address is not set at all. Detect this case and fail the test instead of calling ping without an IP address. (From OE-Core rev: 17c995c53775b8cee279ca4ced916092067e1195) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa ping.py: avoid busylooping failing ping commandMikko Rapeli2023-04-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a sleep on error path before trying again. For example when oeqa runtime tests are executed without setting target IP address correctly, the tests are drowning logs with messages: 2023-04-04 07:19:24,985 - runtime - INFO - test_ping (ping.PingTest.test_ping) ping: usage error: Destination address required ping: usage error: Destination address required ping: usage error: Destination address required ping: usage error: Destination address required ping: usage error: Destination address required ping: usage error: Destination address required ping: usage error: Destination address required ping: usage error: Destination address required ping: usage error: Destination address required ping: usage error: Destination address required ping: usage error: Destination address required ping: usage error: Destination address required ... 2023-04-04 07:19:55,002 - runtime - INFO - ... FAIL 2023-04-04 07:19:55,002 - runtime - INFO - Traceback (most recent call last): File \"/lava-62618/3/tests/3_oeqa-runtime-tests/image/lib/oeqa/runtime/cases/ping.py\", line 23, in test_ping output += proc.communicate()[0].decode('utf-8') ^^^^^^^^^^^^^^^^^^ File \"/usr/lib/python3.11/subprocess.py\", line 1194, in communicate stdout = self.stdout.read() ^^^^^^^^^^^^^^^^^^ File \"/lava-62618/3/tests/3_oeqa-runtime-tests/image/lib/oeqa/core/decorator/oetimeout.py\", line 18, in _timeoutHandler raise OEQATimeoutError(\"Timed out after %s \" oeqa.core.exception.OEQATimeoutError: Timed out after 30 seconds of execution (From OE-Core rev: 87ec75710b5cd7b3f35d886003844d62d3182b54) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: efibootpartition.py: fix QEMU_USE_KVM usageMartin Jansa2023-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | * if you don't have QEMU_USE_KVM in local.conf it fails with: 2023-03-12 18:06:29,591 - oe-selftest - DEBUG - Checking if qemux86-64 is not this MACHINE 2023-03-12 18:06:29,594 - oe-selftest - INFO - ... ERROR 2023-03-12 18:06:29,594 - oe-selftest - INFO - Traceback (most recent call last): File "/OE/build/poky/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/OE/build/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py", line 18, in test_boot_efi if oe.types.qemu_use_kvm(self.td['QEMU_USE_KVM'], self.td["TARGET_ARCH"]): ~~~~~~~^^^^^^^^^^^^^^^^ KeyError: 'QEMU_USE_KVM' [YOCTO #12937] (From OE-Core rev: 7c32ca2f91beb98769c89470b37f06cb4b99aebb) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/bblogging: uncomment python stdout checksMark Asselstine2023-04-051-12/+6
| | | | | | | | | | | | Since bitbake commit 81a58647b2f4fc0a2589b2978fc9d81b2bfe6aec [bitbake: build: Make python output print to stdout when running with -v (verbose)] we no longer need to comment out the python stdout checks. (From OE-Core rev: 67886a8473c511c8ab3db2e4587cc5a070979d11) Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime: clean up deprecated backslash expansionRoss Burton2023-04-033-5/+8
| | | | | | | (From OE-Core rev: 77085a05240c3f8226b9f2199c977f2555807789) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>