Commit graph

153 commits

Author SHA1 Message Date
Lucian Musat
984f03457a oeqa/runtime: Added skipModule import for test modules that use it.
The modules that use skipModule should import it themselves and not rely on somebody else to import it.

(From OE-Core rev: 6a14db407d471e717f41342ac0700e6a383c32c3)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 15:34:00 +01:00
Lucian Musat
0c4dd0ad16 oeqa: Refactor test skipping decorators to use the unittest result object
In order to make the test skipping decorators independent of the oeTest object we rely on the unittest result object to construct skip, fail and error lists used by these decorators.
Created a new object getResults that analyses upper frames and retrieves the unittest result object instance, then return a list of failed, skipped and error tests.
Also removed the oetest import from decorators.py because it was no longer required.

(From OE-Core rev: 4d2d201158236bd4c72546cf8db88681ff921b11)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 15:34:00 +01:00
Lucian Musat
929e48e0af oeqs/selftest: Added test case decorators for toaster
(From OE-Core rev: 87ded649257e963e45d629679d44376d9a993ecd)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-17 12:37:00 +01:00
Chen Qi
14735be703 oeqa: fix return status in pam.py to match shadow-4.2.1
The return statuses of commands like `su --help' or `passwd --help'
in shadow 4.2.1 version are different from those in shadow 4.1.4.3
version.

Now that we've upgraded shadow to 4.2.1, we need to fix these statuses
in the pam.py to make things work as expected.

(From OE-Core rev: 6bc53438735690866358194dd9e88fa1d7435e2c)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-17 12:36:19 +01:00
Lucian Musat
d8364371b2 oeqs/selftest: Added test case decorators for the rest of selftest testcases except toaster
(From OE-Core rev: 3c820db4624a062644a26de1866123a10a78a006)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-10 17:38:35 +01:00
Lucian Musat
ae03111791 Added testcase decorator to use in logging. Added class decorator LogResults that outputs test results in separate log file.
(From OE-Core rev: 7e2b73f1ccfe2968ef780fef2edfaa31c3dae853)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-03 17:41:17 +01:00
Ionut Chisanovici
9e1c86921c oeqa/selftest/_toaster.py: fix 'IndentationError' issues
There were some indentation errors when the _toaster.py was merged into master.
This patch fix those errors.

(From OE-Core rev: 173194493294574e49874858ee7003000f41b4d6)

Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-30 10:32:51 +01:00
Ionut Chisanovici
676c1f5c67 oeqa/selftest/toaster.py: renamed to _toaster.py
In order not to run the toaster selftests by default, we renamed to _toaster.py

(From OE-Core rev: 8da2ebba10e0128938919b39c29be40b7c1d80aa)

Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-30 10:32:51 +01:00
Corneliu Stoicescu
7b453165ab oeqa/targetcontrol.py: Separate the matching of supported image fstypes from 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>
2014-06-24 19:54:10 +01:00
Corneliu Stoicescu
5456f0e58e controllers/masterimage.py: Make testimage kernel naming pattern universal
YB: #6254

The QemuTargetControl class does not specify any kernel naming but the runqemu script it uses uses the " KERNEL_IMAGETYPE + MACHINE + '.bin' " naming scheme.
Modifying the other major target controller class, MasterImageHardwareTarget, to use the same kernel naming scheme.

This is usefull also to outside scripts that want to anticipate the kernel file name for all target controllers.

(From OE-Core rev: e8666e91a9633da6a560d5a9510bb53d0251b16d)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 12:52:21 +01:00
Corneliu Stoicescu
4bc02066c0 oeqa/controllers/testtargetloader.py: add 'import os'
YB: #6254

This module uses os but relies on other modules to import it. Adding 'import os' in order to be self-sustained.

(From OE-Core rev: 26e4d5212ec5b2bcfdb0f42bbed31f468a17aca4)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 12:52:21 +01:00
Corneliu Stoicescu
a5aa889d63 targetcontrol.py: Add a classmethod to get extra files needed by the target 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>
2014-06-13 12:52:21 +01:00
Corneliu Stoicescu
41d300067b masterimage.py: enable dynamical determination of rootfs type
YB: #6375

Adding support for get_image_fstype() in the MasterImageHardwareTarget and GummibootTarget classes.

