summaryrefslogtreecommitdiff
path: root/meta/classes/testimage.bbclass
AgeCommit message (Collapse)AuthorFiles
2016-12-16meta: remove True option to getVar callsJoshua Lock1
getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-10-09testimage: disable build tests for qemumips and qemumips64Joshua Lock1
It's not uncommon for qemumips[64] builds on the Yocto Project autobuilder to fail during Sanity Tests after a very long timeout period. This is due to the MIPS emulation in QEMU being slow and some of the build tests taking a very long time on MIPS machines. This patch works around this slowness by disabling the more complex build tests for QEMU MIPS machines. [YOCTO #10340] Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-03testimage.bbclass: Use bb.fatal() instead of raising FuncFailedUlf Magnusson1
This sets a good example and avoids unnecessarily contributing to perceived complexity and cargo culting. Motivating quote below: < kergoth> the *original* intent was for the function/task to error via whatever appropriate means, bb.fatal, whatever, and funcfailed was what you'd catch if you were calling exec_func/exec_task. that is, it's what those functions raise, not what metadata functions should be raising < kergoth> it didn't end up being used that way < kergoth> but there's really never a reason to raise it yourself FuncFailed.__init__ takes a 'name' argument rather than a 'msg' argument, which also shows that the original purpose got lost. Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-23testimage.bbclass: Add package manager dependencyMariano Lopez1
The feature to install packages in the target requires to build the package manager. It would fail, with very obtuse errors, if a test requires to install something and the package manager hasn't been build. This will add the package manager as dependency for testimage. [YOCTO #10260] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-13testimage: add createrepo-native to testimage dependsbavery1
The smart tests need createrepo to be in the native sysroot. It needs to be one of the depends for testimage. Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-01classes/testimage: When image is systemd, enable debug log levelAníbal Limón1
In order to get more information about systemd boot process to be able to debug random failures due to high I/O. [YOCTO #9299] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-20testimage.bbclass: INHERIT -> IMAGE_CLASSESRobert Yang1
Use IMAGE_CLASSES which is only seen by image recipe. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-20testimage: swap sudoku for galculatorRoss Burton1
Also delete the removal of suduko for qemumips, as galculator builds fine on that hardware now. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-06testimage.bbclass: Make dependency of cpio when using RPMsMariano Lopez1
Exctraction of RPMs needs cpio, not all distros include cpio by default, so we need to build it. [YOCTO #8694] (From OE-Core rev: 95cd427b3887b087533fba11c67ef9bc173f9aa5) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-06oetest.py: Add install/uninstall functionality for DUTsMariano Lopez1
Add the functionality to install/unistall packages in the DUTs without the use of the package manager. This is possible with the extraction introduced in package manager class. testimage and testexport bbclasses has been modified in order to support this new feature. [YOCTO #8694] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-18testimage.bbclass: Remove exported testMariano Lopez1
Exported tests now have their own class, so the code in testimage is not needed anymore. Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28testimage.bbclass: reuse generic test suitesAlex Franco1
Modify existing default test suites to reuse the new generic test suites. Related to [YOCTO #8410] Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28testimage.bbclass: add generic, image test suitesAlex Franco1
Add generic test suites MINTESTSUITE, NETTESTSUITE, DEVTESTSUITE to group common test suites. Add DEFAULT_TEST_SUITES_pn- variables for: * core-image-minimal-dev * core-image-full-cmdline * core-image-x11 * core-image-lsb * core-image-lsb-dev New default test suites use generic test suites. Existing default test suites not modified. [YOCTO #8410] Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10classes/testimage: Fix exportTests function.Aníbal Limón1
With new structure of TestContext now holds suite and variable that contains unittest instances, it can't be exported using JSON causing and exception. Adds the suite variable for avoid export it. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10oetest.py/TestContext: Move loadTests and runTests inside it.Aníbal Limón1
Method's for loadTests and runTests make sense to define inside TestContext because it can be different around Image, SDK, SDKExt. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10testimage/testsdk: Move get test suites routine inside TestContext.Aníbal Limón1
In order to provide better abstraction move functions to get the test suite inside the TestContext. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10testimage/testsdk: Modularize TestContext.Aníbal Limón1
Move anonymous duplicated class TestContext from testimage/testsdk to oeqa/oetest now we have two new classes ImageTestContext and SDKTestContext with common code in TestContext class. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10classes/testimage: Add defeault inherit for testsdk.Aníbal Limón1
For compatibility adds default inherit of the new class testsdk for now, we need to review the code base. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10classes/testsdk: Add new class testsdk.Aníbal Limón1
Moves all the testsdk code from testimage in order to have it's own class because new tests will be added for extensible SDK. The old paths for store logs "${WORKDIR}/testimage" and sdk "${WORKDIR}/testimage-sdk" was maintained for compatibility may be change to point testsdk after review the codebase. The dependency of QEMU was removed because isn't needed. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-10testimage: Modularize helper functions for get test lists.Aníbal Limón1
Test lists functions can be used in other parts so modularize it and move to oeqa/oetest.py library. Testimage class was updated to meet the new sign of the functions. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-04classes/lib: Add expand parameter to getVarFlagRichard Purdie1
This sets the scene for removing the default False for expansion from getVarFlag. This would later allow True to become the default. On the most part this is an automatic translation with: sed -e 's:\(\.getVarFlag([^,()]*, [^,()]*\)):\1, True):g' -i `grep -ril getVar *` In this case, the default was False, but True was used since in most cases here expansion would be expected. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07testimage: remove VNC test, x11vnc isn't in oe-core anymoreRoss Burton1
Now that x11vnc won't be in Sato images we don't want to test it. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-16oeqa/testimage: Add support for test folder export.Lucian Musat1
If tests are organized in folders then it will copy the whole folder to the export location. This should keep the original directory structure for exported oeqa/runtime. Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-16oeqa/runtime: remove dmesg testRoss Burton1
This has been obsoleted by parselogs. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-01testimage: Added IO commands to dumpsMariano Lopez1
This change just add two more commands to the host dumps to get more information related to the IO. [YOCTO #8412] 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>
2015-09-29oeqa/testimage: Add ability to run single test from suite.Lucian Musat1
Just like we have in oe-selftest, you can add <filename>.<Class>.<testname> in TEST_SUITES in order to run just that test Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-28oeqa/testimage: Remove absolute path to oeqa from jsonLucian Musat1
In the json file the whole datastore is serialized which contains absolute path to the oeqa folder. This breaks the functionality when trying to run the tests from other machines. Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-21testimage.bbclass: Fix break introduced with SIGTERM handlingMariano Lopez1
The SIGTERM introduced another break into runexported test, the handler is in the class TestContext while exporting it will try to convert the singnal handler to JSON, and this will throw an exception. The SIGTERM handler is not needed in the exported test, so this change will remove the handler before exporting the test. Also when a test is exported the target is not deployed/started anymore, it is not necessary. [YOCTO #8239] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-21testimage.bbclass: Don't require an image manifestRandy Witt1
Sometimes an "image" may not actually have a manifest file such as when using a "baremetal kernel". This change allows for a user to set a IMAGE_NO_MANIFEST flag to 1 in order to inform the code that there is no corresponding manifest that should exist for an image. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-12testimage: Handle core-image-lsb-sdk qemumips test restrictionRichard Purdie1
On qemumips, some tests are slow to the point of the autobuilder appearing hung. We therefore specifically exclude buildsudoku but to do this, we need to list the tests we expect to work on core-image-lsb-sdk. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-12testimage: Fix SDK extraction error handlingRichard Purdie1
Currently if the SDK fails to extract, no error is shown and the test is marked as passed! Clearly this is incorrect, fix it to correctly raise an error. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-07testimage: handle SIGTERM to conclude runqemuMariano Lopez1
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] 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>
2015-09-03testimage: filter proper test cases by tagszjh1
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] Signed-off-by: zjh <junhuix.zhang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01runexported: Make it compatible with host dumpMariano Lopez1
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] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-30dump: allow to have datastore vars on dump commandsMariano Lopez1
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] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2015-08-30dump: Created new classes for dump host and targetMariano Lopez1
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] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2015-08-30testimage: Run commands in target and host when test failsMariano Lopez1
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) 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>
2015-07-31testimage: testsdk fixes/improvementsRichard Purdie1
The "bitbake meta-toolchain" comment is dated and incorrect, fix to point at -c populate_sdk. If a toolchain contains multiple environment files, iterate them and run the sdk test suite on each on in turn rather than giving a fatal error and giving up. Also improve the debug output so that rather than PN, it also show the toolchain tarball under test, and the environment file name its using. Also enable the accidentally disabled cleanup code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-09testimage: Add support for test suites manifest fileszjh1
Allow the list of TEST_SUITES to be read from a list of manifest files in the TEST_SUITES_MANIFEST variable. [YOCTO #7848] Signed-off-by: zjh <junhuix.zhang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-09testimage: Support full TC path such oeqa.runtime.pnp.get_memory_size in ↵zjh1
TEST_SUITES If a TC name start with "oeqa", it is thought as a full TC path. if not, follow original logic (assume under oeqa.runtime) For example: TEST_SUITES = "oeqa.runtime.pnp.get_memory_size oeqa.runtime.sanity.reboot" will run these two case when bitbake -c testimage [YOCTO #7834] Signed-off-by: zjh <junhuix.zhang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-27testimage: Don't test xorg/vnc on qemuarm64Richard Purdie1
The qemuarm64 machine doesn't have graphics so don't test xorg/vnc as they won't work. [YOCTO #7103] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-26testimage: Handle ipk/deb packaging format tests correctlyRichard Purdie1
The default test list only works for rpm packaging. This fixes it for deb and ipk too. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-04-29testimage: Improve sdk handling of TEST_SUITESRichard Purdie1
Currently TEST_SUITES is used for both target image and sdk versions which can be confusing. This introduces TEST_SUITES_SDK for the sdk version of the code so that the different test sets can be specified independently. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-29testimage: Fix sdk test manifest handlingRichard Purdie1
Fix SDK_MANIFEST -> SDK_TARGET_MANIFEST and add support for host version too which is useful in SDK QA tests. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-09testimage: sort modules based on dependenciesPatrick Ohly1
TEST_SUITES="auto" is useful to run all suitable tests without having to hard-code the list. However, it did not take test dependencies into account, which can be an issue for tests which really depend on some other test to run first. To fix this, modules get loaded in the order determined by TESTS_SUITES, but then get re-ordered based on dependencies derived from @skipUnlessPassed before running them. The original order is used to break ties when there are no dependencies, so reordering only occurs when really necessary. @skipUnlessPassed gets extended such that it makes the test name a method depends on available for inspection by the test loader in oetest.py. Unfortunately Python's unittest offers no API to inspect tests in a TestSuite, so the code has to rely on implementation details to find all tests. The worst that can happen when the implementation changes is that tests are not found and reordering does not happen. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-29testimage: Add parselogs to the default tests for sato imagesRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-27classes/testimage.bbclass: add more fields to the sdk TestContextCorneliu Stoicescu1
In order to use hasFeature and hasPackage methods in sdk test modules, we need specific fields to be set in the TestContext object. Adding pkgmanifest, imagefeatures and distrofeatures to the TestContext. Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-18meta/classes/testimage.bbclass: add testsdk task and enable functionality ↵Corneliu Stoicescu1
for it. - add new testsdk task for meta-toolchain testing. - enable the get_tests_list method to work with sdk tests. - add default TEST_SUITES value for meta-toolchain package NOTE: Original patch made by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-30classes/testimage: if start fails, don't try to stopPaul Eggleton1
If we couldn't start the target, it doesn't make sense to try and stop it here since logically it shouldn't now be in any kind of "started" state. (It's the start function's job to clean up after itself if it fails - to that end, fix up the QemuTarget class so that it does.) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-05testimage: add task level lockStefan Stanacar1
For machines other than qemu it will not be okay to run multiple testimage tasks in parallel. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>