Check up front in test_devtool_deploy_target whether the tap devices
exist and skip if not. If we don't do this we get a significantly less
comprehensible error via pexpect.
(From OE-Core rev: 2258345e19efff7717fe19a5026ec55f1b6f90b6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After OE-Core commit 67db7182faf6742b0d971d61d8c5ba34f69d2e12, PV is
appended to the end of the gcc-source PN, thus we need to handle that in
devtool and the corresponding test.
Part of the fix for [YOCTO #7729].
(From OE-Core rev: 440029dc229a566b9bead1481215d5e5760c5fe6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I already had the file fetched from some previous work and thus it
didn't attempt to download the invalid URL when I tested it earlier.
Part of the fix for [YOCTO #7729].
(From OE-Core rev: f9bad5aeb507f5b3c1346118011c7766c44d9ba4)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Modified existing wic test modules to work with oe-selftest
infrastructure.
$ oe-selftest --run-tests wic
...
test01_help (oeqa.selftest.wic.Wic)
Test wic --help ... ok
test02_createhelp (oeqa.selftest.wic.Wic)
Test wic create --help ... ok
test03_listhelp (oeqa.selftest.wic.Wic)
Test wic list --help ... ok
test04_build_image_name (oeqa.selftest.wic.Wic)
Test wic create directdisk --image-name core-image-minimal ... ok
test05_build_artifacts (oeqa.selftest.wic.Wic)
Test wic create directdisk providing all artifacts. ... ok
----------------------------------------------------------------------
Ran 5 tests in 6.434s
OK
(From OE-Core rev: 2a7f16b19d78186ed6c2eb119ec102c645596b87)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bitbake can parse ~ in bblayer's paths.
Added this functionality to oeqa code.
(From OE-Core rev: b4dc5b271247a1894d66908c5f20973be2a60d43)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tests the following aspects of "devtool add" with the -f option:
* Works for a git and https URI
* Extracts to the appropriate directory
* Uses the correct recipe file name with and without -V
* Sets SRC_URI and S appropriately with and without -V
* Sets SRCREV if rev= is specified in the URI
A lot of this functionality relies on "recipetool create" which
"devtool add" wraps around, so the associated behaviour of that is also
being tested here.
Refactor out the code to check a recipe for variable values / inherits
at the same time so we can use it to check the generated recipe.
(From OE-Core rev: 0e626639ee75d42cb44d357efe2d9c4d2ff65294)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Enhance testing of the generated SDK tarballs by adding tests for
gcc/perl/python based on the existing runtime tests.
(From OE-Core rev: 18160403427b2aab4207c939312fb0981c3f2d1b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This isn't a test of wget so if the files we need are present in DL_DIR,
use them from there and save a bit of speed/bandwidth and skip the wget.
(From OE-Core rev: dc1d83d021afd77ca8fb948dc47bbd11e3844865)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We weren't adding the version into the bbappend file name when -V was
specified which meant that building or resetting failed.
Also adjust one of the tests so that we're testing devtool add both with
and without this option.
Fixes [YOCTO #7647].
(From OE-Core rev: bdbeff0cd342e31053d7203d78fc5dda611052b1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make this test work after recent changes to the mtd-utils recipe, and
hopefully make it robust against any future changes.
(From OE-Core rev: 5be62624a6537659f9f6229c82762da45909f902)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oe-selftest --list-classes crashes because
of a bad indent (see below). Fixed.
systemd-build$ oe-selftest --list-classes
2015-04-22 12:12:39,141 - selftest - INFO - Listing all available test modules:
_sstatetests_noauto (hidden)
-- SStateBase
-- RebuildFromSState
-- -- test_sstate_rebuild
-- -- test_sstate_relocation
_toaster (hidden)
Traceback (most recent call last):
File "/mnt/Yo/yoctoproject/poky/scripts/oe-selftest", line 201, in <module>
ret = main()
File "/mnt/Yo/yoctoproject/poky/scripts/oe-selftest", line 157, in main
modlib = importlib.import_module(test)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/mnt/Yo/yoctoproject/poky/meta/lib/oeqa/selftest/_toaster.py", line 438
time.sleep(3)
^
IndentationError: unexpected indent
(From OE-Core rev: 46869abf72c1c5babce49537f221d7a4f53ca820)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use threading to get the current threads ident to select the current
executing frame to ensure that the scanned stack is the expected stack.
This allows for the decorators to be used within a process that has
multiple threads executing.
(From OE-Core rev: a44d27b92baba4ab51f432ec01cdc473436ce406)
Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This test actually tests a spectrum of bitbake functionality. Three
layers are created, one containing a recipe, one with a bbappend adding
a file to the recipe and another which overwrites the file in another
bbappend.
The correct outcomes in building the recipe are tested, with the file
in the final layer added, removed and then re-added.
This tests bitbake's cache handling as well as restoration from
sstate which happens in the final test phase.
Based on a test case from:
[YOCTO #7019]
(From OE-Core rev: e57437c0e02b148a878c8db91660674069fbd6e2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The connection and commands are done via serial.
(From OE-Core rev: bc6ac3058d7adb6f1bf87e57deaa50347f452e59)
Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 6e4543a35836c572b23b9f8162b19d1e038d3ed2)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The SystemdServiceTests assume that avahi-daemon is installed,
which is not necessarily the case depending on the image being
tested.
Better check this dependency before starting the tests and skip
them if the service is not installed. This has to be done for
each test instead of for the entire module, because other
tests in the module can run without avavi.
(From OE-Core rev: ca23337d517cfdb7119e5fd8bd9a9a663ae135de)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Plain print has two drawbacks:
- the output is handled by different processes, causing the message
about found tests to appear randomly after the result of the initial
tests
- the output is not part of the bitbake console output
Affects image testing with testimage.bbclass.
(From OE-Core rev: 4b6f87a82ece230b7296f1577d4092ef559af1d4)
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use absolute path instead of relative path for meta-skeleton.
Otherwise the case would fail if the builddir outside the poky source
tree.
(From OE-Core rev: 90edaf9b9e51a24bf67c1c95732fc2d8cb22b098)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The test tries to query the rpm list with a non-root user
(From OE-Core rev: 9d5deedfdae28d0257e84e1980c2cb7fd4e38c45)
Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The test_nonmatching_checksum doesn't need the default dependencies,
and they would just take extra time to generate.
(From OE-Core rev: d91ed126eead8b09a4ddfe5cc11db16dda71273f)
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>
test_foo is renamed to test_nonmatching_checksum. It was a mistake to
submit it with the old name.
There was also some extra whitespace removed.
(From OE-Core rev: 95eed3038f48337d06a3eba0f6e355f3f78c6974)
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>
libmatchbox links to libjpeg if it is present so just explicitly build
it and then check it appears in DEPENDS.
(From OE-Core rev: 00ca890d8a56c4c05ce5bda87b3d9d1452ddfa36)
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>
With the change to externalsrc we can now handle these, so add a test
to ensure they can be built.
(From OE-Core rev: efd46543524db98e4369c1d85a1e1c0e76f12899)
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>
Whilst this test would seemingly be better placed as a runtime test,
unfortunately the runtime tests run under bitbake and you can't run
devtool within bitbake (since devtool needs to run bitbake itself).
Additionally we are testing build-time functionality as well, so
really this has to be done as an oe-selftest test.
This test does have a few perhaps unusual requirements in order to run:
* pexpect is installed
* MACHINE is set to one of the qemu machines
* runqemu tap devices have been set up
(From OE-Core rev: 9dc16a8a87bef5dc408aefb256c01e2a4fe3563c)
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>
Allow get_bb_var() to work with unexported variable values such as
MACHINE - the workaround is a little crude but should suffice for now.
(From OE-Core rev: 48b58466bba084fd3439706d47e0cfbb7e951ee4)
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>
Consolidate code for checking compatible recipes and consider meta and
packagegroup recipes as well as package-index and gcc-source to be
incompatible.
(From OE-Core rev: 4be9bf637583b341a89af1b9924752abc7d49c94)
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>
Add a -a/--all option to allow you to quickly reset all recipes in your
workspace.
(From OE-Core rev: 0c83788b111a761f6f500b86780cc51aed255402)
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>
And some minor tweaks like moving some errors from qemu to common.
(From OE-Core rev: c25474be02a562585ded66a6d538aee21056f628)
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>
* Add a test for add-layer and remove-layer
* Correct message for test_bitbakelayers_showoverlayed()
* Improve test_bitbakelayers_flatten() to use a more unique name for the
temp output directory and clean it up using track_for_cleanup()
(From OE-Core rev: c4ae1e2c98bee62fcc8db4849b6a4f9a5996a210)
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>
The test_systemd_journal() test will fail if journalctl exits with a
non-zero exit status. The exit status is non-zero even if there are no
journal files, which is what drove the creation of this test.
[Yocto #7388]
(From OE-Core rev: 27baa182d44872f84bee3da36b95997ce0597d89)
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>
These occur when running images under virtualisation on machines with
high load which sometimes trigger timeouts in the kernel DMA code.
They're harmless to ignore in these cases.
Adding this since "failing" the build due to this is more annoying
thank useful.
[YOCTO #7387]
(From OE-Core rev: fb29441216435b9bae47ca9cd42db5a6b1fe77d8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The test added verifies that when a file with an absolute path in
LIC_FILES_CHKSUM changes without a corresponding change to the md5sum,
it triggers the license qa test again with a failure.
[Yocto #6450]
(From OE-Core rev: cab59ce08916c45c1d9da1cf9a92a67574f6c2c3)
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>
Because we move the workdir when extracting source, then move the source
and delete the temporary workdir, you lose the indirection symlink
pointed to by the alternates file (which is created when the fetcher
clones it from DL_DIR with -s) and the resulting repository is broken.
In any case, for a source repo that the user may put their own changes
into, we can't really rely on a clone made with -s in case the
original goes away - because of cleanall, DL_DIR disappearing, etc. So
repack the repository so that it is a complete, non-shared clone after
unpacking.
(While I'm at it, add a test for devtool modify with a git recipe which
verifies that this works.)
(From OE-Core rev: dccdde4321c48a571677995a4e1dfc583e899cbe)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When updating git-based recipes, in a lot of cases what you want is to
push the changes to the repository and update SRCREV rather than to
apply patches within the recipe. Updating SRCREV is now the default
behaviour for recipes that fetch from git, but this can be overridden
in both directions using a new -m/--mode option.
(From OE-Core rev: 654792bb87610ee3569d02a85fa9ec071bf8ab6d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you want to be able to make use of libraries in conjunction with
devtool then we need to install them into the sysroot for other recipes
to use. Make it a configuration option in case it needs to be changed at
runtime.
(From OE-Core rev: 94f517ad8e55edfbe6f06afd963bcfeb849626ff)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you've added a new recipe, you want the output cleaned when you do
devtool reset, otherwise cruft from building the recipe may remain which
could interfere with future builds.
(From OE-Core rev: 664d1a7fe8f8288fabc582d00f6e36ab29496ec5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no good reason not to use ext4 at this point, it has advantages
and few drawbacks. Therefore switch the qemu machines over (and the default
runqemu script options).
(From OE-Core rev: 430b9ae71b1aa76f8421127d17e0e0723d4818d3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake-layers subcommands with underscores are the old syntax; the
dashed form has been supported (and displayed in the help text) for
quite a while now, and the old syntax is about to be unsupported, so use
the dashed form in the tests.
(From OE-Core rev: ab2efd82b2c3419e0139b91c79a9993b257970c9)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The 3.19 kernel introduces this error, ignore it for now.
(From OE-Core rev: 2a0a14275ca00b2d3ca867c82548a41e3bb10986)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sometimes you do not want certain packages to be installed when
installing complementary packages, e.g. when using dev-pkgs in
IMAGE_FEATURES you may not want to install all packages from a
particular multilib. This introduces a new PACKAGE_EXCLUDE_COMPLEMENTARY
variable to allow specifying regexes to match packages to exclude.
(From OE-Core rev: d4fe8f639d87d5ff35e50d07d41d0c1e9f12c4e3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Test each of the subcommands that this utility provides.
(From OE-Core rev: 725526139debf12d115fada6bd465a297e169080)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Use argparse instead of optparse for standardised help output, options
and a much cleaner code structure
* Look up pkgdata directory automatically so the user doesn't have to
specify it
* Use standard logging
NOTE: this does mean a slight change in syntax - if you do want to
specify the pkgdata directory (usually only necessary if you're calling
it from within the build process) you need to use the parameter -p (or
--pkgdata-dir) and specify this before the command, not after it.
Examples:
oe-pkgdata-util find-path /sbin/mke2fs
oe-pkgdata-util lookup-recipe libelf1
oe-pkgdata-util read-value PKGSIZE libc6
oe-pkgdata-util -p /home/user/oe/build/tmp/sysroots/qemux86-64/pkgdata read-value PKGSIZE libc6
(From OE-Core rev: 04dc571ac7c26f0dcf1a1fcd466482e22519998d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, if one module is skipped, any other module calling skipModule
causes tracebacks about _ErrorHandler not having a _testMethodName
method.
This reworks the code in a way to avoid some of the problems by using
the id() method of the objects. It also maps to the correct name
format rather than "setupModule" or just skiping the item entirely.
(From OE-Core rev: 78d3bf2e4c88779df32b9dfbe8362dc24e9ad080)
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>
test_incremental_image_generation case failed because the log output
chanaged:
FAIL: test_incremental_image_generation (oeqa.selftest.buildoptions.ImageOptionsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/buildarea3/yzhao1/poky-build/meta/lib/oeqa/utils/decorators.py", line 90, in wrapped_f
return func(*args)
File
"/buildarea3/yzhao1/poky-build/meta/lib/oeqa/selftest/buildoptions.py", line 25, in test_incremental_image_generation
self.assertEqual(0, res.status, msg="No match for openssh-sshd in log.do_rootfs")
AssertionError: 0 != 1 : No match for openssh-sshd in log.do_rootfs
----------------------------------------------------------------------
Using re search instead grep
(From OE-Core rev: 1872a9430cec0c61f1ec349df198160addd430de)
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using -C sets a taint on the specified task, and m4-native is in the
dependency chain for just about everything, which means that everything
gets forced to rebuild. We don't need the influence of this test to
extend outside of the test itself, so ensure that the taint gets cleared
at the end of the test.
(From OE-Core rev: 24b41a1e3f2496e38a6ae9c47dfe85887f3d7d6e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Build some recipes so that we have the needed data in the sysroot for
recipetool to refer to when scanning for dependencies.
(From OE-Core rev: 67bf1dac68d76c7e6a4d95e5bdd1eba468331f01)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
assertTrue prints "False is not True" if it fails, which is pretty much
useless. Use a more appropriate assertion test where practical and add a
message where it isn't.
(From OE-Core rev: 0e0dd2575bb2a1b6f6c5eba1f8cfb0d81cc1b091)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have just implemented incremental ipk image generation, but at the
moment this test doesn't support that, so skip it if not using rpm.
(From OE-Core rev: e920c1a62705524be71dc5f9e4527b396ca83dca)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this, running tests individually failed with a traceback:
$ oe-selftest --run-test
buildoptions.ImageOptionsTests.test_incremental_image_generation
2014-12-23 14:40:37,636 - selftest - INFO - Checking that everything is in order before running the tests
2014-12-23 14:40:38,408 - selftest - INFO - Running bitbake -p
2014-12-23 14:40:40,235 - selftest - INFO - Loading tests from:
oeqa.selftest.buildoptions.ImageOptionsTests.test_incremental_image_generation
Traceback (most recent call last):
File "/home/user/poky/scripts/oe-selftest", line 179, in <module>
ret = main()
File "/home/user/poky/scripts/oe-selftest", line 164, in main
suite.addTests(loader.loadTestsFromName(test))
File "/usr/lib64/python2.7/unittest/loader.py", line 91, in loadTestsFromName
module = __import__('.'.join(parts_copy))
File "/home/user/poky/meta/lib/oeqa/selftest/buildoptions.py", line 12, in <module>
class ImageOptionsTests(oeSelfTest):
File "/home/user/poky/meta/lib/oeqa/selftest/buildoptions.py", line 14, in ImageOptionsTests
@testcase(761)
NameError: global name 'func' is not defined
(From OE-Core rev: 8e3fbb0bb2c0eabfb39752c25e7c3f5d77881f64)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Python code should use spaces only for indentation.
(From OE-Core rev: a1e22121e521aabf454a850cd7c8be60b7b1adc3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add some QA tests for devtool (and recipetool). These aren't
comprehensive but at least they are a start, and have already helped me
catch and fix a number of regressions.
(From OE-Core rev: 79486a8aea7af138535e139e696fbdbd5d57581b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Enable querying exported variables
* Use strip() to remove quotes so any internal quotes are not disturbed
(From OE-Core rev: 418cdf1ca37e06165ebaec86a0098d4750208539)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We fixed these in parselog but not here. This test really can just be
deleted now really.
(From OE-Core rev: c598dbdbaebf95cc26e95138b4c3fcb15af67a88)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These are harmless from the USB pointer device we install, ignore them.
(From OE-Core rev: f5bdf41e78ff378fe23d8ba1543917bc64def62f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For images without ptest the packages are automatically installed alongside ptest-runner. Log results are saved in ./results folder.
No cleanup is done for packages after the test is finished.
(From OE-Core rev: f8e99fa8baa020c6414da19428b73c1fd30c9523)
Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A module for parsing results based logs like ptest, compliance and performance.
Supports breaking the logs into multiple sections and also provides a result object to use the parser with.
The parser is initialized with the regex required to identify results and section statements in the target log file.
(From OE-Core rev: 72308d030fc98982e88b121b052cd2438f6b031c)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now we have the parselogs test, this one can be removed.
(From OE-Core rev: 7977a3c28677d9a248059b0be230f345227e798a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the whitelist is imcomplete, inaccurate and suffers duplication.
These changes:
* Add common groups of errors
* Change to make the default whitelist clear
* Correctly (or at least better) escape the regexp expressions
* Add in missing machines to allow builds on the autobuilder to suceed
(From OE-Core rev: 620aa5f9022335a9166b4d47bdcdce611ff5466a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This adds a common new qa test for general processing of log files. One
significant improvement is machine dependent ignore filters.
This can be used to replace several weaker individual QA tests
that are currently used.
(From OE-Core rev: a14d076a401397b6773d5d1b99e49126261f1eb4)
Signed-off-by: Lucian Musat <georgex.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adding setUpModule in order to skip the module when gtk+ is not installed in the toolchain.
(From OE-Core rev: 97ac0fc33b9277825089ac36f9037d472d397b71)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to use the hasFeature and hasPackage methods, we need to make oeSDKTest extend oeTest and also set the test context (tc) attribute in the oeTest class when loading the tests.
(From OE-Core rev: 54436aeed5ac5e0da0779919f8524a0603e19c6a)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With bitbake-worker installing a SIGTERM handler, we now need to reset the one here
to ensure that when this process shuts down, it doesn't take the rest of the task
with it. This does appear to be the only place in OE that we have this problem.
(From OE-Core rev: e1ac67d6470dde70239ca0430b18ca0bffbc0295)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add test modules for sdk tests.
NOTE: Original patch made by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 1b18a33b1053902faaa5cb242d4c1c7d1fb6b064)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Create new abstract class BuildProject that provides basic functionality for a project/package building class
* contains abstract method _run() that needs to be implemented by all extending classes.
- The old TargetBuildProject class now extends the abstract BuildProjct class
- Introducing new SDKBuildProject that extends the abstract BuildProjct class
NOTE: Original patch made by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: bc8824fd361dbff96f5b5316ddfda36e96e8ea9b)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- add support for sdk tests in the loadTests and runTests methods
- add new oeSDKTest test object
NOTE: Original patch made by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: 6c147e5c82b39773e135ca828b37905cbb31be3b)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This tests out the limits header which we've noticed does have problems in
some SDK builds.
(From OE-Core rev: 63cbed337241191f33fe951662a39ce59dce6774)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To facilitate changing the log level of the "Fetcher failure" message,
search only for the message without the "Error:" prefix.
(From OE-Core rev: 947e6f9005abc71f499f23a4dd3a5a9f8386a369)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
An 'import os' was omitted here while testing the previous decorators using runtime tests that import the os module before this one. Unfortunately oe-selftest fails because of this missing import.
(From OE-Core rev: 5381e6cf6bf7143074800b2949bfa5331fdb6d47)
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>
The -ccleansstate should be done before building the package for the second time.
Also printing the command output when failing.
(From OE-Core rev: 15e5661d6341004ebc4d3492acb48f73dd86b96e)
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Split the class in two, one to handle the process and the
timeout based on output and one for the actual ssh/scp commands.
The ssh/scp methods now use the same run method.
It does the same thing as before but:
- it looks cleaner.
- adds support for using a different user than root
- optionally, raises an exception when exit code != 0
(that's useful for code outside of tests, where you wouldn't want
to check the return code every time as the tests do)
(From OE-Core rev: bb14a7598d3c0636dc249f719bde0d9d65b2694d)
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>
Without this it won't add core2-64 and similar channels, as the
directory name in deploy_dir/rpm uses _ not - as the package arch.
(From OE-Core rev: 14e3a8f58e309121760fec70619633281dd9d88c)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Restart is a property of a specific target, not
of a test class, should a test really need to restart
the target the direct method should be called.
Also some tests used this to enforce more ram, which
makes sense only for qemu targets only (and the inital
reason this was needed isn't valid anymore, qemu machines had
the default ram size bumped a while ago).
(From OE-Core rev: 333a4326082e500bdbcd323af37e183e74adf617)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Translate TUNE_PKGARCH to find the right file (this
used to work because tune for qemux86-64 used to be
x86_64 now it's core2-64)
Also, while using packagedata was nice, it's harder to make
the test exportable and runnable outside of the
build system. (where oe.packagedata isn't available)
(From OE-Core rev: fd0e9ad4d295ca11b33c3e3e11069421dee834e8)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add an optional parameter to SSHControl so the user can specify
and alternate port to the default (22).
(From OE-Core rev: 091d395e43836575587112ee1696a18c401505bb)
Signed-off-by: Sipke Vriend <sipke.vriend@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ocasionally AB shows odd false fails like:
http://autobuilder.yoctoproject.org/main/builders/nightly-arm/builds/1/steps/Running%20Sanity%20Tests/logs/stdio
This should fix that by checking for eof instead of
polling the return code of the ssh process, because the process
might still be there.
(From OE-Core rev: 3a22b5df5aa38a98b35bc2931d646a2b7702fbec)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Made modifications to account for:
- .siginfo files present in sstate-cache from non sstate-enabled tasks
- new naming format for sstate files
(From OE-Core rev: d23ad4255ad7465383286fa7805392aa70845ace)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
- SStateBase now has its own module to be imported by itself by other modules like sstatetests.py
(From OE-Core rev: 8163854adf87ac42a8f08ee25685d0ce1efb4724)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- SStateBase object contains basic methods used to run sstate related tests
- SStateTests now contains only sstate-related tests
(From OE-Core rev: 78e929bbcdce1f9a544b230433b93f4fc1f841e2)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When checking that no services have failed to start, actually wait for services
to finish starting by waiting for there not be no units in the "activating"
state.
(From OE-Core rev: 4d6422a84eba005a6fd788ce18c9dd42b079e2a8)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Run a python script on the target
1)checks the output.
2)Call os.system method create a testfile
(From OE-Core rev: 4465c9368b0c37a3a2c41b68f65de08690a8179b)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
They are basically the same tests but:
- they look cleaner, using one single method / assert
- output from unittest will be cleaner (and includes a verbose status when needed)
- they are better grouped and use a real, active, enabled service
(machineid will be dropped and hostnamed was a static service)
(From OE-Core rev: 0aa5b97f9e0d8941ce342e9f162dd3b19d4b49bb)
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>
Added a new module meta/lib/oeqa/selftest/oescripts.py containing tests
for scripts from ${COREBASE}/scripts
(From OE-Core rev: 685879739017317f234824689cbd89388d236816)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the hostnamed service can't be started or stopped, show the output from
systemctl status to assist debugging.
(From OE-Core rev: 024cc1cee3a9954272ecbbff1ba7153725c56dce)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Added a track_for_cleanup(path) method that removes the given path in the
tearDown method. This mechanism can be used to make sure a file or directory
we created will be removed at the end of a test, regardless of what happens.
(From OE-Core rev: 358415cf604089cc2dab547e231d062b9dc068ee)
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>
Add a new method that can be used by the tester to add a command to the
executed in the tearDown stage of the test. This mechanism can be used to
make sure certain test-specific cleanup tasks are done in the case of a
test failure.
(From OE-Core rev: b59466ec341e6596b7ade7f1813b25e454b11a32)
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>
If some services have failed to start, get the status of them and some of their
log to help debug the problem.
(From OE-Core rev: e371765431be25b81dbdb385233e3db5851e59d0)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If connman isn't running and we're running under systemd, use systemctl to get
the state according to systemd and the end of the connman log.
(From OE-Core rev: e77bcc8e4baf11701b105d071a979a21a2a303d5)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
While harmless, we should overwrite the config not append to it,
and use m4 as target, otherwise the WARN check will
build an entire image and we are not interested in that.
Also add an output check for the WARN_QA test.
(From OE-Core rev: 83b0a9231691aba9a7753350d131b0ab9196815e)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The script should clean-up all the .inc files that might
have been created by tests regardless of the outcome or if
the script is interrupted. (currently the
last test will leave a conf/selftest.inc around, even
if it's not included anywhere)
Also fix delete_recipeinc to actually delete what's supposed to.
(From OE-Core rev: 6008745c56800e0f5f01a756be0701cebd9de4ae)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
This patch makes the necessary changes for using the targetcontrol.py module
so that one can run the same tests on a qemu instance or a remote machine
based on the value of TEST_TARGET variable: "qemu" or "simpleremote".
The default value is "qemu" which starts a qemu instance and it's the
with what we currently have.
With "simpleremote", the remote machine must be up with network and ssh
and you need to set TEST_TARGET_IP with the IP address of the remote machine
(it can still be a qemu instance that was manually started).
Basically testimage.bbclass now does something along the lines of:
- load tests -> deploy (prepare) / start target -> run tests.
There were a couple of changes necessary for tests and
also some cleanups/renames that were needed to adjust this change. (use
ip everywhere when refering to target and server_ip when refering to host/build machine)
Also two unnecessary and unsed methods were dropped from sshcontrol.
[ YOCTO #5554 ]
(From OE-Core rev: a7820350fa3271d78ed7476e02f4aef593be1125)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use the new manifest file instead of ${WORKDIR}/installed_pkgs.txt for determining
if an image has a certain package, because installed_pkgs.txt goes away with rm_work
enabled.
We can't use the IMAGE_MANIFEST var for the file path because that relies on IMAGE_NAME which
changes at every run (because of date), so we use the link which points to the last
one built.
[ YOCTO #5072 ]
(From OE-Core rev: f57c83fc33583c140f668946f3f3e79b960aa9ee)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tests for bitbake-layers and expected output for some bitbake options.
(From OE-Core rev: 8408a7700cd9cab4559ddae0bbe57f0d7fae5c37)
Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Build images and tests different build options like RM_OLD_IMAGE
and for WARN_QA/ERROR_QA behaviour.
(From OE-Core rev: 75d2a1a37a18a22b0da7ab5b30cf005c78bc313f)
Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The purpose of oe-selftest is to run unittest modules added from meta/lib/oeqa/selftest,
which are tests against bitbake tools.
Right now the script it's useful for simple tests like:
- "bitbake --someoption, change some metadata, bitbake X, check something" type scenarios (PR service, error output, etc)
- or "bitbake-layers <...>" type scripts and yocto-bsp tools.
This commit also adds some helper modules that the tests will use and a base class.
Also, most of the tests will have a dependency on a meta-selftest layer
which contains specially modified recipes/bbappends/include files for the purpose of the tests.
The tests themselves will usually write to ".inc" files from the layer or in conf/selftest.inc
(which is added as an include in local.conf at the start and removed at the end)
It's a simple matter or sourcing the enviroment, adding the meta-selftest layer to bblayers.conf
and running: oe-selftest to get some results. It would finish faster if at least a core-image-minimal
was built before.
[ YOCTO #4740 ]
(From OE-Core rev: 41a4f8fb005328d3a631a9036ceb6dcf75754410)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The connman unique test starts another instance of connmand and then does a ps to
verify that there's only one of these running, on the assumption that the new
one has quit because there's already one running (started by init).
However, connmand is forking into the background straight away so there's a race
between running ps and the second connmand discovering the first and exiting.
This race can be seen because the test displays the output of ps, and by the
time that second ps has been executed the new connmand has exited.
This is a classic race condition and on a heavily loaded autobuilder inserting
an arbitrary sleep isn't wise. In the scheme of things this test isn't very
useful, so delete it.
(From OE-Core rev: 80ef721140c79e29430d0a5692a5c176db0061e6)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of running the commands with a fixed timeout,
we should kill the command if there is no output
for timeout seconds.
Also changed some strings/comments.
(From OE-Core rev: beea86fa9637fd629719980e14beea758847b8f3)
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>
Add oeTest superclass, make oeRuntimeTest inherit that and
make the necesarry adjustments. Tests in lib/oeqa/runtime don't
change, they still inherit oeRuntimeTest.
We should do this because oetest.py in the future can be a base module
for more stuff than oeRuntimeTest.
(From OE-Core rev: cd4ed41a070bd52c446ac3df8337f17ab9421145)
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>
Builds a simple Hello World module on target.
Added to the defaults for core-image-sato-sdk.
(From OE-Core rev: c61c3dee162aa1f5bf31b2a09d8b916dc1712056)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of considering that ping test passed after 1 reply,
wait for at least 5 consecutive replies in 60 seconds (which should
be enough time for connman to reconfigure the interface in systemd
images and help with the fake ssh/tests fails.)
(From OE-Core rev: 6fd19a9df0ad25b2822f12e2c3a97f1b71068d4e)
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>
- move everything in the same test. setUp/tearDown aren't quite
the right thing here, everything it's part of the same test. (and
it get's confusing when ssh fails)
ldd:
- change test name and add output to error message
vnc:
- remove unnecessary check as there is no point in doing
both ps and netstat. Also improve error output a bit.
(From OE-Core rev: 2f91bb438cfcdd0a40daed5902b6e98fc0aee67f)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It might be useful for debugging to have in the ssh log
the number of seconds a command has run.
(From OE-Core rev: 48b9e45b9716130b015ae2ab7398d6aa243933dc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use the new QEMU_DONT_GRAB environment variable to disable grabs,
finally/hopefully solving the random hangs that the autobuilder has been hitting
for a while.
[ YOCTO #5131 ]
(From OE-Core rev: 32f9575a565f350649264c11eceba8311584b0fd)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Increase the timeout for smart commands as under load for qemumips
it's still to small. Also give ping more time fixing a potential
timeout for sato systemd.
(From OE-Core rev: daa3ad5807f6fc0d15b9310937d07a16edac6d22)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows a clean seperation between image outputs from different
machines, and makes it possible to have convenience symlinks to make
the output ready to deploy.
This did require some surgery in runqemu; if explicit paths to the image
and kernel are not supplied then DEPLOY_DIR_IMAGE needs to be determined
from bitbake or set in the environment. However the script does try to
avoid requiring it unless it really is needed. Corresponding changes
were made in the automated testing code as well.
Based on an RFC patch by Koen Kooi <koen@dominion.thruhere.net>
(From OE-Core rev: 7e90261aec61f79680b5eaeaf5b18c7b795412a4)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't add inappropiate channels on the target.
This happens when building two different machines in the
same dir and then running the tests for each machine.
(From OE-Core rev: 9e4e475b598f6b9bd2b653c72a1c1d5bd5c0b8c9)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A 0 value to select.select() immediately returns with no timeout. This was
pegging the cpu at 100% for the python process which was bad and may be
contributing to some of the timeout problems.
Profile from -P of a core-image-minimal before:
97526792 function calls (97525652 primitive calls) in 45.189 seconds
and after:
50204 function calls (49064 primitive calls) in 17.318 seconds
Saving 97.5 million function calls has to be good :)
(From OE-Core rev: c0551436974d179df23418567f18a082830380f6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This uses scanelf from the pax-utils package and scans the binaries in PATH
for TEXTREL and RPATH information. For a sato image with pax-utils installed
it shows no output (which is good).
(From OE-Core rev: 629099ad66f5fa2814e5f7908b426149e8978e43)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use a file object to generate a our test file instead of calling `dd`;
removes dd's output from testimage.log, keeps unittest output clean.
Also remove unused imports.
(From OE-Core rev: 6ac48ffbab29a37b0eada533191878aeae3c91f0)
Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add ssh_options to be used, the same, by ssh and scp:
Decrease LogLevel to ERROR, to suppress warnings (e.g. ssh host
verifications, two warnings in case of having openssh with hpn patches);
We no longer presume that the first line is a warning.
(From OE-Core rev: 1f18d04eec03e586134b6d77ca1c6151c22353dd)
Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Set longMessage to True for all tests derived from oeRuntimeTest, in
order to have somewhat info on assertions with cryptic or no messages.
(From OE-Core rev: e5196ebd6c652431a3b80cdc9f60b752401314f4)
Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't start the http server on 0.0.0.0, listen on host ip (end of tap interface) only.
Also use the timeout option (default is 300s for ssh commands) for all the commands
run in this module (mostly because smart update timeouts on mips).
(From OE-Core rev: 8c272641ef3e8410f331ca4133d28dea8f36e4f4)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We run the ping test as soon as we reach the login prompt.
But sometimes (seen in sato systemd) we end up with link down/link up stuff like:
qemux86-64 login: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
The logic behind ping -w 30 -c 1 was to wait at most 30 seconds
for at least one reply, but there is a catch: reply doesn't seems
to be echo reply but any reply (non-reply means loss not network error)
ping's man page:
-w deadline
Specify a timeout, in seconds, before ping exits regardless of
how many packets have been sent or received. In this case ping
does not stop after count packet are sent, it waits either for
deadline expire or until count probes are answered or for some
error notification from network.
Just when the link up/link down happens ping returns:
From 192.168.7.1 icmp_seq=1 Destination Host Unreachable
--- 192.168.7.2 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
and exits sooner than the 30 seconds timeout.
This patch should do what was originally intended (wait at most
30 seconds for at least one reply).
(From OE-Core rev: 56d144fd22d37189e49cdf3032afb00f0be469c6)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Recently syslog behaviour changed for systemd images (log
it's in a buffer not in /var/log/messages), account
for the new stuff.
(From OE-Core rev: 32576c4cc1621fa3013eac66c7caaa1e1fd14995)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When qemu doesn't start or runqemu errors out
(some wrong option passed or sudo needs a password for setting tap) we
want to display the output but oe-core commit 9de7fe11967576f4a8b24e653c6b9a02e5f6d85b/
poky commit 51588936d4
changed the kill method and broke this code, so let's fix it.
(From OE-Core rev: 923d4bd548911caa0b419c10905895af1e8e7026)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
OE-core commit fcc59cbcdb1550489d372edf9f465efa7165245f /
poky commit 748ddc39e5 added a new test, but
in the wrong location.
I took the patch from Alex's branch but renamed it from meta/lib/oeqa/runtime/skeleton.py to meta/lib/oeqa/skeletoninit.py before sending. This was
unintentional, it should have been under meta/lib/oeqa/runtime.
(From OE-Core rev: f12c346ef48cb44be2e356e4cf4f28d015c3f507)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A layer can add tests in lib/oeqa/runtime (provided it extends BBPATH as
normal) and enable them with TEST_SUITES_append = " testname". Test
module names shouldn't collide though.
(From OE-Core rev: e1e347a2d509303e1c566450b0f2b485d3d6629f)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These checks are unnecessary.
setUpModule is run when a module is loaded and we
shouldn't run commands on the target here, (plus if
ssh doesn't work we error out in setup multiple times, instead
of skipping the real test, which might depend on test_ssh).
(From OE-Core rev: 188acd0a75e188fd7c0d2979acaf13fd18b12106)
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>
Sometimes smart throws:
Committing transaction...
Preparing... ######################################## [ 0%]
1:Removing psplash-default ######################################## [100%]
error: Couldn't fork %postun: Cannot allocate memory
and returns a 0 exit code (it thinks it succesfully removed the package,
when in reality it didn't), so we need to catch those specifically.
Also, sometimes output from download command is:
Saving cache...http://192.168.7.1:49456/rpm/x86_64_x32/psplash-default-0.1+git0+afd4e228c6-r15.x86_64_x32.rpm
and that tricks our smart download test, so use a regex there.
(From OE-Core rev: 2ac7783e04f5e8e6005f967e1a6dd65d2fc6a19a)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The check was obviously wrong and it surfaced
with the recent change in behaviour for skipping tests.
(From OE-Core rev: 4a14535cd493cb2bdd46b2a5f2a1cd2b38161f0a)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a test module wants to be skipped because it doesn't
apply to the image but it was nevertheless a required
test (one in TEST_SUITES), we issued an warning that it
was a required test and went on with running the module.
Usually all tests in the module failed (e.g gcc tests on a non-sdk image),
but this allowed us to know that something went wrong with the image
(some package/feature didn't make it).
However, instead of just issuing an warning and running the tests
it's better to throw an exception. The traceback will tell us what's wrong,
and we don't run every single test method.
Output will look like this:
--snip--
| NOTE: Test modules ['oeqa.runtime.ping', 'oeqa.runtime.ssh', 'oeqa.runtime.gcc']
| NOTE: Found 5 tests
| test_ping (oeqa.runtime.ping.PingTest) ... ok
| test_ssh (oeqa.runtime.ssh.SshTest) ... ok
| ERROR
|
| ======================================================================
| ERROR: setUpModule (oeqa.runtime.gcc)
| ----------------------------------------------------------------------
| Traceback (most recent call last):
| File "/mnt/back/yocto/poky/meta/lib/oeqa/runtime/gcc.py", line 8, in setUpModule
| skipModule("Image doesn't have tools-sdk in IMAGE_FEATURES")
| File "/mnt/back/yocto/poky/meta/lib/oeqa/oetest.py", line 108, in skipModule
| "\nor the image really doesn't have the requred feature/package when it should." % (modname, reason))
| Exception:
| Test gcc wants to be skipped.
| Reason is: Image doesn't have tools-sdk in IMAGE_FEATURES
| Test was required in TEST_SUITES, so either the condition for skipping is wrong
| or the image really doesn't have the requred feature/package when it should.
|
| ----------------------------------------------------------------------
| Ran 2 tests in 1.036s
|
| FAILED (errors=1)
| NOTE: Sending SIGTERM to runqemu
--snip--
(From OE-Core rev: fd51cecf8b258d9f839a0ecebde69d09f75dc468)
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>
Downloads iptables/cvs/sudoku-savant sources and builds them on target.
(From OE-Core rev: df4568205c3a7e0b20c6299e29f96bd30560146b)
Signed-off-by: Mihai Prica <mihai.prica@intel.com>
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>
This class can be used for test cases that configure
and build packages on target.
(From OE-Core rev: 4b15e82c4fcb0c40b0e316ef2050944eee4418ef)
Signed-off-by: Mihai Prica <mihai.prica@intel.com>
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>
Tweak QemuRunner so we can actually restart the
qemu target in a test (if we want more memory for example).
Also add a restart method to the base test class so that tests
can use it.
(From OE-Core rev: 9de7fe11967576f4a8b24e653c6b9a02e5f6d85b)
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>
Add class to be inherited by smart tests, along with more basic tests and tests
using a rpm repository.
(From OE-Core rev: f6186b4204dcc421b4e616774315c8a2a77fb5c5)
Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
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>
Save host IP address to host_ip.
Read /proc/PID/cmdline on host to look for IPs of target and host;
instead of running 'ps'.
Also removed some extra empty lines from file.
(From OE-Core rev: 1fcf10db10fa36430e37c95c9fee27197e73f7a5)
Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
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>
It can be used by smart repo/channel tests to serve deploy_dir.
(From OE-Core rev: e38e18d6923cc3db50b56fa3fc64081fe4aa8669)
Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
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>
Copies to target rpm-doc file from deploy_dir
and tries to install and then remove that package.
rpm-doc was chosen because it's small, it only adds
a few files to target, and it's almost always found in
deploy_dir for images with package-management/rpm.
(From OE-Core rev: a2d2f2b7b111863d3c50dedded37aab813d9634f)
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>
Copies a 5MB to target using scp, more of an
network test than a scp one.
(From OE-Core rev: 2ec4a0686b9a91e56dfba3fa2e574c0c531508ff)
Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
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>
New test which verifies some usual commands functionality with PAM support
(From OE-Core rev: 06c7914e3354ff4e430a6b664f40e5a71e212761)
Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
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>
New test which verifies the usage of skeleton init script available with meta-skeleton layer
(From OE-Core rev: fcc59cbcdb1550489d372edf9f465efa7165245f)
Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
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>
New logrotate test which verifies the log directory change in logrotate.conf.
Needs an image with logrotate installed.
(From OE-Core rev: 186d79a603b5cbf5a93e6f5dbba5f62ed8d4d8d8)
Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
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>
This test checks that at least one path in RTLDLIST exists.
(From OE-Core rev: d53ffbf21a6b17f0f0537929a95a502958d82a09)
Signed-off-by: Cornel Stoicescu <corneliux.stoicescu@intel.com>
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>
This test runs a perl script on the target and checks the output.
(From OE-Core rev: 95abdbf2d715c9e7e3368f5193167feb5efc6261)
Signed-off-by: Cornel Stoicescu <corneliux.stoicescu@intel.com>
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>
Checks that an x86-64-x32 image has the right binaries.
(From OE-Core rev: da42e38b2bc4a606b717ac302cfc77aefb1a5795)
Signed-off-by: Alexandru Georgescu <alexandru.c.georgescu@intel.com>
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>
New systemd runtime tests for enable/disable service, start/stop service and list services.
(From OE-Core rev: 6386dc718f85210c9b6b9f69878ec9a7847b78de)
Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
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>
Add separate tests for restarting syslog and using logger, and
skip the configuration test for systemd images which always fail
because syslog's systemd service doesn't read a config by default
(see YB#4860).
(From OE-Core rev: c75f3e2385dde44ee96e33f4e5d064894dfb7d52)
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>
The way we read data from the serial console was unreliable and blocking (AutoBuilder
seems to hit that often), so change the serial console type from unix socket to tcp
and reverse the connection - don't let qemu act as server (wait for a connection).
So now the serial console is used to save the boot log and make sure that we reached
the login prompt. Until a better way is found this should solve some of the AutoBuilder
failures (one being YB#4904).
Also we need to use the same method as the old qemuimagetest to get the ip
(from the qemu process arguments), because that it's more reliable.
The first version used here was to log into the target and use the output of
"ip addr show eth0" but then systemd decides that it should rename interfaces,
so that was changed to get the ip of the interface that has the default gw,
but if there is no default gw we'll get the loopback ip and we end up trying to
ssh into the host machine (some recent AutoBuilder runs showed that).
Changed in V2:
- use -ww for ps, as output might get truncated
(From OE-Core rev: 55e78185110937b7e2b143cf1020426d8df58b72)
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>
If nothing matches we should print the text not
the match, else we get a nice traceback.
Changed in V2:
- commit message
(From OE-Core rev: 601738fee3e9b7909b63714ca725576c10eec1e3)
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>
Use our determined ps command, otherwise test fails for images with procps.
(From OE-Core rev: 18e4d014bea3a5748f42e6dac648fa9b02230344)
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>
Sync serial baud rate with default inittab which should
help with apparent boot fails. Also keep a console on tty1.
Also we shouldn't assume eth0 it the right interface.
(systemd images can rename interfaces to something else).
(From OE-Core rev: d5620c0b6782b88f3e6de97b1ddadcf21207fc57)
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>
One of the files was missing comment/header, unlike the others.
(From OE-Core rev: 054dba3b7b96349e1e20e3a58acd98bb68ab2536)
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>
Increase a bit the timeout for ssh commands and also
write in the output that the command timed out (it's
easier to see that in a test fail than checking the ssh log)
(From OE-Core rev: 652a1762c8adc3b8cb1c6db2ee4a5234a7436c8d)
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>
Adds missing skip for smart test and fix the check (which I somehow broke
a while ago).
(From OE-Core rev: cf1790d992f067be8d5f9894458f55f6f1bdc61f)
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>
Adds some comments to testimage.bbclass and the files it calls,
just to give an ideea of what it does.
(From OE-Core rev: 8bbb7116cf02466dfc59a17dc7bb51287aeea55b)
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>
Make a copy of the rootfs and test that.
We can now drop the snapshot option.
(From OE-Core rev: ba58f1fe8fb7a0e3ff9320dfc108235d484da6a1)
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>
Add tests for free space and syslog.
Changed in v2:
- limit df's output to /
- syslog: fix restart in case of systemd
(From OE-Core rev: 1b39d57e7b5c9b69d565cf4d188ebc2f14e66ae6)
Signed-off-by: Alexandru Palalau <alexandru.palalau@intel.com>
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>
Many tests will use 'ps' but we need to know if it's busybox
or standard ps.
Drop the existing check from the connman test.
(From OE-Core rev: 1515d33d2c5b7275a3ac20e07c1db1d8273de796)
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>
file was pulled by rpm in sato images, readelf comes with binutils
so it's in ipk/deb too.
Also the test was looking at connmand instead of connman-applet
(which is what the testcase says and the AB nightly-multilib target installs)
(From OE-Core rev: c2c47a002996b8dbcf9b311dff677202b1f11a64)
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>
On a loaded host (such as an AB setup where multiple builds run)
the 200 seconds timeout might not be enough to reach the login prompt.
Also make it configurable so we can set it from local.conf/auto.conf
(From OE-Core rev: e828571683333e6f18ed56a84e114b5e54975bc7)
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>
Don't use shlex.split in subprocess call and also prepend
. /etc/profile, because PATH over ssh is always
/usr/bin:/bin which isn't what many tests expect.
Changed in v2:
We now need to use a separate call for scp command.
(From OE-Core rev: 1988de2fad86e8e34070ed6573a7be09fff5c0a2)
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>
Messages such as:
"systemd-udevd[79]: error changing net interface name eth0 to enp0s3: Device or resource busy"
are harmless as systemd can't rename interfaces in qemu (the interface is already active).
Alternatively, passing net.ifnames=0 to the kernel will stop systemd renaming the interfaces.
(From OE-Core rev: c072fed6531f2ce3c687f8342a97f593ebf37653)
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>
gcc compile test and support files.
(From OE-Core rev: ccbce75335971abf5098a492755e92ca60cf67bd)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These are basic sanity tests. A test can be force run by setting
TEST_SUITES = "ping ssh <module-name>" in local.conf.
By default there are suites for minimal, sato and sato-sdk images.
(From OE-Core rev: dd3dc2804395f050df74fa936e65ce5e911442eb)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some skip decorators meant only for test methods, providing
some kind of test methods dependency.
They are used together with a test method name not a condition.
These are complementary to python's unittest skip decorators.
(From OE-Core rev: 79cb89648702aa80ec986e0026c62948de905b87)
Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Handles qemu instances (launch, kill, restart, serial connection, logging)
Launch is blocking until login prompt and returns to the task. A qemu
serial connection is used to save the boot log and get the ip from the image.
Changed runqemu script not to error out when using custom serial option.
(From OE-Core rev: ee7d64dfcc02ba8f568b17d181e0a58d3c810076)
Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Python's telnetlib Telnet class connects only to AF_INET sockets, but we
want to use Unix domain socket for the qemu serial connection, so that's
why we override it.
Also we add a new read_all_timeout method similar to Telnet's read_all,
that read until a match or timeout and logs all output.
(From OE-Core rev: 1cfec2f0a1a1ee84cc6b2b6ad890688da85c5e81)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Provides a class for setting up ssh connections,
running commands and copying files to/from a target.
(From OE-Core rev: 683cac9768e0d38fa15ddc5451e6b2333f184033)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This module contains the base class for all runtime tests
and some helper methods.
(From OE-Core rev: 7765c27705e90381975fb2b89ea2181287517761)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>