(From OE-Core rev: 06ed50a2b8c311e56ac9f1c6f2145bc020d5d500)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-13 12:52:20 +01:00
Corneliu Stoicescu
af38422017 targetcontrol.py: make possible dynamical determination of rootfs type
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>
2014-06-13 12:52:20 +01:00
Corneliu Stoicescu
a934aebcb8 oeqa/utils/commands.py: add support for postconfig option
Adding support for postconfig option to the bitbake() and related methods.

This enables us to use 'bitbake -R postconfig_file <command>'.

Usage: bitbake(cmd, postconfig="some confguration")

'postconfig_file' would contain what we add in 'postconfig'

Other methods affected: get_bb_env(), get_bb_var()

(From OE-Core rev: 4fe771940a8f59a0d5f1541978d6d9ff73b222f4)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-10 17:24:17 +01:00
Lucian Musat
7279de72c6 Added new test cases for bitbake modes (-e -n -p -r -R -c -k)
(From OE-Core rev: eec4976e3b22efe73e823ad4876d78ad933113f4)

Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-06 09:26:04 +01:00
Ionut Chisanovici
6c62836d65 toaster: toaster oe-selftest support
This patch adds toaster tests using the oe-selftest infrastructure.
You need to have builds done - the tests will verify data integrity
after the toaster collection phase.

Once you have your toaster builds done, to run the automated backend
tests via oe-selftest do the followings:

1. Update builddir/conf/bblayers.conf to contain the meta-selftest
layer
2. From the builddir run:

'oe-selftest toaster'

or if you just want to run a single test:

'oe-selftest toaster.Toaster_DB_Tests.testname'

This first part adds the meta/lib/oeqa toaster file.

(From OE-Core rev: 762d425ed6f6d9046d3e3230c44b42ea6173b447)

Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-30 10:20:24 +01:00
Richard Purdie
56a39e9b67 sstatetests: Use TUNE_ARCH instead of TARGET_ARCH
The scripts extact variable values from bitbake -e. Unfortunately
TARGET_ARCH is unset from that environment so we use TUNE_ARCH instead
which will have the value we need.

(From OE-Core rev: b77494025b3d47fd5130ae6c445ac84cabb1f91e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-04 17:37:19 +01:00
Richard Purdie
5459af33b9 sstatetests: Update after binutils-cross name change with PN addition
(From OE-Core rev: c5230b459fb4ef486f657f5633b67ca925981f03)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-04 09:29:23 +01:00
Paul Eggleton
3a4bb1aa60 oeqa: add proper handling for command errors where needed
For use outside of tests themselves, we want a better error than
AssertionError, so create one and allow us to request it when calling
runCmd(). This enables us to avoid tracebacks during master image
operations if the power control command fails.

(From OE-Core rev: 89868383685091b0d3723fb8f29590f3f6610078)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-30 21:52:33 +01:00
Paul Eggleton
abdd8e708d classes/testimage: if start fails, don't try to stop
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>
2014-04-30 21:52:32 +01:00
Paul Eggleton
74f2d8b013 oeqa/controllers/masterimage: more robust master image startup
Instead of powering up the target when the object is constructed, wait
until deploy is called. Then there are basically two different
scenarios:

a) The device is booted into the master image already, in which case
   we can just use it
b) The device is booted into another image or can't be contacted, in
   which case we need to power cycle it. Here we also now wait until it
   has booted up instead of trying to contact it immediately.

(From OE-Core rev: c2257fa50071e4704a8152b5f1d16f899b4bed98)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-30 21:52:32 +01:00
Stefan Stanacar
6cd18d7f91 oeqa/controllers/masterimage: add a serial control command
Similar to power control command, this depends on a user's setup to get to
the serial port of a board. For a local connected board this could just be:

TEST_SERIALCONTROL_CMD = "picocom /dev/ttyUSB0 -b 115200"

and for a serial console server: "telnet 10.11.12.13 7003" or some conmux
command.

(From OE-Core rev: 5131094ad8f53b2052a97efd505e7a170d0c915d)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-30 21:52:32 +01:00
Stefan Stanacar
bd64b91314 oeqa/targetcontrol: restart method shouldn't be abstract
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>
2014-04-30 21:52:32 +01:00
Stefan Stanacar
cc4234eaca oeqa/controllers/masterimage: add a base class for hw targets
Right now GummibootTarget is the only hardware TEST_TARGET with deployment,
but we will add more, so let's make an abstract base class, that will
do the common thing for all the hw targets.

