summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa
Commit message (Collapse)AuthorAgeFilesLines
...
* oeqa/selftest: buildoptions.py Removed unused importsDaniel Istrate2015-09-231-3/+0
| | | | | | | | | | Removed unused imports: unittest, logging, pexpect (From OE-Core rev: f5752cefe6ee374bffadcecb2ec50bfd38376b7d) Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/testimage: Enhance -v switch in testimageLucian Musat2015-09-231-0/+13
| | | | | | | | | | | | | When testimage is run with -v switch now individual test progress can be seen directly in bitbake console. [YOCTO #6841] (From OE-Core rev: 27138b2eeafa8b81f3020ad9d8a55263e636288c) Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sstatetests: Add test for nativesdk stamp invariance with MACHINERichard Purdie2015-09-181-2/+16
| | | | | | | | | | | | | nativesdk-glbic should not rebuild when you change MACHINE but it was. We've fixed that, now add tests to ensure this doesn't happen again. Rather than add yet another stamps test, extend one of the existing ones to cover this instead. (From OE-Core rev: e55b3d88e7a9138f518301a7217f74ba98e979aa) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/decorators: Added decorator to restart the DUT in case of test hang.Lucian Musat2015-09-182-0/+31
| | | | | | | | | | | | | | Once the DUT is hanged during testing, currently all the following test cases have to wait for default timeout to exit. Using this decorator the user can choose a timeout at case by case basis and what happens when the timeout is reached by overwriting the self.target.restart method. [YOCTO #7853] (From OE-Core rev: ce9a7501ea29ddba61ef7c297223b3f7eca5a2a1) Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/targetbuild: Ensure we run gnu-configize so config files are up to dateRichard Purdie2015-09-121-3/+3
| | | | | | | | | On aarch64 we need to do this as the versions in the upstream source don't recognise the target triplet causing SDK test failures. (From OE-Core rev: 2374bfa3b98f787f4559f14a60647e4c2b051274) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Test failure/cleanup improvementsRichard Purdie2015-09-121-0/+1
| | | | | | | | | | | | | | | | | | | Currently, if qemu segfaults, the tests merrily continue trying to execute which takes time for them to timeout and is a bit silly. Worse, no logs about the segfault are shown to the user, its silent! This patch tries to unravel the tangled web of issues and ensures that we: * install a SIGCHLD handler which tells the user qemu exited * check if qemu is running, if it isn't fail the test outright * don't leave processes behind in sshcontrol which would hold bitbake.lock and block shutdown (From OE-Core rev: 77e9363feba53b72429154be5713c46b007ae0a4) (From OE-Core rev: c77b57e2fa8a4cf90543038fe1939f6ca9b12bd1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/date: stop systemd-timesyncd during testRoss Burton2015-09-121-0/+8
| | | | | | | | | | | | | There's a race between systemd-timesyncd manipulating the system time (with NTP lookups) and the test case's time manipulation. Prevent this by stopping systemd-timesyncd for the duration of the test case. Thanks to Khem Raj for root-causing this. (From OE-Core rev: 5334f1b1e9363fa9c128289b51ade55c7ae1a0a3) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sstatettests: Improve output of assertRichard Purdie2015-09-091-1/+1
| | | | | | | | | | | | | Currently if this fails you see: "AssertionError: 1 != 0" which is useless. Add the output of the failed command so we can stand some chance of debugging what went wrong. (From OE-Core rev: e482f9bfddc6b710c9b566c3d3433dc2d7d5a22e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: update-recipe: better 'auto' modeMarkus Lehtonen2015-09-091-6/+26
| | | | | | | | | | | | | | | | | | Enhance the logic behind the 'auto' mode a bit by only updating the SRCREV if the changes are already found upstream. The logic is simple: update SRCREV only if the current local HEAD commit is found in the remote branch (i.e. 'origin/<branch_name>'). Otherwise resort to patching. This affects a couple of the oe-selftest tests so update those as well. [YOCTO #7907] (From OE-Core rev: 9b9733b7d74032aef4979bec553019421e77da14) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add upgrade featureLeonardo Sandoval2015-09-091-0/+36
| | | | | | | | | | | | | | | | | | | | | Upgrades a recipe to a particular version and downloads the source code into a folder. User can avoid patching the source code. These are the general steps of the upgrade function: - Extract current recipe source code into srctree and create a branch - Extract upgrade recipe source code into srctree and rebase with previous branch. In case the rebase is not correctly applied, source code will not be deleted, so user correct the patches - Creates the new recipe under the workspace [YOCTO #7642] (From OE-Core rev: 4020f5d91b3e4d011150d5081d36215f8eab732e) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/parselogs: Updated log error whitelist.Cristina Agurida2015-09-091-0/+6
| | | | | | | | | | | [YOCTO #7898] [YOCTO #7761] [YOCTO #7804] (From OE-Core rev: fb3a5c732997eddee6dacb52558d4e6c8942f1e1) Signed-off-by: Cristina Agurida <cristina-danielax.agurida@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Fix killpg pid usageRichard Purdie2015-09-091-2/+2
| | | | | | | | killpg should be being called with a pgid, not a pid. (From OE-Core rev: d23bf86f305a04a47d19236d72979c1027a31620) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Ensure runqemu doesn't survive SIGKILLRichard Purdie2015-09-091-0/+27
| | | | | | | | | | | | | | | | | | | | | | Currently, we see runqemu and qemu-system-* processes left behind when bitbake is killed by buildbot. This is due to the use of setpgrp() in the runqemu subprocess call. We need the setpgrp call so that all runqemu processes can easily be killed (by killing their process group). This presents a problem if this controlling process itself is killed however since those processes don't notice the death of the parent and merrily continue on. Rather than hack runqemu to deal with this, we add something to qemurunner, at least for now to resolve the issue. Basically we fork off another process which holds an open pipe to the parent and also is setpgrp. If/when the pipe sees EOF from the parent dieing, it kills the process group. This is like pctrl's PDEATHSIG but for a process group rather than a single process. (From OE-Core rev: 99428eafb5352bd39bc4329bdba07c6d6f17b03f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Drop error to a warning to improve user feedbackRichard Purdie2015-09-091-1/+1
| | | | | | | | | | | If a task shows an error, the full log is surpressed since bitbake assumes the user has been shown what is wrong. In this code path that isn't the case and its much more helpful to show the user the full error. Therefore show a warning instead to aid usability. (From OE-Core rev: 4ccef5543649262a1630bff586ef9048fe164016) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: handle SIGTERM to conclude runqemuMariano Lopez2015-09-091-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | In the current state if a SIGTERM is sent to the testimage worker, the worker will exit but runqemu and qemu won't exit and the processes need to be killed manually to free the bitbake lock. This allows to catch the SIGTERM signal in testimage, this way it is possible to stop runqemu and qemu and allow to free the bitbake lock. Also this allows to skip the rest of the tests when running the tests in qemu or real hardware. This also solves minimal breaks in the setup of the runtime test when checking if qemu is alive. [YOCTO #8239] (From OE-Core rev: 2694d2f17d597b44fcc7aed5f6836081fa88a6b3) Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/decorators: Fixed a problem with tests having the same names.Lucian Musat2015-09-061-4/+6
| | | | | | | | | | | | | | When two or more tests had the same name but different classes then the decorator log whould have the output all wrong. This was because a comparison which was made only between method names but now it compares classes too. [YOCTO #8029] (From OE-Core rev: 2b475f82d13b5c04d0c483d11a7df5e9352caa75) Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Test failure/cleanup improvementsRichard Purdie2015-09-064-12/+43
| | | | | | | | | | | | | | | | | Currently, if qemu segfaults, the tests merrily continue trying to execute which takes time for them to timeout and is a bit silly. Worse, no logs about the segfault are shown to the user, its silent! This patch tries to unravel the tangled web of issues and ensures that we: * install a SIGCHLD handler which tells the user qemu exited * check if qemu is running, if it isn't fail the test outright * don't leave processes behind in sshcontrol which would hold bitbake.lock and block shutdown (From OE-Core rev: 5c04b1ca1e989f569d5755a646734d01a0c56cae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: filter proper test cases by tagszjh2015-09-042-2/+60
| | | | | | | | | | | If a test case is decorate by oeqa.utils.decorators.tag, this case will by add a tag, testrunner will filter these tags by TEST_SUITES_TAGS [YOCTO #7849] (From OE-Core rev: 085589b1018ba4d950baf7bcfb499be02c1b29fc) Signed-off-by: zjh <junhuix.zhang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Handle lack of data on run serial gracefullyMariano Lopez2015-09-032-11/+22
| | | | | | | | | | | | | | | This changes the behavior when data was not received over the serial console when a command is run. With this the socket is no longer closed but it throws and exception that can handled in upper layers. With this the test can continue without throwing errors for not having the socket anymore. [YOCTO #8118] (From OE-Core rev: 4770a766389b94ddd5639d7a92e196abac38da22) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add test cases for 3 imagesEd Bartosh2015-09-031-0/+21
| | | | | | | | | | Added test cases to build qemux86_directdisk, mkgummidisk and mkefdisk images. (From OE-Core rev: f2d75d76d1af9e4852637f60eac8dfc967431acb) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: wic: configure a buildEd Bartosh2015-09-031-2/+11
| | | | | | | | | | | | | | | | Added MACHINE_FEATURES and IMAGE_FSTYPES variables to the build config to ensure that bootimg and efi artifacts are built. This is needed to build canned wic images that are using those artifacts. Introduced class variable Wic.image_is_ready to avoid building image more than once. It would be better to build image in setUpClass, which is called only once, but add_config method can't be called in class method, so we have to use this trick with class variable in setUp method. (From OE-Core rev: c5bb95704e00e7afdbcb2e02c1fbc74f33e26481) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runexported: Make it compatible with host dumpMariano Lopez2015-09-032-3/+8
| | | | | | | | | | | | | | Currently it is not possible to run a exported test, but this patch will allow to use the HosDumper class when running a exported test, otherwise the HostDumper class will break runexpored test. [YOCTO #8118] (From OE-Core rev: 25814dbdd12db0499e4d81876873158e1b8a4fcc) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Added host dumps when there are errorsMariano Lopez2015-09-034-27/+35
| | | | | | | | | | | | | | | | | | | | | | | | This adds an instance of HostDumper to qemurunner, with this instance now is possible to get dumps from the host when there is an error. This adds dump points in the next cases: - runqemu exits before seeing qemu pid - Fail to get qemu process arguments - Not reach login banner before timeout - qemu pid never appears This also modifies the constructors of BaseDumper, HostDumper and TargetDumper, they don't require the datastore anymore, but the feature to replace datastore variables has been lost (never used) [YOCTO #8118] (From OE-Core rev: b0af40fb76cd5035696e9d8a44f815f64214d23a) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: test devtool build-image pluginEd Bartosh2015-08-311-0/+26
| | | | | | | | | | | | | | | | | Added test case to test functionaly of build-image plugin: Add two packages to workspace and run 'devtool build-image core-image-minimal'. Checked if command is successful. Checked if expected package is added to generated core-image-minimal.bbappend file. (From OE-Core rev: 524c590fb44d0ef9711accf2db1a21e4a3cbcfc2) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: wic: fix test19_image_env test caseEd Bartosh2015-08-311-2/+4
| | | | | | | | | | | | This test case fails on qemu machines as not all expected bitbake variables are present in .env file. Fixed by filtering out optional variables. (From OE-Core rev: dd76c276a8ebaa2e2ab17b819514589ab4507740) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Add allarch sstate sig testRichard Purdie2015-08-311-0/+34
| | | | | | | | | | | | | | | "allarch" targets should be MACHINE invariant. This means their sstate signature should not change regardless of which MACHINE is built. Errors keep creeping in around this area so automating this as part of self test seems the best way to maintain this. The "do_build" stamps are known to differ and are harmless so those are excluded from the test. (From OE-Core rev: 9f991103218f6fff67934b51411d31180d5d3e1a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: test building wic image by bitbakeEd Bartosh2015-08-301-0/+14
| | | | | | | | | | Added test case to verify building of wic-image-minimal recipe and produced artifacts: manifest and bzipped partitioned image. (From OE-Core rev: 9d12fe44fdb52aeb8aa2c5c2c83175a06a0c7224) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: test generation of <image>.envEd Bartosh2015-08-301-0/+20
| | | | | | | | | | Added test case to check if <image>.env file is generated and contains bitbake variables used in wic code. (From OE-Core rev: eaa5ecd2e7ff30192e51793d1419c0198638936d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/dump: Handle empty commandlist gracefullyRichard Purdie2015-08-301-0/+2
| | | | | | | | | If the commandlist isn't available, the code currently gives a backtrace. At least stop doing that and return more gracefully. (From OE-Core rev: e6903e9ef856d98258d81587bf85199cb7dbdca4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/multilib: add test for libcRoss Burton2015-08-301-1/+18
| | | | | | | | | | Add a basic test to verify that /lib/libc.so.6 and /lib32/libc.so.6 have the right ELF class. (From OE-Core rev: 51e9f90b3b61e34603bc02bf4cfcbd0243686798) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oetest: Fix regresion when testing real hardwareMariano Lopez2015-08-301-5/+7
| | | | | | | | | | | | | | This fix the regresion introduced in commit 9c72c1a5aa0b49d3895bbefee7a264adfcc6f4ca when testing with real hardware. This regression happens when a test in real hardware fails. [YOCTO #8203] (From OE-Core rev: e63889cc70041ada022c2ebe789b569f9e44dbd6) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dump: allow to have datastore vars on dump commandsMariano Lopez2015-08-301-16/+26
| | | | | | | | | | | | | | | This allows to have datastore variables in the dump commands and will get the data when a new instance it's created. Also this remove special cases from the commands. [YOCTO #8118] (From OE-Core rev: 384927eb8d52bc5f14c63c8421aa62ee859587f0) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dump: Created new classes for dump host and targetMariano Lopez2015-08-303-49/+86
| | | | | | | | | | | | | | | | | | | | | | | | It makes sense to separate the dump commands from the oeRuntimeTest class, this way it can be used in all the test context. These are the changes included in this patch: - Created classes: BaseDumper, HostDumper, TargetDumper - Create an instance of HostDumper in imagetest.bbclass and add it to TestContext class, this way any class that have access to the TestContext would be able to dump logs from the host - Create an instance of TargetDumper in QemuTarget class after get the runner, this way it is accessible during the tests. [YOCTO #8118] (From OE-Core rev: ad10af6be343b5425fde43055263b0744c161cb3) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: Run commands in target and host when test failsMariano Lopez2015-08-302-15/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch modify three files altought two of them are minimal modifications. This version includes the changes proposed by Paul. testimage.bbclass: Create new vars for easy modification of the dump directory and commands to be run on host and target when a test fails TESTIMAGE_DUMP_DIR: Directory to save the dumps testimage_dump_target: Commands to run on target testimage_dump_host: Commands to run on host oetest.py: - Allow to use the vars defined in testimage class - Now able to run commands in the host and dump the results - Fix an issue with the condition where to run the dump commands (Before it run the commands every test after a failure, now it runs the commands only in tests that failed) - Fix the output to stdout [YOCTO #8118] (From OE-Core rev: 26fe645457633f90bb5ddbb12f5f7b9ca4a06cc5) (From OE-Core rev: 7b4fbbf979ed22434b8e3f83ae145139bb0d9fc7) 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: Optimise sstate testsRichard Purdie2015-08-301-5/+4
| | | | | | | | | | | | | | We can use "none" here instead of printdiff for some small performance gains. This also means we can remove the ignore exit code hack which leads to safer code. Also drop an unused variable. (From OE-Core rev: e2b8d6fa45b1ae530be2ffabf48ea61d4c467066) (From OE-Core rev: dd08ea759294415e7357bd1fb8fcd6d976e4f016) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/multilib: fix and improve multilib testRoss Burton2015-08-291-3/+16
| | | | | | | | | | | | Replace the previous shell magic with a Python function to parse the readelf output, and fix the package names to include the lib32- prefix. [ YOCTO #8219 ] (From OE-Core rev: c51d24710b48eb3930edb8c661100705c6203e78) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Don't loop on EWOULDBLOCK in logging thread.Randy Witt2015-08-291-14/+14
| | | | | | | | | | | EAGAIN/EWOULDBLOCK can be followed by no data. So don't tight loop waiting for data. (From OE-Core rev: 3aad1f489f38e999914ee6ccbf87367b9a75ee5e) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runtime/syslog.py: fix syslog test crashCostin Constantin2015-08-291-1/+1
| | | | | | | | | | | | This patch fixes the ability to correctly identify syslog's package name for the built image. It is derived from modifying oeqa/oetest.py for [YOCTO #8170] (From OE-Core rev: 74d02c942414a193a01367c0a32bf91a3329a8d4) Signed-off-by: Costin Constantin <costin.c.constantin@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/oetest.py: add better package search for hasPackage()Costin Constantin2015-08-261-3/+3
| | | | | | | | | | | | | Modified hasPackage() to split the content of pacakage manifest file in containing lines and search at the begining of each line the existance of the needed pkg. [YOCTO #8170] (From OE-Core rev: f07045fcae859c902434062d1725f1348f42d1dd) Signed-off-by: Costin Constantin <costin.c.constantin@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: In the logging thread retry on EAGAIN, EWOULDBLOCKRandy Witt2015-08-261-4/+25
| | | | | | | | | | | On a nonblocking socket an exception can be generated for the EAGAIN and EWOULDBLOCK errnos. Since these aren't actually errors make sure to retry rather than bailing out. (From OE-Core rev: 2f5cbfee0ab1189fbb83f0e785d79c8d123fccc2) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Shut down logging thread successfully when test failsRandy Witt2015-08-251-1/+2
| | | | | | | | | | | | | | | Before this change on a test failure an exception would be generated due to runqemu being killed before the logging thread which was on the other end of the socket. The exception was actually correct saying there was no data on a socket marked readable, but this was because the qemu process was killed before the listener thread. (From OE-Core rev: 6497fddf7f6c4a59e16dab4a9daeb3614a61a8dc) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: Add a tcpserial optionRandy Witt2015-08-241-2/+2
| | | | | | | | | | | | | | | | | | | The option was added so that the qemurunner could start a second tcp serial port without adding machine conditional logic to qemurunner. The issue that made this necessary was that when "virt" is passed to qemu-system-aarch64, the normal mechanism for specifying a tcp serial port does not work. This is because the hardware for the "virt" machine is hardcoded in the device tree blob and the addition devices must be virtio devices. So runqemu can specify virtio for qemuarm64 whereas it seems all other qemu machines work with the "-serial tcp*" option. (From OE-Core rev: 849d65d55e4df5fa443b2cb7b4cee23913fc9d5a) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Use two serial ports and log console with a threadRandy Witt2015-08-241-2/+126
| | | | | | | | | | | | | | | | | | | | | | | | | qemu can freeze and stop responding if the socket buffer connected to a tcp serial connection fills up. This happens of course when the reader of the serial data doesn't actually read it. This happened in the qemurunner code, because after checking for the "login:" sentinel, data was never again read from the serial connection. This patch solves the potential freeze by adding a thread to continuously read the data from the console and log it. So it also will give a full log of the console, rather than just up to the login prompt. To simplify this patch, another serial port was also added to use for the sole purpose of watching for the sentinel as well as being the interactive serial port. This will also prevent the possibility of lots of debug data on the console preventing the sentinel value from being seen due to interleaved text. (From OE-Core rev: 2da3fee6b6d9f4dd4c4cb529f4ba393c20aa0f13) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Make create_socket() return data and use exceptionsRandy Witt2015-08-241-14/+15
| | | | | | | | | | | | | | | So that create_socket() can be called more than once to create sockets, it now returns the socket and port rather than setting class variables directly. create_socket() now only uses exceptions for errors, not the return value from the function. (From OE-Core rev: b46d83a848cf23c7f639a6ebafbd0f2c1413584a) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner.py: Move some class variables that should only be localRandy Witt2015-08-241-10/+9
| | | | | | | | | | | | | | The bootlog and qemusock variables were set in the class as part of the create_socket() routine. However those variables are never used outside of the same function and thus serve no purpose as class variables. This initializes those variables near where they are used. (From OE-Core rev: 829a6e521f15bae93d5f1a02dc67bc56a8c606c8) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: replace assertTrue(False, ...) with fail(...)Paul Eggleton2015-08-242-3/+3
| | | | | | | | | | | | I'd somehow missed the existence of fail() when I wrote these. It's preferable here so you don't get the somewhat useless "false is not true" message in the case of failure. (From OE-Core rev: 173a5896fff57136e1f15e15f90961416aadde94) 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>
* wic: Test creation of iso imageMihaly Varga2015-08-241-0/+8
| | | | | | | | | | | Added new wic testcase, for testing the creation of the hybrid iso image with isoimage-isohybrid plugin. (From OE-Core rev: de3de340ba9c86c297bcb9fc1b1022dd05a195e7) Signed-off-by: Mihaly Varga <mihaly.varga@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/targetbuild: Remove bashismRichard Purdie2015-08-191-2/+2
| | | | | | | | | | Use '.' instead of 'source' so this works with dash as /bin/sh. (From OE-Core rev: 4114c904f173721c682f9ed1a593c77307ef9d35) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: fix handling of BBCLASSEXTENDed recipesPaul Eggleton2015-08-191-0/+30
| | | | | | | | | | | | | | | | | If a recipe is BBCLASSEXTENDed (e.g. to -native), its PN value and the name of the bbappend will be different; we were assuming them to be the same when reading in the workspace, leading to us seeing the base recipe name everywhere afterwards. Also add a test so we ensure this doesn't regress in future. Fixes [YOCTO #8157]. (From OE-Core rev: b63fca00c2e24ad0c8b8b3c492d93ee4372fa92d) 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>
* oetest.py: Don't wait to write dump filesMariano Lopez2015-08-161-17/+15
| | | | | | | | | | | | | | This allows to write the dump files immediately after get the data from the target. Before this, it would run all the commands and write the files. The old behavior could cause no log written at all if the serial console gets stuck. (From OE-Core rev: 73c98d38e94d3b1407620c134f3b00dcd9d6132c) 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>