summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/targetcontrol.py
Commit message (Collapse)AuthorAgeFilesLines
* oeqa/targetcontrol.py: Separate the matching of supported image fstypes from ↵Corneliu Stoicescu2014-06-241-2/+9
| | | | | | | | | | | | | | the resulting value check. Because we used a bb.fatal call inside the get_image_fstype classmethod, this caused problems when accessed without instantiating the object with a valid bb environment. Separating the matching part of the classmethod(that is usable by outside scripts) from the check of the resulting value. The matching is done within a new classmethod and the latter keeps the old method name and internal functionality, this way we don't have to change any other target controllers code. (From OE-Core rev: 50ddd5d0149666ad60133d8eb6cc789c5b97e5e4) Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* targetcontrol.py: Add a classmethod to get extra files needed by the target ↵Corneliu Stoicescu2014-06-131-0/+4
| | | | | | | | | | | | | | controllers YB: #6254 Add a new classmethod that can be used by outside scripts to get the extra files needed by the target controllers. An outside script can predict rootfs, manifest and kernel files needed by a target controller, but sometimes there are other files needed. (From OE-Core rev: fea627022473cfb73299d0988628962ad8e80f89) Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* targetcontrol.py: make possible dynamical determination of rootfs typeCorneliu Stoicescu2014-06-131-2/+17
| | | | | | | | | | | | | | YB: #6375 Added a new method get_image_fstype() that autodetermines what fstype to use for the rootfs file. This method uses a new list variable 'supported_image_fstypes' that contains image fstypes supported by the target controller. This method is also a classmethod which means outside scripts can get the image fstype. (From OE-Core rev: 39d5aa5c9f2916700f81d15adc220a30c6b120d1) Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/testimage: if start fails, don't try to stopPaul Eggleton2014-04-301-0/+1
| | | | | | | | | | | | 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.) (From OE-Core rev: 819ebddae6b78120e5e082423793ff988419b5c4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/targetcontrol: restart method shouldn't be abstractStefan Stanacar2014-04-301-5/+2
| | | | | | | | | | And drop the un-needed and un-used restart methods. Only qemu ever used this and actually does it safely. (From OE-Core rev: 1dd1edb5ea551c8a01538b130aa4d0c361eae14d) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/targetcontrol: fix loading a controller using a class nameStefan Stanacar2014-03-111-1/+2
| | | | | | | | | | | | This was wrong and if one would do TEST_TARGET = "SimpleRemoteTarget" instead of TEST_TARGET = "simpleremote" it would complain that there is no such controller when there is. (From OE-Core rev: 47d2049d13ab71e0310e9eedaf307d6c3e530b44) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/targetcontrol: allow a custom port for SimpleRemoteTargetStefan Stanacar2014-03-111-2/+7
| | | | | | | | | | | We had the ability to use a custom port for the ssh connection, but we weren't using it. (From OE-Core rev: c1f2a3c41969df0b7f08cf314b2cb7c9a6030092) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/targetcontrol: make BaseTarget an abstract classStefan Stanacar2014-02-281-0/+16
| | | | | | | | | | | This should make it clear what methods a subclass needs to redefine. (From OE-Core rev: a4e4de4189cec3076a863c32c98e02766187ab48) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/targetcontrol: properly get the host ipStefan Stanacar2014-02-251-1/+1
| | | | | | | | | | | | For the SimpleRemote target where we need the host ip and it wasn't set in conf, we tried to determine it automatically. However ip route output isn't the same for every network, we need the last field from the first line. (From OE-Core rev: 19af3ac53690b1bd2fee54827090f59c525d2236) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa: allow multiple layers to provide their own TEST_TARGET classSipke Vriend2014-02-021-6/+7
| | | | | | | | | | | | | | | | | | | | | Use a python module "folder" rather than a single module within layers to ensure multiple layers can define a TEST_TARGET class. Current implementation using controllers.py module will only allow a single layer to define test targets. Add a controllers folder as well as a TestTargetLoader class whose job is to load the given TEST_TARGET class from any number of python modules within the oeqa/controllers/ directory of any layer. The only condition will be that layers will need to ensure the TEST_TARGET class name they provide is unique otherwise there is no guarantee which class is instantiated. a bb.warn is used to alude to this if it happens. (From OE-Core rev: 3f25705f4a986e06cbd397aaea52b841c1a1e054) Signed-off-by: Sipke Vriend <sipke.vriend@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa: allow a layer to provide it's own TEST_TARGET classStefan Stanacar2014-01-191-4/+19
| | | | | | | | | | | | Allows a layer to define new classes in <layer>/lib/oeqa/utils/controllers.py and completely control or extend deployment of a target. (core currently has QemuTarget and SimpleRemoteTarget). The value of TEST_TARGET must be the name of the new class. (From OE-Core rev: 9b81aff0aca42353d448b1e9522f89842e23c7b2) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa: targetcontrol.py: add abstraction for running tests on different ↵Stefan Stanacar2013-12-031-0/+137
targets Add a new module which abstracts the target object used by testimage.bbclass The purpose of this module is to move the deployment of a target from testimage.bbclass, basically abstracting different implementations of how we setup a target and how it runs commands. It allows to select one implementation or another by setting TEST_TARGET (currently to: "qemu" and "simpleremote"). QemuTarget is used to start a qemu instance (as it's currently done in testimage.bbclass) SimpleRemoteTarget is meant for a remote machine (by setting TEST_TARGET_IP) that's already up and running with network and ssh. Simply put, it opens the door for running the tests on different types of targets by adding new classes (maybe qemu-nfsroot or remote-special etc.). One could also override BaseTarget which currently uses the existing SSHControl module and add a serial implementation. [ YOCTO #5554 ] (From OE-Core rev: c1bfd4017f6f6502a68ceb3edf7d2027d02a309d) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>