(From OE-Core rev: 1d70b1908e1dc5d612b0627022659639e3f384e5)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-30 21:52:32 +01:00
Stefan Stanacar
2b822a8458 oeqa/utils: sshcontrol: realtime logging of output
Log the output of the command as it runs not when it finished, else
tail -f tmp/work/minnow-poky-linux/core-image-sato/1.0-r0/testimage/ssh_target_log
isn't as useful as it could be.

(From OE-Core rev: be8f766f43d85c364b9706b464ed0a59d0fbf0b7)

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>
2014-04-29 17:20:12 +01:00
Stefan Stanacar
b093750f2d selftest: DiskMonTest: use a high value for free space
Using the free space of the host works when
oe-selftest is the only build running, but if something else
on the host remove things this will fail (as seen on AB).
Using an absurdly high value should fix this.

(From OE-Core rev: 413fc934fadbd3603b7f78dfd3cc0ac83bb0377f)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 11:43:26 +01:00
Alexandru Palalau
b1cefd936e selftest: DiskMonTest: use POSIX output for df
Without "-P" df  splits the output on multiple lines and breaks the test

(From OE-Core rev: 81a81807d34e4b2ea28d8ba9c29e5b48a14bbc1f)

Signed-off-by: Alexandru Palalau <alexandrux.palalau@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-10 17:35:16 +01:00
Corneliu Stoicescu
5d63aac6a8 selftest/sstatetests.py: Added 'populate_lic' to ignore_patterns
Because the sstate-cache-management script does not remove populate_lic
sstate files, we should ignore them when checking for removed files.

(From OE-Core rev: 5debc2af6672841c126cec5d747e2e3c6407c8be)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-04 11:53:51 +01:00
Stefan Stanacar
3972259964 lib/oeqa: add a test target controller for EFI targets
The purpose of this module is to deploy a test image on a EFI-enabled hardware
and run our runtime tests. A bit of background:
 - testimage.bbclass uses the concept of TEST_TARGET which is a class name
that is responsible for target deploying. A layer can provide
it's own TEST_TARGET. Right now has OE-core has a QemuTarget and a SimpleRemoteTarget
(ssh into an already up and running machine and run tests), the default one being qemu.
 - basically testimage does something like:
    target.deploy()
    try:
	target.start()
        runTests()
    finally:
	target.stop()

This module assumes a running EFI machine with gummiboot as bootloader and
core-image-testmaster installed (or similar). Also your hardware under test has
to be in a DHCP-enabled network that gives it the same IP for each reboot.

One time setup (master image):
 - build core-image-testmaster with EFI_PROVIDER = "gummiboot"
 - install the image on the target

Test image setup:
 - build your test image, e.g core-image-sato as you usually do, but with these in local.conf:
    IMAGE_FSTYPES += "tar.gz"
 - Now run the tests:
    INHERIT += "testimage"
    TEST_TARGET = "GummibootTarget"
    TEST_TARGET_IP = "192.168.2.3"
    bitbake core-image-sato -c testimage

Other notes:
 - TEST_POWERCONTROL_CMD (togheter with TEST_POWERCONTROL_EXTRA_ARGS) can be a command that runs on the host and does power cycling.
The test code passes one argument to that command: off, on or cycle (off then on). In my case I use something like
TEST_POWERCONTROL_CMD="powercontrol.exp test 10.11.12.1 nuc1" in local.conf.
Basically my expect script does: 'ssh test@10.11.12.1 "pyctl nuc1 <arg>" and runs a python script there that controls power for a label called nuc1'.
The reason why my expect script has to ssh into another machine is because of network topology, and that machine is the one actually connected
to the test rack and the power strip. That's why TEST_POWERCONTROL_CMD and _ARGS need to be customized for one's setup, the only requirement being
that it accepts: on/off/cycle as the last argument.
 - if no command is defined it would use classic reboot. This is fine as long as the machine
