summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa
Commit message (Collapse)AuthorAgeFilesLines
...
* qemurunner.py: print output from runqemu/qemu-system in stop()Alexander Kanavin2021-08-271-0/+2
| | | | | | | | | | | | | | This is done when starting up qemu has failed, but is not done when qemu started ok, but fails later in QMP communication. Output from runqemu does contain valuable information to find out why, so rather than fix all the QMP fails to include it, let's just print it in stop(). (From OE-Core rev: 6e2bf68e4401db747484c2c8ba0f77500b1d2d49) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/reproducibile: Exclude rust packagesRichard Purdie2021-08-261-1/+5
| | | | | | | | | rust-llvm-liblto and rust-llvm-staticdev sometimes vary in contents. Exclude them from the test for now until we can work on and resolve the issues. (From OE-Core rev: 60c12da5aae2534c972df851f26e4523fed03afc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/distrodata: Fix up rust maintainer testingRichard Purdie2021-08-261-1/+1
| | | | | | | | | | Since the target rust recipe is skipped but the native variant is not, this confuses the test. Add rust to the list of special cases to avoid test failures as the current code can't handle the skip. (From OE-Core rev: 842cba1820416d79e30e3f1940e2486707fc7cff) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: add a hint on how to enable CPU render nodes when a suitable GPU is absentAlexander Kanavin2021-08-231-2/+4
| | | | | | | | | | | | | | | | | | | This is particularly useful for llvm-accelerated GL rendering from qemu guest to an offscreen buffer (accessible over vnc or spice) using llvmpipe on the host, rather than using unaccelerated swrast renderer in the guest. This is the best that can be done in the absence of a host GPU with render node support (such as old Matrox cards common in servers, or fully virtualized cloud environments with no GPU at all). Note: even though NVidia blob drivers do support render nodes, they do not support gbm (yet?), and so rendering will fall back to llvmpipe as well even when the system has a 3000 euro NVidia GPU. Cue Linus picture. (From OE-Core rev: 9b1daa173481f7f560e00e0dc22b4010ff1dc0ec) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: wic: Add tests for --no-fstab-updateDaniel Gomez2021-08-201-0/+58
| | | | | | | | | Add tests for the --no-fstab-update wic part command. (From OE-Core rev: 90141d41a370ff377d95fb3dd144b63a85e22f8e) Signed-off-by: Daniel Gomez <daniel@qtec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk: add HTTPS test for buildtoolsRoss Burton2021-08-181-0/+20
| | | | | | | | | | Verify that HTTPS connections work in both wget and Python, as this depends on variables correctly pointing to the certificate chain. (From OE-Core rev: 5c2b1fb09e786ec392979d21dc7884ca23cd84f0) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk: add relocation test for buildtoolsRoss Burton2021-08-181-0/+29
| | | | | | | | | | | | The buildtools-extended tarball includes GCC, which relies on being relocated correctly to work. Add a test case that verifies that the loader paths have all been relocated, as otherwise there are hard-to-debug errors at build time. (From OE-Core rev: fe1f675ea156722a3709b13cd751479c9528134d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/buildoptions: test buildhistory PKGSIZE and FILELIST fieldsRoss Burton2021-08-171-0/+24
| | | | | | | | | Add tests to ensure that PKGSIZE and FILELIST fields are set correctly. (From OE-Core rev: 8e957f9dbf794195af093f3fbc00b4c8d269ee37) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/glibc: Handle incorrect encoding issuesin glibc test resultsRichard Purdie2021-08-171-1/+1
| | | | | | | | | | We dont control the test output and sometimes see badly encoded characters. These don't affect the operation of the code we're running. Use errors='replace' to avoid those issues and the resulting test failures. (From OE-Core rev: 3939b1923387d3bc440118ed1663d28a03a1ea5d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/cases: make date.DateTest.test_date more reliableAlexandre Belloni2021-08-131-5/+4
| | | | | | | | | | | | The test uses the broken out time and can only handle about 59s of delay, use a UNIX timestamp to allow for up to a 300s delay. [YOCTO #14463] (From OE-Core rev: b705e9373acd4119da75af4eb96ec92cc964aa86) Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/fitimage: update tests to use two keysThomas Perrot2021-08-131-7/+14
| | | | | | | | | | | | | Other keys (UBOOT_SIGN_IMG_KEYNAME) are required to sign individually the images nodes, and these keys must be different from the ones used to sign the configurations nodes (UBOOT_SIGN_KEYNAME), then fitimage tests need to be updated. (From OE-Core rev: dbaca2c2522ed0dc3d0a2f80dc4510aaec177afc) Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk: add some buildtools testsRoss Burton2021-08-123-0/+47
| | | | | | | | | | | | | | | | | These two tests are designed to exercise the buildtools-tarball. SanityTests simply verifies that inside the SDK, some commands are used from the SDK. BuildTests creates a new OE build directory and builds virtual/libc to verify that a basic build works correctly. DL_DIR is reused to avoid needless downloading, but sstate is not shared to ensure a build does happen. (From OE-Core rev: 6157d6ffa32d6df383c29d4b6de07feb9d619913) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: overlayfs unit testsVyacheslav Yurkov2021-08-121-0/+171
| | | | | | | | | Unit tests for overlayfs.bbclass (From OE-Core rev: b393e1982090063d9d0610fdcfd3601e78a501c0) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/cases/ptest: Increase test timeout from 300s to 450sRichard Purdie2021-08-061-1/+1
| | | | | | | | | | Some tests such as lttng-tools are marginal and timing out on the autobuilder with the current 300s default. Increase to avoid this noise in the ptest failures list. (From OE-Core rev: 5fb902a52e35130af6b0735a087c709daa35655f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool.py: Correct override syntaxKhem Raj2021-08-051-1/+1
| | | | | | | (From OE-Core rev: 3a0af9245b11326ced96a05db85e0e45e6422d4a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster-managed-mode.json: Correctly specify term with new override syntaxKhem Raj2021-08-051-2/+2
| | | | | | | (From OE-Core rev: 218117b0947e0dff977cf7ce508ed34382e3cf49) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Convert IMAGE_TYPEDEP to use override syntaxRichard Purdie2021-08-042-3/+3
| | | | | | | | | The IMAGE_TYPEDEP variable would make more sense to match the form of the other image override variables, convert it to use the overrides format. (From OE-Core rev: 8573f6b2a7af9867da0b21936ffd2cd2a417de1d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: add core-image-weston to no-gpl3-no-meta-gpl2 image testAlexander Kanavin2021-08-021-8/+20
| | | | | | | | | | | This demonstrates more of the tricks and techniques that can be used to achieve gpl3-free images withough having to roll back to ancient versions of various core items via meta-gpl2. (From OE-Core rev: cb78db7aa14f147ce79c12539c9435cab06f92bf) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Manual override fixesRichard Purdie2021-08-024-8/+8
| | | | | | | | | | The automated conversion of OE-Core to use the new override sytax isn't perfect. This patches some mis-converted lines and some lines which were missed by the automation. (From OE-Core rev: 4e9a06b64b43131b731fb59a0305f78a98e27fbd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to new override syntaxRichard Purdie2021-08-0232-125/+125
| | | | | | | | | | | | This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs.py: qemuarm should be qemuarmv5Jon Mason2021-07-291-1/+2
| | | | | | | | | | | | All of the errors being masked off for qemuarm are legacy from before the migration of qemuarm to qemuarmv5. Rename the machine to that to allow for qemuarmv5 to pass parselog test. Light testing shows no errors in dmesg for qemuarm. (From OE-Core rev: 701a58504de15b244b970908f2de0971a35b5a09) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/toaster: fix small typoRalph Siemsen2021-07-221-1/+1
| | | | | | | | | PACKAGE_CLASES should be PACKAGE_CLASSES. (From OE-Core rev: 7a96f3bceb2c857f841b1dbeb4587a8aaace529e) Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs.py: ignore rndr initialization failureMingli Yu2021-07-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After rng-tools upgraded to 6.13, the RNDR instruction added as an entropy source [1]. But for some cpu which doesn't support rndr, there comes below warning message: # systemctl status rngd [snip] Jul 20 06:48:07 qemuarm64 rngd[163]: [rndr ]: No HW SUPPORT Jul 20 06:48:07 qemuarm64 rngd[163]: [rndr ]: Initialization Failed [snip] Actually the failed message doesn't matter as it only indicates one entropy source rndr fails to initialize and won't affect rngd function, so ignore the failure message to fix below error during do_testimage. NOTE: ====================================================================== NOTE: FAIL: test_parselogs (parselogs.ParseLogsTest) NOTE: ---------------------------------------------------------------------- NOTE: Traceback (most recent call last): File "/build/layers/oe-core/meta/lib/oeqa/core/decorator/__init__.py", line 36, in wrapped_f return func(*args, **kwargs) File "/build/layers/oe-core/meta/lib/oeqa/runtime/cases/parselogs.py", line 382, in test_parselogs self.assertEqual(errcount, 0, msg=self.msg) AssertionError: 1 != 0 : Log: /build/tmp/work/qemuarm64-wrs-linux/wrlinux-image-std/1.0-r5/target_logs/daemon.log ----------------------- Central error: 2021-06-23T20:44:18.374494+00:00 qemuarm64 rngd[162]: [rndr ]: Initialization Failed (From OE-Core rev: 1edc840d6921668b69d248f9b32fa1d5c95e3138) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Handle files no longer existing gracefullyRichard Purdie2021-07-111-6/+9
| | | | | | | | | Files in /proc/xxx/map_files/ may no longer exist, just ignore this rather than raising an exception. (From OE-Core rev: fb1027896a263cd91e2378a4e97dbdf0807b306b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: update socat version to fix failing downloadRoss Burton2021-07-081-1/+1
| | | | | | | | | | | | If the recipetool tests are run with an empty DL_DIR the fetch of socat 1.7.3.0 fails as that URL doesn't exist anymore. Update the version to 1.7.4.1 to fix the test. (From OE-Core rev: 42ebda0c85f14f9f8a508f59115b141d645d4c77) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/multiprocesslauch: Fix test raceRichard Purdie2021-07-071-2/+1
| | | | | | | | | | | | | Having two possible failures in multiprocesslauch creates a race where one failure may occur and stop processes being lanuched meaning the second failure may not be seen. Rather than having periodic races appearing on the autobuilder, only have one failure, making the test much more deterministic. [YOCTO #13054] (From OE-Core rev: 31e9dcda40aae3ce0801580c838928956e1455e3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/dump.py: Add support for QMP command argumentsSaul Wold2021-07-022-5/+20
| | | | | | | | | | | | Need to ensure that the dump_dir is created correctly and available When command arguemnts are passed construct a filename if needed and convert the arguements to a json object to pass to QMP. (From OE-Core rev: 9a2f4e1e95f4a3f7ebbf08f46445c8ea670adce3) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: add support qmp cmd argsSaul Wold2021-07-021-2/+6
| | | | | | | | | | | This will enable passing arguments to qmp commands for those that require additional information (From OE-Core rev: 4d34676b6226a34df2877adbeea25abb5b2a31be) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/archiver: Allow tests to ignore empty directoriesRichard Purdie2021-07-021-8/+8
| | | | | | | | | | | | | | If we tweak sstate to not remove empty directories under conditions where a race could occur, we see failures from: "oe-selftest -r archiver.Archiver.test_archiver_filters_by_type archiver.Archiver.test_archiver_filters_by_type_and_name" since an empty directory is left behind. Update the tests to ignore empty directories. (From OE-Core rev: 10cda713faea9a348fd278137ac75e4a6d76a71c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/runcmd: Tweal test timeoutsRichard Purdie2021-06-291-2/+2
| | | | | | | | | | | | Load on the autobuilder meant we see occasionaly timeout issues with these tests. Slightly increase the test timeouts to better reflect the real world timings we see. [YOCTO #14262] (From OE-Core rev: fccd2ade0e345625ed9a4b74a7431b000ce2214f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Add info log for qemu startupSaul Wold2021-06-271-0/+8
| | | | | | | | | | | | | | | | | Add a couple of logging info to track time between activities, first is from after the Popen(launch_cmd) to after qmp.connect(), second is from qmp.connect() to the release of the qemu via the qmp("cont") command this includes the mmap() activity. Example output: QMP connected to QEMU at 06/24/21 11:11:56 and took 0.9556229114532471 seconds from launch QMP released QEMU at 06/24/21 11:11:56 and took 0.26789021492004395 seconds from connect (From OE-Core rev: 547f49230ba4ebeefe5b696e0460ebaffa8e91e6) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/fetch: Avoid occasional selftest failure from poor temp file name ↵Richard Purdie2021-06-271-13/+14
| | | | | | | | | | | | | | | | | choice The temp file name may contain "_" characters. Switch to a temporary directory and a fixed filename to avoid this to avoid errors like: bb.data_smart.ExpansionError: Failure expanding variable PN, expression was ${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'} which triggered exception ParseError: ParseError in /tmp/tmpd_f2__to.bb: Unable to generate default variables from filename (too many underscores) (From OE-Core rev: 086e2ae7b2b7496b4f3ae01436b4049d7f2ff8c4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: add second qmp portSaul Wold2021-06-221-0/+6
| | | | | | | | | | | | This will allow for direct ssh connection without breaking the first one that is used for monitoring. The "nowait" option will cause qmp server connection to NOT block waiting. (From OE-Core rev: 40f09e184afd42decf2f924896fef03beacddc4b) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: do not hardcode /tmp/sdkAlexander Kanavin2021-06-211-16/+12
| | | | | | | | | | | | | | | This races if there are several copies of the test running at the same time. [YOCTO #14438] (From OE-Core rev: deab11848036941771f2b3dc5cdaee83395280b5) (From OE-Core rev: ea707e8726cd7012d101d02e69503b7c98bdaf3e) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/target/qemu.py: display contents of dumped filesSakib Sajal2021-06-121-1/+26
| | | | | | | | | | | | | | | | During do_testimage, if the target is not started within a certain timeout, TEST_QEMUBOOT_TIMEOUT, host data is dumped to files for each command in ${TMPDIR}/log/runtime-hostdump/<datetime>_qemu/host_<seq>_<command>. Display the first 20 lines of top output and the last 20 lines of bootlog to standard output for more context for the target not being started up. (From OE-Core rev: 441390b707bf681bc308c9ebd45ea2ae20c37d7c) Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Increase startup timeout 120 -> 300Richard Purdie2021-06-111-1/+1
| | | | | | | | | | We now spend time copying the VM image into a tmpfs and with IO load on the system, the time + the boot time of the VM can take longer than 120s. Increase the timeout to match the added overhead of copying the image file. (From OE-Core rev: a40087c966af5ffb9309e1ddfdb3d06973e0bddd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Try to ensure mmap'd libs are paged inRichard Purdie2021-06-111-1/+18
| | | | | | | | | | | | | | | | | | | We've seeing issues where IO load appears to cause strange failures due to timeouts within qemu. One theory for these is that it is is hitting hard page faults at in-opportune moments which cause timing problems within the VM. This patch is a bit of a hack which tries to ensure the data is paged in at a point when we know we can take the time delays (waiting for the QMP start signal). Whilst this isn't ideal, it does seem to improve things on the autobuilder and shouldn't harm anything. The code figures out which files to read my looking at the mmap'd files the process has open from /proc. On Centos7 systems these files are not user readable, if that is the case we just skip them. (From OE-Core rev: e77844314d09ceff9c22338d366519928f4f7284) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: remove Clutter usageRoss Burton2021-06-032-15/+3
| | | | | | | | | Remove the use of core-image-clutter in selftest and manual Toaster QA. (From OE-Core rev: a634a0555d000d93a23890b68e54f06370f0a97e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Improve timeout handlingRichard Purdie2021-06-011-28/+22
| | | | | | | | | | We had debugging for qemu faiing to start which was no longer reachable after the QMP changes. Reorder the code to enable this debugging to work again which may allow insight into autobuilder failures in this area. (From OE-Core rev: 8fac8c61565977c775d8ede5bddc856b7767a3e4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/rpm: Drop log message counting test componentRichard Purdie2021-05-281-9/+0
| | | | | | | | | | | | | | This test is flawed since multiple parts of the system can write to the log and we obtain different numbers of log messages depending on factors we can't control. Drop the log testing component of the test. [YOCTO #12465] (From OE-Core rev: 2ad815dbafda0b90f5164f05d22dbbc26cb53f13) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Improve handling of run_serial for shutdown commandsRichard Purdie2021-05-091-1/+6
| | | | | | | | | | | When running a shutdown command, the serial port can close without the command returning. This is seen as the socket being readable but having no data. Change the way this case is handled in the code to avoid tracebacks. (From OE-Core rev: 396a3ba884820d040c91f7592daf20ac28c49b5d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Fix binary vs str issueRichard Purdie2021-05-091-2/+2
| | | | | | | | | | | | | | The recent logging changes for qemurunner showed up as errors on the autobuilder where decode couldn't be called on the returned string. Since the code returns binary data, return b'' instead of '' to match to avoid tracebacks. One of these cases was newly added, copied from the other which has been there for a long time, always broken. (From OE-Core rev: b8995b27db265b0a0b2d2ca595915f70f9f96e07) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: change warning to infoSaul Wold2021-05-061-1/+1
| | | | | | | | | | | This information is useful, but should not be a warning level. [YOCTO #14382] (From OE-Core rev: cd17d8bb00be1ecb7c92ab13eb8b162807aefed9) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Handle path length issues for qmp socketRichard Purdie2021-05-061-24/+32
| | | | | | | | | | | | | | | | | | After the addition of the qmp socket, runqemu started failing: ERROR - Failed to run qemu: qemu-system-aarch64: -qmp unix:/home/yocto/actions-runner-meta-openembedded/_work/meta-openembedded/meta-openembedded/yoe/build/tmp/.3eg5fiid,server,wait: UNIX socket path '/home/yocto/actions-runner-meta-openembedded/_work/meta-openembedded/meta-openembedded/yoe/build/tmp/.3eg5fiid' is too long Path must be less than 108 bytes To avoid this, run qemu within tmpdir and use a relative path to the socket. This avoids having to patch the socket code within qemu. Update the client code to chdir and only use a relative path to the socket to match. (From OE-Core rev: 5c56e72fca18dc942f5c1fd377e98d46ae0126f1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Improve logging thread exit handling for qemu shutdown testRichard Purdie2021-05-062-6/+15
| | | | | | | | | | | | | | | Rather than totally disabling the logging, inform it we're about to exit so we can log messages over the exit cleanly too. This aids debugging. It also avoids a race where the logging handler could still error whilst shutting down. Also remove a race window by notificing the handler of the shutdown first, before triggering it. This removes a race window I watched in local testing. (From OE-Core rev: 0e19f31a1005f94105e1cef252abfffcef2aafad) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib/scripts: Use bb.utils.rename() instead of os.rename()Devendra Tewari2021-05-061-3/+3
| | | | | | | | | | | | | | | | | | Incremental build in Docker fails with: OSError: [Errno 18] Invalid cross-device link when source and destination are on different overlay filesystems. Rather than adding fallback code to every call site, use a new wrapper in bitbake which detects this case and falls back to shutil.move which is slower but will handtle the overlay docker filesystems correctly. [YOCTO #14301] (From OE-Core rev: 656a65b2b84e7d529b89cf5de7eb838f902d84a2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "oeqa: Set LD_LIBRARY_PATH when executing native commands"Alexander Kanavin2021-05-061-3/+0
| | | | | | | | | | | | | | | | | LD_LIBRARY_PATH leaks into host executables too, and breaks them as they are not uninative-enabled. E.g. on ubuntu 18.04 trying to run host bash with a sysroot that was built on Fedora 33: akanavin@ubuntu1804-ty-3:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/build-st-24341/tmp/work/x86_64-linux/gnupg-native/2.3.1-r0/recipe-sysroot-native$ LD_LIBRARY_PATH=./usr/lib /bin/bash /bin/bash: ./usr/lib/libtinfo.so.5: no version information available (required by /bin/bash) /bin/bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./usr/lib/libtinfo.so.5) This was seen e.g. here: https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/2090/steps/14/logs/stdio (From OE-Core rev: 0e9850486b74a3de934527ca1077df001d3a8d22) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: transition to weston imagesAlexander Kanavin2021-04-275-14/+12
| | | | | | | | | | For readonly rootfs tests core-image-weston is appended; everywhere else it replaces core-image-sato. (From OE-Core rev: 75e042db853b9bf9a70ff8a5abe6d45ebb0b77a9) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/tests/test_data.py: use weston image instead of satoAlexander Kanavin2021-04-271-1/+1
| | | | | | | (From OE-Core rev: c2ccd8c8144cdda52b858589f7d5d3a15ab28b90) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Add support for qmp commandsSaul Wold2021-04-275-6/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Qemu Machine Protocol [0] extending the current dump process for Host and Target. The commands are added in the testimage.bbclass. Currently, we setup qemu to stall until qmp gets connected and sends the initialization and continue commands, this works correctly. If the UNIX Socket does not exist, we wait an timeout to ensure to socket file is created. With this version, the monitor_dumper is created in OEQemuTarget but then set in OESSHTarget as that's where we get the SSH failure happens. Python's @property is used to create a setter/getter type of setup in OESSHTarget to get overridden by OEQemuTarget. By default the data is currently dumped to files for each command in TMPDIR/log/runtime-hostdump/<date>_qmp/unknown_<seq>_qemu_monitor as this is the naming convenstion in the dump.py code. We use the qmp.py from qemu, which needs to get installed in the recipe-sysroot-native of the target image. [0] https://github.com/qemu/qemu/blob/master/docs/interop/qmp-spec.txt (From OE-Core rev: 42af4cd2df72fc8ed9deb3fde4312909842fcf91) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>