summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa
Commit message (Collapse)AuthorAgeFilesLines
* oe-selftest: no need to parse gpg output to determine the name of the ↵Alexander Kanavin2018-05-151-7/+1
| | | | | | | | | | | | | | | | signing key The parsing fails on my machine, and we use a key with a hardcoded name, and so can provide it directly. (From OE-Core rev: b69bad2c4e51a24868422f39619a0598fd2a0533) (From OE-Core rev: 9ef0bbcc319676436ddce0bab3f599288f57852e) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/signing: add --batch to gpg invocation when importing keysAlexander Kanavin2018-04-051-1/+1
| | | | | | | | | | | | | | | Otherwise it may pop up windows asking for passphrases which breaks automated testing. Newer YP releases and master already have the fix. [YOCTO #12521] (From OE-Core rev: 863916169fbe2686015b4f2279f49f08f41e9a47) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/cases/signing: ignore removal errors when cleaning temporary gpg ↵Leonardo Sandoval2017-10-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | | directory The high-level method tempfile.TemporaryDirectory give us no way to ignore erros on removal thus use tempfile.mkdtemp instead. Ignoring possible issues on removal is neccesary because it contains gpg sockets that are automatically removed by the system once the process terminates, otherwise the following log is observed: .. .. File "/usr/lib/python3.5/shutil.py", line 436, in _rmtree_safe_fd os.unlink(name, dir_fd=topfd) FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.browser' [YOCTO #11821] (From OE-Core rev: e7f139c5d97a3871215c88c5bfc07ecf4e8fd7f3) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool.py: update testcase Ids in mortylibertad2017-09-251-6/+6
| | | | | | | | | | | eSDK testcases Ids were modified on testopia, hence there needs to be a change in the devtool script. [YOCTO #11603] (From OE-Core rev: b835e9bf9da6ebc8fd5728b4587470e9a57d5966) Signed-off-by: libertad <libertad.cruz@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Drop http sstate sharingRichard Purdie2017-09-111-39/+16
| | | | | | | | | | | | | | | | | | | | | | Using httpServer from python for sharing sstate is known to be buggy, it can't cope with the number/type of requests coming from bitbake and quietly fails to share files. This causes intermittent build failures which are hard to debug. We can use a file:// url for the sstate mirror instead, removing the need for the http server. The sdk-update test is simply dropped since the SDK is never published to this location and hence it would never have any update. Its equiavalent to pointing at an empty web server. There is a better eSDK update test in testsdk so rather than improve this one, lets drop it and concentrate on the one there. (From OE-Core rev: 7606f05e48ad2e31650e3a56bfcd04b4fbfad1e3) (From OE-Core rev: 840a317e8a5518dbd1a025381441e13e906519ff) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/eSDK.py: Cleanup when there is an error in setUpClassMariano Lopez2017-09-111-21/+25
| | | | | | | | | | | | | | | | | | Lately autobuilders are experiencing hangs with selftest, it seems it is cause if an error happens in setUpClass method of oeSDKExtSelfTest class because HTTP server keeps running in background. This patch will ensure tearDownClass will be run if there is an error in setUpClass. (From OE-Core rev: eb1383949f76c6eb36f86c051057f761a71016a3) (From OE-Core rev: 5dc68a378d9f4ec2c313ac395e91225a02e5b2c7) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Adds test case for sdk-update eSDKFrancisco Pedraza2017-09-111-6/+36
| | | | | | | | | | | | | | | | | | | | | 1. Test case adds perl recipe before build eSDK. 2. After this added recipe, the script verifies the update: ${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh oe-publish-sdk [esdk] [path-to-http] CORE_IMAGE_EXTRA_INSTALL = "perl" bitbake -c populate-sdk-ext [some-image] devtool sdk-update This should fix [YOCTO #9369] (From OE-Core rev: 21bd406bf89e9ceafe1a807877406be817cacca6) (From OE-Core rev: 7824ca273e7e4b25d4efe5461c0402833f535d06) Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/eSDK.py: fix sstate dir not found errorChen Qi2017-09-111-1/+1
| | | | | | | | | | | | | | Fix the error below when SSTATE_DIR is not "${BUILDDIR}/sstate-cache". FileNotFoundError: [Errno 2] No such file or directory: '/xxx/../sstate-cache' (From OE-Core rev: 785f0343d04c1684363b5289a3012cf7e1caa95f) (From OE-Core rev: 9d04fe3a0ce7eb418cd48438e1699825904e2dfb) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: lock down Meson git revision for reliabilityRoss Burton2017-06-051-2/+2
| | | | | | | | | | | | | | | | The test_recipetool_create_github test fetches HEAD of the repository so upstream changes can (and do) break the test. Avoid these problems by passing the rev= argument in the URL to lock the checkout to the same version that is fetched in the github_tarball test. Also pass the commands to runCmd() as a list instead of a string, the semicolon in the URL needs more quotes if the shell is involved and passing a list bypasses the shell entirely. (From OE-Core rev: cbb5961d3db27f81967345a73267920f2623ccac) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/recipetool: replace fedorahosted.org SRC_URI with github.com sourceChoong YinThong2017-06-051-4/+4
| | | | | | | | | | | | | | | fedorahosted.org was retired on March 1st, 2017. This is to update the SRC_URI to point to github.com. [YOCTO #11226] (From OE-Core rev: 9b3c9193d4a04061e64e43d55782a4d73ee166ad) (From OE-Core rev: c9c0528d7f298dae4f543ab4006057022abe71e5) Signed-off-by: Choong YinThong <yin.thong.choong@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: Avoid sstate corruption by calling cleansstateMariano Lopez2017-05-278-36/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently selftest doesn't use sstates because some tests clean sstate cache; using sstates would give a performance boost instead of building everything from scratch. With this sstates are not corrupted using different methods depending on tests: devtool: These tests needed to delete the cache so SSTATE_DIR as SSTATE_MIRRORS and set a temporal SSTATE_DIR. sstatetests: This module already used a temporal SSTATE_DIR, so just set up the SSTATE_MIRRORS. Rest: Removed cleansstate, some of them required to force a certain task, others were just removed or changed for another task. [YOCTO #10929] (From OE-Core rev: 62c61087a10cc3b26fbff32c9e2efd1704a39724) (From OE-Core rev: 44ca8b1c23e4b2cf470e9be42705e3cca23b7f85) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: Disable SSTATE_MIRRORS for sstate signing testRichard Purdie2017-05-271-0/+2
| | | | | | | | | | | | | | | | | | | | | Building ed into an sstate mirror, then leaving it enabled for oe-selftest -r signing.Signing.test_signing_sstate_archive results in: NOTE: recipe ed-1.14.1-r0: task do_populate_lic_setscene: Started WARNING: ed-1.14.1-r0 do_populate_lic_setscene: Failed to fetch URL file://29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig;downloadfilename=29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig, attempting MIRRORS if available ERROR: ed-1.14.1-r0 do_populate_lic_setscene: Fetcher failure: Unable to find file file://29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig;downloadfilename=29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz.sig anywhere. The paths that were searched were: /media/build1/poky/build/test-sstate /media/build1/poky/build/test-sstate WARNING: ed-1.14.1-r0 do_populate_lic_setscene: Cannot verify signature on sstate package /media/build1/poky/build/test-sstate/29/sstate:ed::1.14.1:r0::3:290bbc39f3b25cc27028dafce4b5aa48_populate_lic.tgz NOTE: recipe ed-1.14.1-r0: task do_populate_lic_setscene: Succeeded so we need to disable SSTATE_MIRRORS for this test. (From OE-Core rev: 2ce9962851fe58c099599679340fd87e90f426ec) (From OE-Core rev: 9bb708cf31850f5a3e53660ee9ea5a9ba7615e43) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: remove test_sanity_unsafe_binary_referencesRoss Burton2017-05-251-19/+0
| | | | | | | | | | | | | This test was attempting to exercise a broken test, for some reason this broke with patches under review but investigation revealed that the test itself is broken. The test has been removed, so there's no need to test it. (From OE-Core rev: 4f5f552cd6601ba244ef4efc782616bc477e1340) (From OE-Core rev: 0b9bb6d9ec4e030ab64bac73680df4657cb7d066) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: do not perform a full build in test_continueAlexander Kanavin2017-05-251-1/+1
| | | | | | | | | | | | | This was fetching and building the toolchain and everything else against empty download dir and sstate cache, and so was enormously slow. The test does not need that, it only checks that one fetch task fails and another succeeds when using bitbake's -k option. (From OE-Core rev: 6c69b5edc5711d2e5304a931e43eba562a095191) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: Whitelist NUC6 firmware load error message on genericx86-64Sullivan, California L2017-05-181-0/+1
| | | | | | | | | | | | | | | | This was already whitelisted, but the 4.8 kernel changed the error message, causing it to get caught by parselogs again. Fixes [YOCTO #10494]. (From OE-Core rev: a163060c25615fd29cdc477319f83997e65d0846) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> (cherry picked from commit e1bad14231115f3b1a2bf844ef5b2022c648b55d) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: wic: fix test_qemuEd Bartosh2017-01-111-1/+2
| | | | | | | | | | | | | | | | | | | | Setting WKS_FILE variable in qemux86-64 made wic test to use wrong wks file to produce an image and resulted in test_qemu failure. Used conditional assignment in qemux86-64 and explicitly set WKS_FILE in wic testing suite to make the suite to use wic-image-minimal.wsk. This should fix test_qemu failure. (From OE-Core rev: 3bca4d18c2712e3b154bacfb917f0a749ebaddeb) (From OE-Core rev: bda4e3cceda2205a0a5d916ef5b674df560d43f9) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* targetloader.py: drop test for ClassTypeJuro Bystricky2017-01-111-2/+0
| | | | | | | | | | | | | | | | | | | ClassType was removed from python3. The code testing for ClassType kept throwing AttributeError exceptions: module 'types' has no attribute 'ClassType' The exceptions prevented loading of any dynamically resolved target controllers. (From OE-Core rev: d62f18c39bc0ed3b0f5ac8465b393c15f2143ecf) (From OE-Core rev: 6258471b7077839519898d537b99dce0a0fc8aa4) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: Whitelist GPT warnings as the device is fully functionalJair Gonzalez2017-01-111-2/+3
| | | | | | | | | | | | | | | | | | | | The warning occurs when the GPT image is not the same size than the media into which it's being flashed, causing the backup GPT table not being at the end of the disk. However, this is expected as the image is created before having the information about the destination media. The error is harmless, so it will be whitelisted. Fixes [YOCTO 10481]. (From OE-Core rev: 5cc5cdc788308a79f8f0706e6d794c602ef427ed) (From OE-Core rev: 941194d29d8e4c334d3f85ce7709c894cf34b8d1) Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs.py: Whitelist iwlwifi firmware load error messagesCalifornia Sullivan2017-01-111-0/+1
| | | | | | | | | | | | | | | | | | | | | The iwlwifi module of any given kernel has a minimum and maximum supported firmware version. The kernel begins by attempting to load the maximum version, and decrements until it is successful. The 4.8 kernel's maximum supported firmware version is 24, but thus far only 22 has been released, meaning we get errors for 24 and 23. Filter out iwlwifi firmware load error messages, as they are not necessarily indicative of real problems. (From OE-Core rev: 7df570c2310efac8f9898da15deaac2b7df16655) (From OE-Core rev: 23aa95a8a15cd0b7bdc43dba9375e139f4b20607) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Remove RM_OLD_IMAGE, it's no longer usefulJoshua Lock2016-10-151-16/+0
| | | | | | | | | | | | | | | | Since the move to put image deployment under sstate control in d54339d4b1a7e884de636f6325ca60409ebd95ff old images are automatically removed before a new image is deployed (the default behaviour of the sstate logic). RM_OLD_IMAGE is therefore no longer required to provide this behaviour, remove the variable and its users. (From OE-Core rev: 93631befe8b962bf99524746b49f4ebca336175c) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sshcontrol: Handle interrupted system call errorRichard Purdie2016-10-071-11/+13
| | | | | | | | | | | | Deal with an interrupted system call gracefully: | File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-systemd/build/meta/lib/oeqa/utils/sshcontrol.py", line 55, in _run | if select.select([self.process.stdout], [], [], 5)[0] != []: | InterruptedError: [Errno 4] Interrupted system call (From OE-Core rev: 556125e4004fb7ac5169b59f51dc151f18c1806a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: selftest: add test for sdimage-bootpartEd Bartosh2016-10-071-0/+8
| | | | | | | | | Test creation of sdimage-bootpart image (From OE-Core rev: 8b18568591f66aa9770798bc61123898de92b8a9) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: selftest: add test for systemd-bootdiskEd Bartosh2016-10-071-0/+7
| | | | | | | | | Test creation of systemd-bootdisk image. (From OE-Core rev: b8eef88536b944ea35664b9a6a9496fb0a3f7988) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: measure apparent size instead of real disk usageMarkus Lehtonen2016-10-062-4/+11
| | | | | | | | | | | This change aligns disk usage measurements of the eSDK test with the old build-perf-test.sh script. And thus, also makes the results between the old and the new script comparable. (From OE-Core rev: dadb84936b3672dcf07e5ab8226158136762801f) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs.py: Add disabling eDP error to x86_common whitelistCalifornia Sullivan2016-10-051-0/+1
| | | | | | | | | | | | | | The NUC6 firmware tells the kernel to try and initialize an embedded DisplayPort it does not have, causing this warning. Its harmless, so just whitelist it. Fixes [YOCTO #9434]. (From OE-Core rev: 4c3fb7f63aad4a5d1b9720c76091cd0646859c2a) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Update test after fetcher error changesBenjamin Esquivel2016-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The following poky commit: 4359ef08 base.bbclass: Use bb.fatal() instead of raising FuncFailed changed the way the fetcher error is reported. Previous reporting: ...Function failed: Fetcher failure for URL:... New reporting: ...Fetcher failure for URL:... Updating how the check is done fixes the test error and accurately confirms the tested scenario for test_invalid_recipe_src_uri. [YOCTO #10370] (From OE-Core rev: 197da17dc97cef87375ae9190c6d1495e1c615b9) Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sstatetests: Add test for multilib allarch checksumsRichard Purdie2016-10-011-8/+37
| | | | | | | | | | Switching between multilib configurations should not change allarch recipe or nativesdk checksums. Add a new sstate test for this based on the standard allarch test. (From OE-Core rev: 660543601171f88c75fb4e90f34dac86037f3f23) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils: Add StreamHandler to loggerFrancisco Pedraza2016-10-011-0/+1
| | | | | | | | | | StreamHandler was added due missing log information on the console in oe-selftest with Qemu Runner (From OE-Core rev: a4e2df151af781edbcb6b0e17b51b5ed226bf77f) Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: Update uvesafb errors in qemu whitelistJianxun Zhang2016-09-301-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change only whitelists the timeout message in infinite wait case in uvesafb driver. With the latest timeout patch introducing infinite wait in uvesafb driver, we whitelist the timeout message since it works as a warning for issues related to timeout not to be fixed in build servers. We remove other errors for bug-discovering purposes in some cases where these lines are still worthy to be caught (not whitelisted): The removed errors show up again in the infinite wait case. It indicates a different root cause or the timeout patch doesn't work correctly. Timeout happens when developers explicitly set a non-negative timeout of a limited period to wait for task completion in uvesafb driver. Timeout or/and errors occur when kernel doesn't have the latest timeout patch in driver. Note: The latest timeout patch is tracked by: a2966330bcd29e99c0403235edb29433b0c53d56 [YOCTO #8245] (From OE-Core rev: 2e15b478343c6703c37b9a45e61c9de200d98027) Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sstatetests: Ensure we cover deb packaging backend for sstate testRichard Purdie2016-09-281-0/+2
| | | | | | | | | | Currently we weren't testing the deb backaned for sstate correctness and there was a bug that had crept in. Ensure we cover all package backends with the test regardless of what the distro/conf sets. (From OE-Core rev: cdaafc3729700778d95afc2413553d7b41c1317b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa: Regenerate galculator configureJussi Kukkonen2016-09-281-2/+5
| | | | | | | | | | | | galculator configure seems to be so old it does not recognise --with-libtool-sysroot: regenerate configure. Fixes [YOCTO #10191]. (From OE-Core rev: 3e838773462e77cb2e3ba9a69534260f89ca4904) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs.py: Add amd_nb error to x86_common whitelistCalifornia Sullivan2016-09-281-0/+1
| | | | | | | | | | | | | | | | | This has always silently failed on hardware without AMD Northbridge, and a recent kernel patch made it not silent. It would be ideal to only whitelist the error for genericx86 MACHINEs and disable the CONFIG option that enables it in intel-* MACHINEs, but in order to disable this configuration option we would have to enable EXPERT and DEBUG_KERNEL, which we don't want. Instead just whitelist it on all x86 MACHINEs. Fixes [YOCTO #10261]. (From OE-Core rev: 9c432dae1045a087f8eb2de7c9bd3a9cbd46c459) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/base: backup and restore local configuration filesJose Lamego2016-09-231-1/+31
| | | | | | | | | | | | | | | | Selftests' cleanup method during test setup is not capable of restoring local configuration files that remain modified after aborting a test through a keyboard interruption. This change creates backups for local.conf and bblayers.conf at test setup, restore them when found, and deletes them at cleanup. [YOCTO #9390] (From OE-Core rev: 0877278e07e4c2494c4c23199490dc47a5cee69d) Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/lic-checksum: don't report the expected failure to errors.ypRoss Burton2016-09-201-0/+1
| | | | | | | | | | This test has a bitbake invocation that is expected to fail, so inhibit report-error running. (From OE-Core rev: b2771e17a5f301423f65be9f93c9c1b1e7f8ab93) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/parselogs.py: Add ignore of tsc calibration fail in x86Aníbal Limón2016-09-201-0/+1
| | | | | | | | | | | | | | | | | | | We are experimenting failures to calibrate CPU's using TSC in x86 VM's due to usage of nested KVM [1], this is a known issue [2][3] in virtualization environments, for detail explnation see [4]. Also we already have an ignore for 'TSC Fast calibration fail'. [1] http://errors.yoctoproject.org/Errors/Details/83684/ [2] https://bugzilla.redhat.com/show_bug.cgi?id=814231 [3] https://lists.nongnu.org/archive/html/qemu-devel/2010-09/msg01547.html [4] https://www.kernel.org/doc/Documentation/virtual/kvm/timekeeping.txt (From OE-Core rev: 2271f59a0f506f89f9fea6777701c4b40790ddd9) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdkext/devtool: use a smaller module to test node.js functionalityPaul Eggleton2016-09-161-1/+1
| | | | | | | | | | | | | | | The "forever" package, despite its innocent description, actually drags in a surprising number of dependencies and as a result the nodejs test takes up to 10 minutes as a result. Pick a different example with a much more reasonable set of dependencies. Addresses part of [YOCTO #10254]. (From OE-Core rev: 638ee71da967f093071ba25e0ea5c467dab65339) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: print out the runqemu commandbavery2016-09-161-3/+5
| | | | | | | | | | | | | This logs the launch command that was used for runqemu while running -c testimage. This way, if I'd like to easily launch qemu manually in order to debug a failed test, I know what commmand was run to create the qemu instance. (From OE-Core rev: 34aa20c6f323bbf7ad53beb643126e4e03634708) Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/oetest: show stderr when running commandsRoss Burton2016-09-161-3/+2
| | | | | | | | | | To help debug failures, redirect stderr to stdout in oeSDKTest.run() and oeSDKExtTest.run(). (From OE-Core rev: 4cd143e0de7f0082f60f273f442f6255f28ec3e7) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/decorators: LogResults fix race condition in linkfileAníbal Limón2016-09-151-0/+14
| | | | | | | | | | | | | | | | | | | | In order to avoid race condition when test if exists the linkfile use bb.utils.lock, the best solution is to create a unique name for the link file. There is no way to create a unique linkfile name at this decorator because is needed the machine and image variables, those variables can't be passed easily in this code. To avoid broke test export functionality use a try/except because bb isn't available when use test export [YOCTO #10225] (From OE-Core rev: 059d475b6bce1e5414170a4fe2e7989f6b0eacd6) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "oeqa.runtime.smart: work around smart race issues"Richard Purdie2016-09-141-25/+0
| | | | | | | | We have a proper fix now so we can remove the workaround. This reverts commit 4d268abc2fc892c5d34449f78c8e9f2b1a9d6bac. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Remove linux user utilized for rpm test.Edwin Plauchu2016-09-141-6/+26
| | | | | | | | | | | | | | | When trying to re-test smart rpm tests. A fail arises due to a linux user previously created upon the image. We've added a few lines to delete such user and his home dir when finishing test. [YOCTO #9204] (From OE-Core rev: d1a80ac434bb798634bbb792ff7df59148ec26be) Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: another fix for splitting 'nevr' stringMarkus Lehtonen2016-09-141-0/+5
| | | | | | | | | | | | | | | | When processing buildstats we determine recipe name, epoch, version and revision from the per-recipe buildstat directory name. One previous patch made an assumption that package version starts with a number. That might not be true because of a packaging mistake or whatever reason. Thus, if a version starting with a number is not found, fall back to the "old" method of just taking the second-last dash-delimited part (the one before revision). (From OE-Core rev: 936eb9aac055f1d4f41bb351477a0f5bebf76a0e) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/parselogs: Don't use cwd for file transfersRichard Purdie2016-09-141-2/+8
| | | | | | | | | | | | | | | | | | | | If you run: MACHINE=A bitbake <image> -c testimage MACHINE=B bitbake <image> -c testimage and A has errors in parselogs, machine B can pick these up and cause immense confusion. This is because the test transfers the log files to cwd which is usually TOPDIR. This is clearly bad and this patch uses a subdir of WORKDIR to ensure machines don't contaminate each other. Also ensure any previous logs are cleaned up from any existing transfer directory. (From OE-Core rev: ac8f1e58ca3a0945795087cad9443be3e3e6ead8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.runtime.smart: work around smart race issuesMarkus Lehtonen2016-09-091-0/+25
| | | | | | | | | | | | | | | Yucku hack around test failures which ultimately are caused by a race in smartpm itself. Issuing smartpm commands in quick succession causes races in package cache of smartpm on some systems. This patch mitigates the problem by sleeping for 1 second after each smartpm command that modifies the system. [YOCTO #10244] (From OE-Core rev: 4d268abc2fc892c5d34449f78c8e9f2b1a9d6bac) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/smart: Prune feeds to save memoryRichard Purdie2016-09-091-0/+4
| | | | | | | | | | | | Full package feed indexes overload a 256MB image so reduce the number of rpms the feed. Filter to p* since we use the psplash packages and this leaves some allarch and machine arch packages too. [YOCTO #8771] (From OE-Core rev: f352c3b71cbf50846c7de31046202296b38713cc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Use snapshot instead of copying the rootfs imageRichard Purdie2016-09-092-8/+3
| | | | | | | | | | | | | | Rather than copying images, use the snapshot option to qemu. This fixes a regression caused by the recent runqemu changes where the wrong images were being testes since the image is copied without the qemuboot.conf file. This means the latest image is found by runqemu rather than the specified one, leading to various confused testing results. It could be fixed by copying more files but use snapshot mode instead. (From OE-Core rev: eab91997d415b0e690b3482749a32087e6a8b00a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner.py/qemutinyrunner.py: remove runqemu-internalRobert Yang2016-09-092-2/+2
| | | | | | | | | There is no runqemu-internal any more. (From OE-Core rev: 14bacf7203ab7a638b67eb143225d8c75bbb703d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: Whitelist qemux86 error message with qemu 2.7.0Robert Yang2016-09-091-0/+1
| | | | | | | | | | | | | | | | | | | | | qemu 2.7.0 introduces kernel errors: [ 2.310768] pci 0000:00:00.0: [11ab:4620] type 00 class 0x060000 [ 2.311338] pci 0000:00:00.0: [Firmware Bug]: reg 0x14: invalid BAR (can't size) [ 2.311604] pci 0000:00:00.0: [Firmware Bug]: reg 0x18: invalid BAR (can't size) [ 2.311835] pci 0000:00:00.0: [Firmware Bug]: reg 0x1c: invalid BAR (can't size) [ 2.312063] pci 0000:00:00.0: [Firmware Bug]: reg 0x20: invalid BAR (can't size) [ 2.312323] pci 0000:00:00.0: [Firmware Bug]: reg 0x24: invalid BAR (can't size) [ 2.314320] pci 0000:00:0a.0: [8086:7110] type 00 class 0x060100 [ 2.315363] pci 0000:00:0a.1: [8086:7111] type 00 class 0x010180 Whitelist this for now since this is preferable to the random failures we're seeing from qemuppc with 2.6.0. (From OE-Core rev: 4d542cdc86c34f0f4a3dde8b0aab059bca76a9fb) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: Whitelist qemuppc error message with qemu 2.7.0Richard Purdie2016-09-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | qemu 2.7.0 introduces kernel errors: [0.474981] pci 0000:00:0f.0: reg 0x10: [io 0x0400-0x041f] [0.483796] pci 0000:00:0f.0: reg 0x20: can't handle BAR above 4GB (bus address 0xffffffff82800000) [0.484204] pci 0000:00:0f.0: reg 0x20: [mem size 0x00800000 64bit pref] [0.488077] pci 0000:00:0f.0: reg 0x30: [mem 0x83000000-0x8303ffff pref] [0.488903] pci 0000:00:10.0: [1af4:1005] type 00 class 0x00ff00 [0.490485] pci 0000:00:10.0: reg 0x10: [io 0x0480-0x049f] [0.496512] pci 0000:00:10.0: reg 0x20: can't handle BAR above 4GB (bus address 0xffffffff83800000) [0.496783] pci 0000:00:10.0: reg 0x20: [mem size 0x00800000 64bit pref] [0.500345] pci 0000:00:11.0: [1af4:1001] type 00 class 0x010000 [0.501790] pci 0000:00:11.0: reg 0x10: [io 0x0500-0x053f] [0.507362] pci 0000:00:11.0: reg 0x20: can't handle BAR above 4GB (bus address 0xffffffff84000000) [0.507677] pci 0000:00:11.0: reg 0x20: [mem size 0x00800000 64bit pref] [0.513905] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00 [0.516493] PCI 0000:00 Cannot reserve Legacy IO [io 0x0000-0x0fff] [0.517512] pci 0000:00:0f.0: BAR 4: assigned [mem 0x80800000-0x80ffffff 64bit pref] [0.518877] pci 0000:00:10.0: BAR 4: assigned [mem 0x82800000-0x82ffffff 64bit pref] [0.519890] pci 0000:00:11.0: BAR 4: assigned [mem 0x83800000-0x83ffffff 64bit pref] Whitelist this for now since this is preferable to the random failures we're seeing from qemuppc with 2.6.0. (From OE-Core rev: 2472ed5393ab01ad79c011ea19c73224ed5125de) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa.buildperf: be sure to use the latest buildstatsMarkus Lehtonen2016-09-081-1/+1
| | | | | | | | | | Be sure to take the latest buildstats if multiple buildstats are found. (From OE-Core rev: bad495f0d0144728a0132c3d3c4d98c24ead4afd) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>