actually reboots (as in the ssh test hasn't failed), but it's useful for "simple-setup-with-one-board-on-the-desk" scenario, where
some manual interaction is okay from time to time.

[YOCTO #5614]

(From OE-Core rev: e00f888a88d0851b088c232dec66418e575a2e90)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-31 22:53:46 +01:00
Corneliu Stoicescu
604dd7374b selftest/bbtests.py: Fixed regex and added bitbake output to test_warnings_errors
The test failed when more than 1 error or 1 warning is present.
Also pasting the bitbake output when the test fails.

(From OE-Core rev: abc691026592b406e69f8bf9e4fffe2e6a17fffc)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-27 09:42:07 +00:00
Stefan Stanacar
cdf4473332 oeqa/utils/qemurunner: search for login string in the entire boot log
If some service is to spammy we might miss the login, so search
in the entire log instead of just the last few lines.
Use qemu in regex too (to avoid a login string from some service).

(From OE-Core rev: 1117d25fdfabbf1afdc7030e05efc6a32df871e3)

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>
2014-03-11 08:11:41 -07:00
Stefan Stanacar
724b83d141 oeqa/targetcontrol: fix loading a controller using a class name
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>
2014-03-11 08:11:41 -07:00
Stefan Stanacar
517bc165bb oeqa/targetcontrol: allow a custom port for SimpleRemoteTarget
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>
2014-03-11 08:11:41 -07:00
Stefan Stanacar
678cca4421 oeqa/utils/qemurunner: use the right kill call so we don't send SIGTERM to bitbake-worker
After recent bitbake-worker changes [1] this was killing the bitbake-worker,
which isn't what we want and kill(-pid) was the wrong call anyway.

runqemu.pid is the right PGID as the process was started with preexec_fn=setpgrp
(so no need to do os.getpgid(self.runqemu.pid))

[1] http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=15688798520896690561824b2fdc227c8a365c82

(From OE-Core rev: f4bf21b40ec6fa07c4a7bb450e3cfae12128dc2c)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-11 08:11:40 -07:00
Corneliu Stoicescu
d152d03484 oe-selftest: force some values in local.conf for _sstatetests_noauto.py
1) Some values should have default values in order for tests like sstate relocation to be relevant
   - SSTATE_DIR needs to have default value
   - SSTATE_MIRRORS need to be unset (we need the sstate files to be created)
   - TMPDIR needs to be in default location

2) Added conf/auto.conf to list of ported files to secondary build directories

(From OE-Core rev: 3b98de79e14c44e70fd72ed94493a674444bdba2)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:58:45 +00:00
Corneliu Stoicescu
f5bb53ab5c oe-selftest: optimize code in _sstatetests_noauto.py module
1) Some of the checks made when creating new directories are unnecessary beacause
the test will fail anyway if os.mkdir() fails, with the appropriate error message.

Removing this code.

2) Moved the adding to tracked paths for deletion of temporary build directories
and sstate-cache directories to after they are created. This makes more sense
and prevents deletion of these directories if they allready exist and may contain
useful data.

(From OE-Core rev: d002bcf7f80fd9652d3f310957c99bd1e6c8b3a1)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:58:45 +00:00
Paul Eggleton
91c372f287 core-image-basic / packagegroup-core-basic: rename to *-full-cmdline
This more accurately represents what this image and packagegroup are
intended to provide (a more complete command-line environment similar
to what you would find on a traditional Linux system), and avoids
confusion with the similarly named core-image-base and
packagegroup-base.

