summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa
Commit message (Collapse)AuthorAgeFilesLines
* oeqa/selftest/sstatetests: Add test that MACHINE doesn't change target sigsRichard Purdie2015-10-011-1/+46
| | | | | | | | | | When we change between two machines with the same tune, we shouldn't see rebuilds of binaries. This adds a test for this using the qemux86copy machine. We also extend the test to cover multilibs. (From OE-Core rev: df49d7a0f80673e73f753e8650cd88a086e77245) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/sstatetests: Add check for same sigs for SDKMACHINERichard Purdie2015-10-011-1/+11
| | | | | | | | | | | | Extend one of the sstate tests to also ensure that changing SDKMACHINE doesn't change the target task checksums. Also fix a typo and improve debugging by turning the diff filtering off in all cases (if the test fails, we want to full list). (From OE-Core rev: 24bb41f273148db023721804b98676a92f9a5f9c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/decorators: Append the testname without the full pathLeonardo Sandoval2015-10-011-0/+4
| | | | | | | | | | | | | | | | | | | | | When getting the failures/errors/skipped lists, include the unit test without the full path. This issue was found on this scenario | test_1_logrotate_setup (oeqa.runtime.logrotate.LogrotateTest) ... FAIL | test_2_logrotate (oeqa.runtime.logrotate.LogrotateTest) ... ok Where test_1_logrotate failed and test_2_logrotate should not have run because @skipUnlessPassed("test_1_logrotate_setup") def test_2_logrotate(self): (From OE-Core rev: 8715beff7b910209627da3726b18b7abf801b557) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oetest: Change logic of a failed testMariano Lopez2015-10-011-13/+13
| | | | | | | | | | | | | | | | | | | | | Currently the logic to check if a test failed was to check for an exception in the thread, but some decorators used in the syslog runtime test would generate and handle exceptions; this will mess with the current check logic and will dump the host and the target as if the test failed. This patch changes the check logic to verify if the test that just happend is in the failure test list and dump the host and target accordingly. [YOCTO #8406] (From OE-Core rev: 8b97d9320b989023c62db8246f5d8d2126c3723e) 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/runexported: Fix a problem with ssh_target_log existing in folder.Lucian Musat2015-10-011-2/+2
| | | | | | | | | | | When copying the exported tests to a remote machine ssh_target_log can be transformed from softlink to file which will throw an error when trying to run again. (From OE-Core rev: 2bc7732c27e192821b9ebb76e1dfba739cf5b088) Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Sanitize output from qemu and qemu pidMariano Lopez2015-10-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Currently the output from qemu could contain control or Unicode characters; having such characters in the log will cause an internal server error when sending the report to error reporting web. Control characters can be found in the command line used to run quemu too. This change sanitize the output from qemu and the command line used to run qemu, this way the logs doesn't contain control or Unicode characters and this will solve the issue of error reporting web and generate better logs. The only Unicode character found in the qemu output is the copyright symbol, it really doesn't interfer removing Unicode characters with debugging. [YOCTO #8225] (From OE-Core rev: 9f25f723828d6709aad581267ccc63d2ade1ff5c) 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 decorator logs link.Lucian Musat2015-10-011-7/+5
| | | | | | | | | | | | When not doing actual tests with testimage, like for example exporting tests, the link to the log file was still created although the actual log file was not existent. Fixed it by moving the link creation part into the run() method. (From OE-Core rev: 6950a5b1220d1ff81dae15195fe0d8e06977fec8) Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/wic: Added testcase decorator to all testcases + fixed minor ↵Daniel Istrate2015-10-011-4/+29
| | | | | | | | | typos. (From OE-Core rev: 432e85d8879ed074e04306174398a53e4903f84f) Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: better support for local source filesMarkus Lehtonen2015-10-011-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * extract: Copy all local source files (i.e. non-compressed/non-arcived SRC_URI files that have file:// URI prefix) - excluding patches - to the srctree repository. The files will be placed in a subdirectory called 'oe-local-files'. The oe-local-files directory is not committed to the Git repository, but, marked to be ignored by a .gitignore file. The developer can manually add and commit the files to Git if the changes to them need to be tracked. Before this patch, local source files (were copied (and committed) to the srctree repository only in some special cases (basically when S=WORKDIR) when doing devtool-extract. For most of the packages local files were not copied at all. * update-recipe: This patch causes the local files to be 'synced' from the srctree (i.e. from the 'oe-local-files' subdirectory) to the layer. Being 'synced' means that in addition to copying modified files over the original sources, devtool will also handle removing and adding local source files and updating the recipe accordingly. We don't want to create patches against the local source files but rather update them directly. Thus, 'oe-local-file' directory is ignored in patch generation when doing update-recipe, even if committed to Git. This functionality is only enabled if the 'oe-local-files' directory is present in srctree. [YOCTO #7602] (From OE-Core rev: a3bb5bd25b72bd1bcc156dabd0ffa2d9184bb160) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: devtool: add method for checking repo statusMarkus Lehtonen2015-10-011-52/+34
| | | | | | | | | New method for checking the status of the working tree of a repository. (From OE-Core rev: 4e5eea06a77eca7311209b0b650e79e816713ab9) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: devtool: add method for checking srctree repoMarkus Lehtonen2015-10-011-31/+18
| | | | | | | | | Removes some code duplication. (From OE-Core rev: 5bd2ca137a496e34bb62cfafd406db8ae78635d6) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: devtool: add setup() methodMarkus Lehtonen2015-10-011-79/+45
| | | | | | | | | | In order to remove some code duplication. The method currently only does checking of workspace dir. (From OE-Core rev: 5d7cd3dc9e497bb3c2aba4cf2af3e3ee84dd7a2f) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk/gcc: Fix makefile testRichard Purdie2015-09-282-3/+8
| | | | | | | | | The makefile test was hardcoding a test for gcc. In the SDK context, we need to use $(CC) to use the cross compiler. (From OE-Core rev: d28ddc23bbf232901ae07f7a01f821ecc4b79e32) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/parselogs: Updated log parser whitelist.Lucian Musat2015-09-281-6/+4
| | | | | | | | | | | Added some fixes for meta-intel boards and moved some errors from specific images to common. (From OE-Core rev: ccbb12f9ec7c0a5714a8b1a24efb46755408c256) 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/decorators: Add timestamp to decorator logs.Lucian Musat2015-09-281-2/+15
| | | | | | | | | | | | To avoid logs being overwriten when running the automated tests multiple times, log files include timestamps in their names and a link is created to point to the latest one. (From OE-Core rev: 0aa6af4aec6f9773ec2aea929deb3a1ed049cbb9) 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>
* qemurunner: Handle qemu start failure correctlyRichard Purdie2015-09-281-2/+2
| | | | | | | | | | If qemu didn't start correctly, we may not have registered the child signal. This results in a nasty traceback which confuses the underlying issue. Cleanup this code and make the handler cleanup conditional. (From OE-Core rev: 0ead936925c61aaaa7a819f6c5b999ba3a4daeda) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/oetest: Fix SDK command executionRichard Purdie2015-09-281-1/+1
| | | | | | | | | | | | The SDK environment wasn't being sourced when running these test commands, meaning in some cases the cross compiler was being tested, not the SDK tools. This is clearly not the intent so fix this by ensuring the SDK environment is present. This fixes test failures in multilib SDKs. (From OE-Core rev: 39c56f7c280cfe6bf40ea9145f3f7060b565bc62) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/archiver: Test that archiver filters on recipe nameDaniel Istrate2015-09-241-0/+50
| | | | | | | | | [YOCTO #6929] this test validates the feature introduced in bug 6929 (From OE-Core rev: 2642fb1e00878baa8eaec80015ff3678cb3088f8) Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/dump: Add default commands and directoryMariano Lopez2015-09-241-2/+11
| | | | | | | | | | | | | | | | | | | | Currently if qemu fails when running a selftest and tries to run some commands on the host it will fail because some variables required by the Dumper class do not exist because testimage was not included. This change adds a default parent directory to save the dumps for the host or target. Also adds default commands to run if no commands were provided to the class. With these changes the previous errors using selftest don't show anymore. [YOCTO #8306] (From OE-Core rev: 713beaf84f8b8ab415b7a8ccba8a4a2aff7f98e5) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runexported: Removed DEPLOY_DIR as mandatory.Lucian Musat2015-09-241-1/+1
| | | | | | | | | | We don't need DEPLOY_DIR for every runtime test so there is no need for it to be mandatory. (From OE-Core rev: 9f89e8e0bf2ba65f2cff5adb3050d6a701dc486a) Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/oetest: Remove bb as requirement for oetest.Lucian Musat2015-09-241-8/+21
| | | | | | | | | | | In order for the test export runner to work oetest needs to be separated from bitbake environment. There is no need to use bb import here so we can use a logger instead. (From OE-Core rev: 22bd8a600823306d7c5965a9a69b8e8888993513) Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/parselogs.py: Fix dmesg log retrieve in satoAníbal Limón2015-09-241-2/+1
| | | | | | | | | | | | Sato uses busybox that fails to write log using echo "" because dmesg output can contain special characters. [YOCTO #8377] (From OE-Core rev: 89107d0e01235b8cff70c0325723d2a99d2c336c) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/qemurunner.py: Remove duplicate message on LoggingThread startAníbal Limón2015-09-231-1/+0
| | | | | | | | | | The Starting logging thread message is also executed on run() inside LoggingThread class. (From OE-Core rev: 2ad7308ee7166641eff99f3b9fe6794de143f6bc) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/qemurunner.py: Fix HIGH CPU usage on LoggingThreadAníbal Limón2015-09-231-3/+3
| | | | | | | | | | | | | | LoggingThread is used for receive console output from QEMU over TCP, so add filter to only wake poll on read events, also change the event mask variable name to be more descriptive. This fixes HIGH CPU consume caused by wake on ready to write events. (From OE-Core rev: 7b6c9b6327638c9731cea80a52d30d4a8fb6e081) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: build-image: delete bbappend at end of buildPaul Eggleton2015-09-231-7/+15
| | | | | | | | | | | | | | | Upon further reflection, it seems to me that this bbappend ought to just be deleted at the end of the build. This keeps things simple; you never have to remember to delete any files to get back to where you were before with the image. This means we can also drop the slightly awkward message reminding the user how to do that. I've also updated the test to look at the image manifest to determine if the command has worked instead of looking for the (now deleted) bbappend. (From OE-Core rev: f6b90bceaedf9bad3d111e6ca1fa79e59f472c73) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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>