Fixes [YOCTO #2424].

(From OE-Core rev: 959396d5319df6d6599cc74077e85182768b92af)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:21 +00:00
Alexandru Palalau
f683023b05 oe-selftest: add test for image manifest file creation
(From OE-Core rev: 1542470fa66884d0f7bf67d92916675a8a9820cc)

Signed-off-by: Alexandru Palalau <alexandrux.palalau@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-05 15:50:22 +00:00
Richard Purdie
2163893b77 oeqa/runtime/dmesg: Ignore DMA timeout errors
We see these from qemu images on servers under load. They're not interesting
and clutter the build output so lets ignore them.

(From OE-Core rev: 053eba4885ab4016f7efc7899ec9e02df3384d11)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02 17:25:28 +00:00
Corneliu Stoicescu
6fab87e128 oe-selftest: Fix test_sstate_cache_management_script*
Fixed tests for sstate-cache-management.sh that ware failing due to:
 - recent changes to sstate-cache structure
 - recent changes to the script itself

(From OE-Core rev: 17b518caf253b77101b357564f8ef9e07961f12c)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-02 17:25:28 +00:00
Stefan Stanacar
9744e0fb0a oeqa/targetcontrol: make BaseTarget an abstract class
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>
2014-02-28 14:01:13 +00:00
Corneliu Stoicescu
a18cd65908 oe-selftest: Fix for test_rm_old_image
After recent changes in poky this test was not working as it should.
This commit fixes and improves the test logic.

(From OE-Core rev: 45709d1eae28fc567c5dca9a48393d56d28f785d)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-28 14:01:13 +00:00
Stefan Stanacar
3ab2b7f10c oeqa/targetcontrol: properly get the host ip
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>
2014-02-25 17:53:04 +00:00
Stefan Stanacar
3d0dccd026 oeqa/runtime: smart: don't run in auto mode when rpm is not the pm
TEST_SUITES = "auto" would run smart tests even for non-rpm images,
which is pointless.

(From OE-Core rev: 1913f38d79a56f7d21999b6839835f967ca28abd)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13 11:41:21 +00:00
Stefan Stanacar
6d0f1d30d4 oeqa/utils: targetbuild: take proxy into account
A previous commit broke downloads
when proxies are involved, let's fix it.

(From OE-Core rev: 97e263b99cbe8184a74f80738fd471cfdef29e0c)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11 11:56:56 +00:00
Stefan Stanacar
d7c0e00e40 oeqa/utils: targetbuild: don't use bb.fetch anymore
When running tests outside of the build system we can't use
bb.fetch anymore. It was nice but tests and their modules
need to rely on the data storage only as that gets exported.
This module is used by the oeqa/runtime/build* tests.

(From OE-Core rev: 3caf8e244ea94f62a93f3b40e73e15ea78fc2880)

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>
2014-02-09 09:40:01 +00:00
Stefan Stanacar
4354cb29e7 lib/oeqa: add module for running tests outside of the build system
This script will run the exported tests outside of the build system.

Simplest way to test this is with a qemu image that you manually start.
For an already build image use this in local.conf:
TEST_EXPORT_ONLY = "1"
TEST_TARGET = "simpleremote"
TEST_TARGET_IP = "192.168.7.2"
TEST_SERVER_IP = "192.168.7.1"
Export the tests: bitbake core-image-sato -c testimage
Then: runqemu core-image-sato
And: cd build/tmp/testimage/core-image-sato
     ./runexported.py testdata.json

The contents of build/tmp/testimage/core-image-sato can be moved on another machine
as long as some paths are updated in the json.
The exported data contains paths to the build dir. We only care about DEPLOY_DIR/rpm (
if the rpm and smart tests are enabled), so running the tests on other machine
means that the user has to move the contents and call runexported with --deploy-dir PATH:
 ./runexported.py --deploy-dir /path/on/another/machine testdata.json
runexported.py accepts other arguments as well, see --help.

[YOCTO #5613]

(From OE-Core rev: 087ee840ad642bada6fe0b02311f05a595ea2e65)

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>
2014-02-09 09:40:01 +00:00
Stefan Stanacar
731acba417 testimage: add ability to export tests
Add the ability to export the tests so that they can run independently of
the build system, as is required if you want to be able to hand the test
execution off to a scheduler.
Booting/deployment of the target is still handled by the build system,
as before, only the execution of the tests happens outside of the build system.
Tests exported are the ones defined in TEST_SUITES.

No tests have been changed as interesting parts of the data store have been
exported and tests can continue to query them as before. Small adjustments were made
for a couple of oeqa modules though.

[YOCTO #5613]

(From OE-Core rev: 155dd52e0f707e06f50756584a50f744ba6b7844)

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>
2014-02-09 09:40:00 +00:00
Ross Burton
c8962ab4db oeqa/runtime/systemd: remove race in settle()
The settle() function had a race where services could still be activating at two
minutes but then when the final log is output, they've activated.

Remove this race and generally clean up the code.

(From OE-Core rev: 8d107e0a828868702cfe035104c1f0b51da4291e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-04 12:43:07 +00:00